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

+ Share

单例

+ (BRTBeaconSDK *)Share

Discussion

单例

Declared In

BRTBeaconSDK.h

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

BRTBeaconManager

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