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 Point Access 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 Point Access 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 Point Access 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.

Custom Actions

If a Zone contains a Custom Action, 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 and Beacon 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 Custom Action in Point Access web interface, refer to Point Access – Setting custom data fields for how to create and edit custom data fields in Point Access 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