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.


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