BRTBeaconSDK Class Reference
Inherits from | NSObject |
---|---|
Declared in | BRTBeaconSDK.h |
Overview
- BRTBeaconSDK类定义了快捷操作BrightBeacon方法,如需自定义或使用回调方式,请直接使用~!@BRTBeaconManager@!
~!@BRTBeaconManager@!* - IOS8.0以后,至少需在plist配置普通定位权限描述:NSLocationWhenInUseUsageDescription *
- 如需最高权限,额外添加以下2个描述。
- IOS8.0~IOS9.0,更高权限需添加:NSLocationAlwaysUsageDescription
- IOS10.0以后,更高权限需添加:NSLocationAlwaysAndWhenInUseUsageDescription
- 使用[CLLocationManager authorizationStatus]获取定位状态
Other Methods
beacon快捷扫描BrightBeacon相关的方法
+ registerApp:onCompletion:
注册并验证开发者appKey,申请地址:http://open.brtbeacon.com
+ (void)registerApp:(NSString *)appKey onCompletion:(BRTCompletionBlock)completion
Parameters
appKey |
BrightBeacon AppKey |
---|---|
completion |
验证appKey有效性状态,用于设备连接 |
Discussion
注册并验证开发者appKey,申请地址:http://open.brtbeacon.com
Declared In
BRTBeaconSDK.h
+ setInvalidTime:
设置超时移除BrightBeacon时间,与硬件发射频率设置配合,默认3s未收到信号移除;
+ (void)setInvalidTime:(NSTimeInterval)invalidTime
Parameters
invalidTime |
beacon信号丢失移除间隔 |
---|
Discussion
设置超时移除BrightBeacon时间,与硬件发射频率设置配合,默认3s未收到信号移除;
Declared In
BRTBeaconSDK.h
+ setScanResponseTime:
调节扫描BrightBeacon返回调用频率,默认1s
+ (void)setScanResponseTime:(NSTimeInterval)scanResponseTime
Parameters
scanResponseTime |
block回调间隔 |
---|
Discussion
调节扫描BrightBeacon返回调用频率,默认1s
Declared In
BRTBeaconSDK.h
+ BRTBeaconManager
BrightBeacon管理类,控制Beacon扫描、蓝牙扫描、区域检测、本地消息提醒
+ (BRTBeaconManager *)BRTBeaconManager
Return Value
Discussion
BrightBeacon管理类,控制Beacon扫描、蓝牙扫描、区域检测、本地消息提醒
Declared In
BRTBeaconSDK.h
+ brtBeacons
BrightBeacon设备数组
+ (NSSet<BRTBeacon*> *)brtBeacons
Return Value
NSSet
Discussion
BrightBeacon设备数组
Declared In
BRTBeaconSDK.h
+ scanBleServices:onCompletion:
扫描BrightBeacon蓝牙设备(支持蓝牙连接读取参数,支持获取BrightBeacon额外参数,不需要定位权限,广播数据中无法获取设备UUID)
+ (void)scanBleServices:(NSArray<CBUUID*> *)services onCompletion:(ScanBlesCompletionBlock)completion
Parameters
services |
蓝牙广播服务特征,默认为nil,扫描所有服务,不支持后台扫描。(BrightBeacon包含@[[CBUUID UUIDWithString:@“180a”]] 特征) |
---|---|
completion |
蓝牙扫描回调(默认1秒/次) |
Discussion
扫描BrightBeacon蓝牙设备(支持蓝牙连接读取参数,支持获取BrightBeacon额外参数,不需要定位权限,广播数据中无法获取设备UUID)
Declared In
BRTBeaconSDK.h
+ stopScan
停止扫描BrightBeacon蓝牙设备
+ (void)stopScan
Discussion
停止扫描BrightBeacon蓝牙设备
Declared In
BRTBeaconSDK.h
+ startRangingBeaconsInRegions:onCompletion:
扫描iBeacon设备(需要定位权限,不支持蓝牙连接,仅能获取iBeacon参数:参见CLBeacon),IOS7以上,感知对应UUID的iBeacon设备
+ (void)startRangingBeaconsInRegions:(NSArray<BRTBeaconRegion*> *)regions onCompletion:(RangingiBeaconsCompletionBlock)completion
Parameters
regions |
区域数组 |
---|---|
completion |
iBeacon扫描回调(1秒/次) |
Discussion
扫描iBeacon设备(需要定位权限,不支持蓝牙连接,仅能获取iBeacon参数:参见CLBeacon),IOS7以上,感知对应UUID的iBeacon设备
Declared In
BRTBeaconSDK.h
+ stopRangingBeacons
停止扫描iBeacon设备
+ (void)stopRangingBeacons
Discussion
停止扫描iBeacon设备
Declared In
BRTBeaconSDK.h
+ regionHander:
用于初始化接收后台区域监听回调类,此函数以及handler实体类都必须是与AppDelegate随同启动,否则无法接收到后台beacon推送
+ (void)regionHander:(id<BRTBeaconRegionDelegate>)handler
Parameters
handler |
用于接收后台区域监听回调函数的类。传入的handler类用作接收回调(该类务必随程序的启动即初始化,否则无法接收到回调,默认handler为AppDelegate) |
---|
Discussion
用于初始化接收后台区域监听回调类,此函数以及handler实体类都必须是与AppDelegate随同启动,否则无法接收到后台beacon推送
以下是在后台监听区域的回调函数,请拷贝需要的回调到AppDelegate或对应的handler类
监听失败回调
-(void)beaconManager:(BRTBeaconManager )manager monitoringDidFailForRegion:(BRTBeaconRegion )region withError:(NSError )error;
进入区域回调
-(void)beaconManager:(BRTBeaconManager )manager didEnterRegion:(BRTBeaconRegion )region;
离开区域回调
-(void)beaconManager:(BRTBeaconManager )manager didExitRegion:(BRTBeaconRegion )region;
锁屏区域检测、requestStateForRegions回调
-(void)beaconManager:(BRTBeaconManager )manager didDetermineState:(CLRegionState)state forRegion:(BRTBeaconRegion )region;
模拟iBeacon回调
- (void)peripheralManagerDidStartAdvertising:(CBPeripheralManager )peripheral error:(NSError *)error;
Declared In
BRTBeaconSDK.h
+ isMonitoring:
请求监听状态,仅支持IOS7以上,IOS6始终返回nil
+ (NSDictionary *)isMonitoring:(NSDictionary *)dict
Parameters
dict |
需要请求的区域标识,uuid必须传人,major或minor按实际情况选传 示例:{uuid:…,major:@0} |
---|
Return Value
区域监听状态 nil为无监听 示例:{in:@YES,out:@NO,display:@YES}
Discussion
请求监听状态,仅支持IOS7以上,IOS6始终返回nil
Declared In
BRTBeaconSDK.h
+ startMonitoringForRegions:
开启区域监听要求IOS7以上系统; 如果需要程序退出后持续监听,需要提醒用户打开位置权限->始终;并需在AppDelegate启动时调用{@link regionHandler:} IOS8另需请求允许后台定位,requestAlwaysAuthorization 检查状态:CLLocationManager.authorizationStatus==kCLAuthorizationStatusAuthorizedAlways. 注:SDK默认只请求一直定位,可以通过BRTBeaconDefinitions.h中isLocationAlways来配置
+ (void)startMonitoringForRegions:(NSArray *)regions
Parameters
regions |
@[region1,region2] |
---|
Discussion
开启区域监听要求IOS7以上系统; 如果需要程序退出后持续监听,需要提醒用户打开位置权限->始终;并需在AppDelegate启动时调用{@link regionHandler:} IOS8另需请求允许后台定位,requestAlwaysAuthorization 检查状态:CLLocationManager.authorizationStatus==kCLAuthorizationStatusAuthorizedAlways. 注:SDK默认只请求一直定位,可以通过BRTBeaconDefinitions.h中isLocationAlways来配置
状态会默认回调到appDelegate中(或自定义的handler中{@link regionHandler:}):
-(void)beaconManager:(BRTBeaconManager )manager didEnterRegion:(BRTBeaconRegion )region;
-(void)beaconManager:(BRTBeaconManager )manager didExitRegion:(BRTBeaconRegion )region;
-(void)beaconManager:(BRTBeaconManager )manager didDetermineState:(CLRegionState)state forRegion:(BRTBeaconRegion )region;
Declared In
BRTBeaconSDK.h
+ requestStateForRegions:
立即查询是否位于指定区域;状态会回调到appDelegate中:
+ (void)requestStateForRegions:(NSArray *)regions
Parameters
regions |
@[region1,region2] |
---|
Discussion
立即查询是否位于指定区域;状态会回调到appDelegate中:
-(void)beaconManager:(BRTBeaconManager )manager didDetermineState:(CLRegionState)state forRegion:(BRTBeaconRegion )region;
Declared In
BRTBeaconSDK.h
+ stopMonitoringForRegions:
停止扫描、监测,if(regions==nil)停止所有当前监听区域
+ (void)stopMonitoringForRegions:(NSArray *)regions
Parameters
regions |
@[region1,region2] |
---|
Discussion
停止扫描、监测,if(regions==nil)停止所有当前监听区域
Declared In
BRTBeaconSDK.h