iOS Features – Fence triggering
Point SDK supports the triggering of actions by entering a pre-defined geographical area (Geofence) or crossing a GEOLINE™. When a Geofence or GEOLINE™ is triggered, a check-in notification is sent to Canvas mobile backend and the actions pertaining to the Zone containing the Geofence or GEOLINE™ are executed; the Zone is then disabled for the duration of its configurable Minimum Retrigger Time (MRT).
Location Services must be enabled on the device for Geofences or GEOLINE™ to be detected. If Point SDK is authenticated with a Project from Canvas and Location Services not enabled or not in a valid state, the SDK provides the following callbacks in the BDPLocationDelegate protocol:
If Point SDK is authenticated with a Project from Canvas and Location Services not enabled or set to an invalid status, such as “Never” or “While Using”, this method will be called to notify the app that the user needs to enable Location Services or set it to a valid status.
Following on from a callback to the method above, if Point SDK logs out from the authenticated state, then this method is called.
Zone Triggering Callbacks
If a Zone triggered, then the following method within an implementation of BDPLocationDelegate will be called:
This method passes back:
- The name, description, and geometry of the triggered fence or GEOLINE™.
- Which Zone the fence belongs to, including:
- the name and description of the Zone.
- the id of the Zone.
- a reference to all the Fence information within that Zone.
- Relevant information of the actual location at which the trigger occurred, including:
- the date and time at which the trigger occurred.
- the actual latitude and longitude of the location.
- the bearing of the location in degrees true North.
- the speed of the location in m/s.
- whether the Fence will trigger the following check-out; refer to iOS Features – check-out for more information on check-out functionality.
- the custom fields configured for the Zone in Canvas web interface, refer to Canvas – What is custom data? for how to create and edit custom data fields in Canvas web interface.
If the willCheckOut flag was received true above, then a subsequent check out callback will also be made, when the device leaves the checked-in area:
The documentation section on the check-out feature discusses this behavior in detail.