Why am I not getting the exit (check-out) callback when I leave a Zone?
There are a few reasons why the SDK may be failing to trigger the exit event or betaking longer to execute the exit callback(onCheckOutFromFence in Android and didCheckOutFromFence in iOS).
When Exit is not triggering at all
Verify the Zone is enabled for Exit events: Make sure the Zone has activated the option to trigger checkouts events. You can do this either in Canvas or Config API.
In Canvas, go to the Zone Settings and make sure the Exit is ticked.
When creating or updating a Zone with ConfigAPI make sure the property triggerOnExit is set to true.
When Exit callback is delayed
Distance from the Fence: The devices needs to be a few hundred meters away from the Fence for the SDK to trigger the exit callback. The SDK needs multiple locations updates to make sure that the user has left the Fence.
Background or Foreground mode: It’s expected that the SDK will trigger faster exit callback when the application is in the foreground. The SDK will receive more frequent location updates from the device when the application is in the foreground than when it’s in the background.
Manufacturer: In the case of Android, manufacturers can modify the rules for an application to have access to the device’s location. We’ve experienced that in the case of Chinese manufacturers (such as Huawei, OnePlus, Oppo, Xiaomi or Vevo) the location access is more restricted compared to other brands causing delays in the Exit events.