iOS Features – Enable or Disable Zone

Disabling specific Zones at runtime

An app may optionally disable (and later re-enable) Zone which it receives from Point Access.

By calling setZone:disableByApplication: on the shared instance of BDLocationManager, a Zone can be disabled and re-enabled by an app. Note that this will not over-ride any excluding conditions entered via the Point Access web interface.

As an example; if you define a Zone in Point Access as active between 1pm and 3pm, calls to setZone:disableByApplication: would have no apparent effect outside these times. During the Zone’s active period (e.g. at 2.30pm), the Zone will be active unless disabled by setZone:disableByApplication:.

The enable and disable Zone methods return YES if a valid Zone Id has been provided.

Retrieve the shared instance of BDLocationManager to call the following methods:

- (void)setZone: (NSString *)zoneId disableByApplication:(BOOL)disable
- (BOOL)isZoneDisabledByApplication: (NSString *)zoneId

To determine the “Zones” available to your app, you should assign a location delegate (an object implementing BDPLocationDelegate) to BDLocationManager, which handles the callback:

- (void)didUpdateZoneInfo: (NSSet *)zoneInfos

Zone information will first be updated immediately after successful authentication and again whenever:

  1. Your app’s rule download interval has passed.
  2. Significant distance has been covered (the actual distance depends upon the number of Geofences in your application).

The zoneInfos parameter contains a set of all available Zone and their associated Ids, names, descriptions and Geofences.

Point SDK reference documentation can be accessed here.

image

Interaction with the Check Out feature

Note that if a Zone has already ‘Checked In’ and is awaiting a ‘Check Out’ event, then disabling the Zone at this point will not prevent the check out callback from occurring.

If it is important to suppress Check Out behaviours while a Zone is disabled by your application, we advise that you make use of the isZoneDisabledByApplication: method as part of your Check Out callback.

Created by Bluedot DevOps on July 11, 2018

Start the discussion