Prerequisites
To use location triggered (Geofence) push, your app must request the following:
- ACCESS_FINE_LOCATION
- ACCESS_BACKGROUND_LOCATION if your app targets Android 10 (API level 29) or later.
| info |
Note For location triggered push to work, ensure your Application has the following enabled: Location permission, Play Services location library, and device's location. |
For more information, refer to Android Request Geofences.
SDK Installation
Installing using BOM
Integration using BOM is the recommended way of integration; refer to the Install Using BOM document. Once you have configured the BOM add the dependency in the app/build.gradle file as shown below
dependencies {
...
implementation("com.moengage:geofence")
}Once the BOM is configured, include the specific MoEngage modules required for the application.
Note: Version numbers are not required for these dependencies; the BOM automatically manages them.
Configure Geofence
By default, the geofence feature is not enabled. To enable the feature, call the below API.
MoEGeofenceHelper.getInstance().startGeofenceMonitoring(context)
MoEGeofenceHelper.getInstance().startGeofenceMonitoring(context);
At any time if you want to stop the geofence monitoring or feature, use the below API. This API will remove the existing geofences.
MoEGeofenceHelper.getInstance().stopGeofenceMonitoring(context)
MoEGeofenceHelper.getInstance().stopGeofenceMonitoring(context);
Callback
MoEngage SDK optionally notifies the application whenever a Geo-Fence is triggered. If required, the application can consume the trigger and ask the SDK not to process it. Alternatively, the application can just use the callback for logging/analytical purposes and let MoEngage process the trigger.
For more information about implementing callback in the application using OnGeofenceHitListener
Register the listener in the Application class onCreate() using MoEGeofenceHelper.getInstance().addListener().