Skip to main content

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.
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)
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)

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().