On iOS, the OS only allows 20 regions to be monitored per app simultaneously. Localytics will manage all 20 by default, which guarantees the SDK can trigger all nearby geofences as the user moves around.
For customers that want to run their own geofencing or beacon logic independently of Localytics, but still want to use Localytics automatic geofence management, you can configure Localytics to use fewer geofences than the default.
This is usually only necessary if self-managing on iOS; on Android the SDK only uses 20 geofences even though Google Play Services allows up to 100. To do this, you need to pass a configuration option of
max_monitoring_regions to the SDK before Places initialization.
HashMap<String, Object> options = new HashMap<>; options.put("max_monitoring_regions", 10); Localytics.setOptions(options);
In your non-Localytics geofencing code, you'll also need to be sure that the total of your custom geofences + the Localytics managed ones stays under 20 on iOS and 100 on Android.