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

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 Canvas web interface.

As an example; if you define a Zone in Canvas as active between 1 pm and 3 pm, calls to setZone:disableByApplication: would have no apparent effect outside these times. During the Zone’s active period (e.g. at 2.30 pm), 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 Daniel Toro on June 22, 2020

Start the discussion