Location Triggered

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.
 

NOTE

For location triggered push to work, ensure your Application has:

  • location permission
  • Play Services Location Library

For more information, refer to Android Request Geofences.

SDK Installation

Add the below dependency in the app/build.gradle file.

Groovy
implementation("com.moengage:geofence:$sdkVersion")

replace $sdkVersion with the relevant SDK version.

We recommend integrating the MoEngage Dependency Catalog to easier dependency management. Refer to the documentation to know more.

 

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

Add the Geofence configuration to the MoEngage.Builder while initializing the SDK using the configureGeofence().

Kotlin Java
val moEngage = MoEngage.Builder(this, "XXXXXXXX")
        .configureGeofence(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 Push Templates
11.4.00 and above

1.2.00 and above

11.2.00 - 11.3.01

1.1.00

11.0.02 - 11.1.00

1.0.00 - 1.0.02

Was this article helpful?
0 out of 0 found this helpful