Geofence triggering is affected heavily by mobile device configuration. Each device depends on the connectivity status, location status and permissions granted to the MOCA SDK.
General troubleshooting steps on every device:
- Check that there is reliable network connectivity inside your geofence.
- Try connecting to www.mocaplatform.com to check connectivity.
- Check that mobile data is turned on.
- Try connecting to www.mocaplatform.com to check connectivity.
- Check that Wi-Fi data is turned on.
- This changes the Geofence triggering drastically as is used for triangulation.
- Check that Location is turned on.
- If the app doesn't have location services running no location can be gathered.
- Check that the SDK has had a chance to download the updated MOCA data.
- If no communication with the MOCA server is available since settings on the console or API are changed, the SDK will be working with older data. Kill and reopen the app to force download of latest data.
- Check that the location permission for the MOCA SDK is enabled.
- Even if the device has the location enabled, the app can have the permission denied or When In Use. Permissions for Android need to be requested by developer, and iOS will prompt for degrees of usage. Always is the recommended setting for the SDK.
- Check that the notification permission for the MOCA app is enabled.
- If no notifications can be invoked, devices will not get any local or remote push notifications.
Operating system dependant configurations:
On iOS:
- The MOCA app requires location as "always", to control the "background App refresh" and usage of Mobile data:
- Even if the App has all the permissions granted, the master switch of Background App refresh must be active for the App:
- "Background app refresh" has to be enabled within the app config itself. If not the app will not trigger actions unless it's in foreground.
On Android:
- Permissions have to be requested by developer and granted by the user to the App.
- Location has to be set to "Balanced" or "High Accuracy". On "Device Only" Geofences are not triggered.
Using Cordova / Ionic:
- Due to the nature of the technology, the application logic is within a webview. This webview isn't instantiated by default when a geofence is triggered, hence this causes the SDK to miss the events if not in foreground. This is a limitation of hybrid apps.
Comments
0 comments
Article is closed for comments.