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.
NOTEFor location triggered push to work, ensure your Application has:
|
For more information, refer to Android Request Geofences.
SDK Installation
Add the below dependency in the app/build.gradle file.
implementation("com.moengage:geofence:1.2.2")
We recommend integrating the MoEngage Dependency Catalog to easier dependency management. Refer to the documentation to know more.
VERSION COMPATIBILITYThe 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
Add the Geofence configuration to the MoEngage.Builder while initializing the SDK using the configureGeofence().
val moEngage = MoEngage.Builder(this, "XXXXXXXX")
.configureGeofence(GeofenceConfig(isGeofenceEnabled, isBackgroundSyncEnabled))
.build()
MoEngage.initialise(moEngage)
MoEngage moEngage = new MoEngage.Builder(this, "XXXXXXXXXXX")
.configureGeofence(new GeofenceConfig(isGeofenceEnabled, isBackgroundSyncEnabled))
.build();
MoEngage.initialise(moEngage);
Geofence Hit 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, refer to API Reference.
Register the listener in the Application class`onCreate()` using MoEGeofenceHelper.getInstance().addListener().
Version Compatibility
Core SDK Version | Geofence |
---|---|
11.4.02 - 11.6.01 |
1.2.00 - 1.2.2 |
11.2.00 - 11.3.01 |
1.1.00 |
11.0.02 - 11.1.00 |
1.0.00 - 1.0.02 |