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 Catalog
Integration using a Version Catalog is the recommended way of integration; refer to the Configure Version Catalog document to configure a catalog if not done already. Once you have configured the catalog add the dependency in the app/build.gradle file, as shown below
dependencies {
...
implementation(moengage.geofence)
}
Alternatively, you can add the dependency directly, as shown below.
Installing using Artifact Id
Add the following dependency in the app/build.gradle file.
dependencies {
...
implementation("com.moengage:geofence:$sdkVersion")
}
replace $sdkVersion with the appropriate SDK version
info |
Version Compatibility The geofence artifact should be compatible with the moe-android-sdk artifact you have already added. Ensure you check the version compatibility using the following table and pick the right version for your application. |
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().
Version Compatibility
Core SDK Version | Geofence Version |
---|---|
12.5.05 and above | 3.0.0 and above |
12.0.00 - 12.5.04 | 2.0.0 -2.2.0 |