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).

Requirements

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:

- (void)didStartRequiringUserInterventionForLocationServicesAuthorizationStatus:authorizationStatus

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.

- (void)didStopRequiringUserInterventionForLocationServicesAuthorizationStatus:authorizationStatus

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:

- (void)didCheckIntoFence:inZone:atLocation:willCheckOut:withCustomData:

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:

- (void)didCheckOutFromFence:inZone:onDate:withDuration:withCustomData:

The documentation section on the check-out feature discusses this behavior in detail.

Created by Bluedot DevOps on June 19, 2018

Start the discussion