ESTMonitoringManager
Deprecated
Use ESTMonitoringV2Manager instead.
@interface ESTMonitoringManager : NSObject
ESTMonitoringManager handles monitoring Location Beacons on top of Estimote Location packet.
In order to monitor multiple devices a separate instance of Monitoring Manager should be created for each monitored device.
Estimote Monitoring uses Core Bluetooth and Core Location frameworks underneath.
To make it work when the app is in background, make sure following entries
are present in Info.plist
file:
bluetooth-central
NSBluetoothPeripheralUsageDescription
NSLocationAlwaysUsageDescription
-
Delegate object that monitoring callbacks will be sent to.
Declaration
Objective-C
@property (nonatomic, weak, readwrite) id<ESTMonitoringManagerDelegate> _Nullable delegate;
Swift
weak var delegate: ESTMonitoringManagerDelegate? { get set }
-
Starts reporting monitoring events for device broadcasting Estimote Location packet with given identifier. Fetches monitoring parameters from Estimote Cloud, uses them to provide best monitoring experience, calls
monitoringManagerdidStart
and starts reporting monitoring events.If the fetch failed, starts reporting monitoring events using default parameters.
Requests Core Location’s Always Usage authorization.
Forgets previously monitored identifier if called multiple times on the same Monitoring Manager object.
Declaration
Objective-C
- (void)startMonitoringForIdentifier:(nonnull NSString *)identifier inProximity:(ESTMonitoringProximity)proximity;
Swift
func startMonitoring(forIdentifier identifier: String, in proximity: ESTMonitoringProximity)
Parameters
identifier
Estimote Location public id. Equal to device identifier in Estimote Cloud.
proximity
Crossing monitoring proximity boundary causes monitoring events to happen. This is the proximity to be monitored.
-
Start reporting monitoring events for device broadcasting Estimote Location packet with given identifier. Uses default monitoring parameters.
Forgets previously monitored identifier if called multiple times on the same Monitoring Manager object.
Declaration
Objective-C
- (void)startDefaultMonitoringForIdentifier:(nonnull NSString *)identifier;
Swift
func startDefaultMonitoring(forIdentifier identifier: String)
Parameters
identifier
Estimote Location public id. Equal to device identifier in Estimote Cloud.
-
Stop reporting monitoring events.
Declaration
Objective-C
- (void)stopMonitoring;
Swift
func stopMonitoring()
-
Increase monitoring responsiveness in background (experimental). Can cause increase in battery usage.
Declaration
Objective-C
- (void)startTurboMode;
Swift
func startTurboMode()
-
Stop increasing responsiveness in background. Battery performance returns to normal.
Declaration
Objective-C
- (void)stopTurboMode;
Swift
func stopTurboMode()