Classes
The following classes are available globally.
-
Entry-point for your Application’s interaction with Point SDK.
Point SDK carries out location specific, conditional actions that you define in the Canvas web-interface. To start these behaviours with your Application, it is necessary only to call the initialize method on the
BDLocationManager.instance
“shared singleton instance” ofBDLocationManager
.Calling the initialization method will start a session with Canvas..
In general, the
BDLocationManager.instance
“shared, singleton instance” ofBDLocationManager
should be used wherever the standard Core Location CLLocationManager class would have been used.BDLocationManager
is a subclass of CLLocationManager and is intended as a drop-in replacement while providing additional features.BDLocationManager
exposes a few new delegate properties, in addition to the usual delegate property inherited from CLLocationManager:BDLocationManager.geoTriggeringEventDelegate
- to which you should assign your own implementation of theBDPGeoTriggeringEventDelegate
protocol. The property provides callbacks to notify your application when Zone information is received and any zone enter/ zone exit events as they occur, in real-time.BDLocationManager.tempoTrackingDelegate
- to which you should assign your own implementation of theBDPTempoTrackingDelegate
protocol. This property provides callbacks to notify your application of Tempo related events.BDLocationManager.bluedotServiceDelegate
- to which you should assign your own implementation of theBDPBluedotServiceDelegate
protocol to receive Bluedot service related callbacks (for e.g. location permission changed, accuracy authorization changed, etc.).
By default,
BDLocationManager
disables background location updates for While Using location permission, which will not display the visual blue bar in the StatusBar area at the top of the screen and the Point SDK will not process location updates when app is in the background and permission is While Using. If you prefer to enable that behavior when app is in the background and permission is While Using, setBDLocationManager.backgroundLocationAccessForWhileUsing
totrue
.In addition, some methods of Point SDK classes may only be called while initialized and will otherwise cause an exception to be thrown. Individual restrictions are documented clearly in this API reference. It is only necessary to initialize once during the runtime of the application.
See moreDeclaration
Objective-C
@interface BDLocationManager : CLLocationManager
Swift
class BDLocationManager : CLLocationManager
-
A rectangular coordinate region on the Earth’s surface, defined by two latitude / longitude corner
See moreBDPoint
“points”.Declaration
Objective-C
@interface BDBoundingBox : BDGeometry <NSCopying, BDPValidatable, NSSecureCoding>
Swift
class BDBoundingBox : BDGeometry, NSCopying, BDPValidatable, NSSecureCoding
-
A circular region on the Earth’s surface, defined by a center
See moreBDPoint
“point” and a radius, in meters.Declaration
Objective-C
@interface BDCircle : BDGeometry <NSSecureCoding>
Swift
class BDCircle : BDGeometry, NSSecureCoding
-
Information about a geofence, as defined in Canvas.
See moreDeclaration
Objective-C
@interface BDFenceInfo : NSObject <BDPSpatialObjectInfo, NSSecureCoding>
Swift
class BDFenceInfo : NSObject, BDPSpatialObjectInfo, NSSecureCoding
-
Base class for all geometries.
Concrete geometries include
BDPoint
“points”,BDBoundingBox
“boxes”,BDCircle
“circles”,BDLineString
“line-strings” andBDPolygon
“polygons”. A BDGeometry “geometry”, in this context, represents an area on the surface of the Earth, expressed in latitude and longitude coordinates.Declaration
Objective-C
@interface BDGeometry : NSObject <BDPGeometry, BDPJSONSerializable, BDPJSONDeserializable>
Swift
class BDGeometry : NSObject, BDPGeometry, BDPJSONSerializable, BDPJSONDeserializable
-
Open-ended geometry consisting of two or more
BDPoint
“points” connected by straight-line segments.Unlike a
See moreBDPolygon
“polygon” this geometry is open-ended and has no area. When used as aBDFence
“fence” geometry,BDLineString
is typically used to represent a geographic boundary or check-point along a road or other travel path.Declaration
Objective-C
@interface BDLineString : BDPolygonal <NSSecureCoding>
Swift
class BDLineString : BDPolygonal, NSSecureCoding
-
Represents a recorded, geographic location; combining a geographic
See moreBDPointSDK
“point” with an altitude, as well as a known accuracy in metres.Declaration
Objective-C
@interface BDLocation : NSObject <BDPDeepCopy>
Swift
class BDLocation : NSObject, BDPDeepCopy
-
Information about a location update.
See moreDeclaration
Objective-C
@interface BDLocationInfo : NSObject
Swift
class BDLocationInfo : NSObject
-
A geographic point expressed in latitude and longitude coordinates.
See moreDeclaration
Objective-C
@interface BDPoint : BDGeometry <NSCopying, NSSecureCoding>
Swift
class BDPoint : BDGeometry, NSCopying, NSSecureCoding
-
Thrown when the Point SDK session life-cycle or initialization state has been violated.
See moreDeclaration
Objective-C
@interface BDPointSessionException : NSException
Swift
class BDPointSessionException : NSException
-
Arbitrary region on the Earth’s surface, comprised of two or more
BDPoint
“points” connected by straight-line segments.Unlike a
See moreBDLineString
“line-string” this geometry forms an enclosed area.Declaration
Objective-C
@interface BDPolygon : BDPolygonal <NSSecureCoding>
Swift
class BDPolygon : BDPolygonal, NSSecureCoding
-
Base-class for
BDGeometry
“geometries” defined by an ordered series ofBDPoint
“points”.BDPolygonal
is an abstract type and cannot be instantiated directly.Instead, instantiate one of its concrete sub-classes.
See
details inBDPolygon
See
details inBDLineString
-
Contains information about a Zone, including the set of
BDFenceInfo
“fences” that comprise it.A set of
See moreBDZoneInfo
objects will be delivered to your application’sBDPLocationDelegate
at the time of their download from the Bluedot Point web-service.Declaration
Objective-C
@interface BDZoneInfo : NSObject
Swift
class BDZoneInfo : NSObject
-
An event triggered by GeoTriggering service when a trigger (zone entry or exit) happens.
This event is being sent to application via
See moreBDPGeoTriggeringEventDelegate.didEnterZone(_:)
andBDPGeoTriggeringEventDelegate.didExitZone(_:)
.Declaration
-
A CrossedFence records details when a Fence is crossed. Useful to determine and inspect the list of crossed fences when a Travel Path condition is used.
See moreDeclaration
-
A FenceEntered event is triggered when Zone entry conditions are met and an Entry trigger is to be registered in Canvas
See moreDeclaration
-
A FenceExited event is triggered when the device leaves a zone and an Exit trigger is to be registered in Canvas
See moreDeclaration
-
Detail of the
See moreTempoUpdate
event being reported to main application via callbackBDPTempoTrackingDelegate/tempoTrackingDidUpdate(_:)
Includes details of the destination and ETA informationDeclaration
Swift
@objc public class TempoTrackingUpdate : NSObject, Decodable
extension TempoTrackingUpdate: JsonString
-
A Destination is a physical location your customers arrive at to collect their mobile order – this is usually your store or restaurant. Also known as Stores within Canvas
See moreDeclaration
-
Details of the current application
See moreDeclaration
-
Details about current state of the application
See moreDeclaration
-
Details about the current device
See moreDeclaration
-
OS related details
See moreDeclaration
Swift
@objcMembers public class OperatingSystemInfo : NSObject, Codable
-
Details of a Zone. See its usage in
See moreGeoTriggerEvent
.Declaration