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” of BDLocationManager.

    Calling the initialization method will start a session with Canvas..

    In general, the BDLocationManager.instance “shared, singleton instance” of BDLocationManager 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:

    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, set BDLocationManager.backgroundLocationAccessForWhileUsing to true.

    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 more

    Declaration

    Objective-C

    @interface BDLocationManager : CLLocationManager

    Swift

    class BDLocationManager : CLLocationManager
  • A rectangular coordinate region on the Earth’s surface, defined by two latitude / longitude corner BDPoint “points”.

    See more

    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 BDPoint “point” and a radius, in meters.

    See more

    Declaration

    Objective-C

    @interface BDCircle : BDGeometry <NSSecureCoding>

    Swift

    class BDCircle : BDGeometry, NSSecureCoding
  • Information about a geofence, as defined in Canvas.

    See more

    Declaration

    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” and BDPolygon “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 BDPolygon “polygon” this geometry is open-ended and has no area. When used as a BDFence “fence” geometry, BDLineString is typically used to represent a geographic boundary or check-point along a road or other travel path.

    See more

    Declaration

    Objective-C

    @interface BDLineString : BDPolygonal <NSSecureCoding>

    Swift

    class BDLineString : BDPolygonal, NSSecureCoding
  • Represents a recorded, geographic location; combining a geographic BDPointSDK “point” with an altitude, as well as a known accuracy in metres.

    See more

    Declaration

    Objective-C

    @interface BDLocation : NSObject <BDPDeepCopy>

    Swift

    class BDLocation : NSObject, BDPDeepCopy
  • Information about a location update.

    See more

    Declaration

    Objective-C

    @interface BDLocationInfo : NSObject

    Swift

    class BDLocationInfo : NSObject
  • A geographic point expressed in latitude and longitude coordinates.

    See more

    Declaration

    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 more

    Declaration

    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 BDLineString “line-string” this geometry forms an enclosed area.

    See more

    Declaration

    Objective-C

    @interface BDPolygon : BDPolygonal <NSSecureCoding>

    Swift

    class BDPolygon : BDPolygonal, NSSecureCoding
  • Base-class for BDGeometry “geometries” defined by an ordered series of BDPoint “points”.

    BDPolygonal is an abstract type and cannot be instantiated directly.

    Instead, instantiate one of its concrete sub-classes.

    See

    details in BDPolygon

    See

    details in BDLineString
    See more

    Declaration

    Objective-C

    @interface BDPolygonal : BDGeometry

    Swift

    class BDPolygonal : BDGeometry
  • Contains information about a Zone, including the set of BDFenceInfo “fences” that comprise it.

    A set of BDZoneInfo objects will be delivered to your application’s BDPLocationDelegate at the time of their download from the Bluedot Point web-service.

    See more

    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 BDPGeoTriggeringEventDelegate.didEnterZone(_:) and BDPGeoTriggeringEventDelegate.didExitZone(_:).

    See more

    Declaration

    Swift

    @objc
    public class GeoTriggerEvent : NSObject
    extension GeoTriggerEvent: JsonString
  • 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 more

    Declaration

    Swift

    @objcMembers
    public class CrossedFence : NSObject, Codable
    extension CrossedFence: JsonString
  • A FenceEntered event is triggered when Zone entry conditions are met and an Entry trigger is to be registered in Canvas

    See more

    Declaration

    Swift

    @objcMembers
    public class FenceEntered : NSObject
    extension FenceEntered: JsonString
  • A FenceExited event is triggered when the device leaves a zone and an Exit trigger is to be registered in Canvas

    See more

    Declaration

    Swift

    @objcMembers
    public class FenceExited : NSObject
    extension FenceExited: JsonString
  • Detail of the TempoUpdate event being reported to main application via callback BDPTempoTrackingDelegate/tempoTrackingDidUpdate(_:) Includes details of the destination and ETA information

    See more

    Declaration

    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 more

    Declaration

    Swift

    @objc
    public class Destination : NSObject, Decodable
    extension Destination: JsonString
  • Details of the current application

    See more

    Declaration

    Swift

    @objcMembers
    public class AppInfo : NSObject
    extension AppInfo: JsonString
  • Details about current state of the application

    See more

    Declaration

    Swift

    @objcMembers
    public class AppState : NSObject
    extension AppState: JsonString
  • Details about the current device

    See more

    Declaration

    Swift

    @objcMembers
    public class DeviceInfo : NSObject
    extension DeviceInfo: JsonString
  • OS related details

    See more

    Declaration

    Swift

    @objcMembers
    public class OperatingSystemInfo : NSObject, Codable
  • Details of a Zone. See its usage in GeoTriggerEvent.

    See more

    Declaration

    Swift

    @objcMembers
    public class ZoneInfo : NSObject
    extension ZoneInfo: JsonString