React Native Geofence & Location

Netmera SDK does not gather any location information from the device:

By default, Netmera SDK does not gather any location information from the device. If you want to use Netmera features requiring location information such as geofence messages and filtering target users by location, you must enable location tracking for your application.

For using location to target your users, you should enable Location History from the web panel. In order to do that, follow these steps:

Developers -> App Info -> App Config -> Location History Enabled

Step 1. Request Location Authorization

Request permission for location from user by calling the following method in an appropriate place:

// Request location authorization
Netmera.requestPermissionsForLocation()

For Android

First of all, you should add following dependency your gradle file's dependency section:

dependencies {
  compile 'com.google.android.gms:play-services-location:PUT_LATEST_VERSION_HERE'
}

Add Permissions

Secondly, add following two location permissions to your AndroidManifest file.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

For iOS

1. Enable Location Tracking for Your Application

Add appropriate authorization strings to your application target's Info.plist file

  • If your application will use geofence messages, you must set NSLocationAlwaysUsageDescription key and add a proper description explaining why your app will use region monitoring.

    • In this case, SDK will monitor region enter/exit actions for geofence regions configured inside Netmera Dashboard.

  • If your application only needs occasional location history information, you can set NSLocationWhenInUseUsageDescription key and add a proper description.

    • In this case, SDK will send the most recent location only once per session.

2. Request Location Authorization

Request permission for location from user by calling the following method,

Netmera.requestPermissionsForLocation(); 

Calling this method will immediately prompt location permission dialog:

Calling this method will immediately prompt location permission dialog to user, therefore it's important for you to call this method after you informed user about how your application will utilize location.

Setting max regions for geofence:

You can set max regions for Geofence with setNetmeraMaxActiveRegions method. If you set max active regions' number greater than 20 or smaller than 0, it will be set as the default which is 20.

Last updated