LKIoTMobileGateway Class Reference

Inherits from NSObject
Declared in LKMobileGateway.h

+ sharedGateway

单例

+ (instancetype)sharedGateway

Discussion

单例

Declared In

LKMobileGateway.h

– startConnect:connectListener:

移动设备网关长连接通道启动接口,应用起来时调用一次.

- (void)startConnect:(LKMgwConnectConfig *)config connectListener:(id<LKMgwConnectListener>)listener

Parameters

config

建立长联通道的配置信息,参见 LKMgwConnectConfig

listener

反馈通道状态变化

Discussion

移动设备网关长连接通道启动接口,应用起来时调用一次.

Declared In

LKMobileGateway.h

– startConnectWithId:connectListener:

移动端设备网关初始化通道。在应用的其他模块已经初始化长连通道的情况下 可以调用此接口初始化移动端设备网关

- (void)startConnectWithId:(NSString *)clientId connectListener:(id<LKMgwConnectListener>)listener

Parameters

clientId

通道 id, 通过 [[LKAppExpress sharedInstance] getClientId] 可获取到

listener

反馈通道状态变化

Discussion

移动端设备网关初始化通道。在应用的其他模块已经初始化长连通道的情况下 可以调用此接口初始化移动端设备网关

Declared In

LKMobileGateway.h

– setupGatewayLine:complete:

生成对应子设备的数据上行通路

- (void)setupGatewayLine:(id<LKIoTSubdeviceConn>)connection complete:(nullable LKMgwLineInitResult)completeCallback

Discussion

生成对应子设备的数据上行通路

Declared In

LKMobileGateway.h

– getGatewayLine:dn:

拿到移动设备网关中已存在的子设备上行通路

- (LKIoTGatewayLine *)getGatewayLine:(NSString *)productKey dn:(NSString *)deviceName

Parameters

productKey

子设备 productKey

deviceName

子设备 deviceName

Return Value

返回虚拟线路实例

Discussion

拿到移动设备网关中已存在的子设备上行通路

Declared In

LKMobileGateway.h

– invokeWithTopic:method:params:respHandler:

移动设备网关的rpc请求接口,封装了业务的上行 request 以及下行 response。

- (void)invokeWithTopic:(NSString *)topic method:(nullable NSString *)method params:(NSDictionary *)params respHandler:(LKMgwExpResponseHandler)responseHandler

Parameters

topic

rpc 请求的 topic,由具体业务确定,上行的完整 topic 形如: /ext/session/${productKey}/${deviceName}/thing/topo/add。 其中 ${productKey} 为移动设备网关的 productKey. 可通过 [self getProductKey] 拿到 /${deviceName} 为移动设备网关的 deviceName.可通过 [self getDevcieName] 拿到 所以开发者需要传完整 topic

method

设备 IoT 协议中的 method 字段。没有的话,可不填。

params

业务参数。

responseHandler

业务服务器响应回调接口,参见 LKExpResponse

Discussion

移动设备网关的rpc请求接口,封装了业务的上行 request 以及下行 response。

Declared In

LKMobileGateway.h

– uploadData:data:complete:

上行数据,直接透传,不会再按alink业务报文协议封装,qos会设置为1

- (void)uploadData:(NSString *)topic data:(NSData *)dat complete:(void ( ^ ) ( NSError *_Nullable error ))completeCallback

Parameters

topic

消息topic

dat

需透传的数据

completeCallback

数据上行结果回调

Discussion

上行数据,直接透传,不会再按alink业务报文协议封装,qos会设置为1

Declared In

LKMobileGateway.h

– uploadData:data:qos:complete:

上行数据,直接透传,不会再按alink业务报文协议封装

- (void)uploadData:(NSString *)topic data:(NSData *)dat qos:(int)qos complete:(void ( ^ ) ( NSError *_Nullable error ))completeCallback

Parameters

topic

消息topic

dat

需透传的数据

qos

publish 消息的qos,建议为 ‘1’ ,参见mqtt协议。qos可取值为[0,1]。不支持取值为2

completeCallback

数据上行结果回调

Discussion

上行数据,直接透传,不会再按alink业务报文协议封装

Declared In

LKMobileGateway.h

– publish:params:complete:

上行数据,不会有回执。SDK会按alink标准协议封装业务报文。

- (void)publish:(NSString *)topic params:(NSDictionary *)params complete:(void ( ^ ) ( NSError *_Nullable error ))completeCallback

Parameters

topic

消息topic,完整的topic

params

业务参数

completeCallback

数据上行结果回调

Discussion

上行数据,不会有回执。SDK会按alink标准协议封装业务报文。

Declared In

LKMobileGateway.h

– subscribe:complete:

移动网关订阅topic的接口

- (void)subscribe:(NSString *)topic complete:(void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

topic

订阅的消息的topic,由具体业务确定,需要传完整的topic区段,形如: /sys/${productKey}/${deviceName}/app/abc/cba

completionHandler

订阅流程结束的callback,如果error为空表示订阅成功,否则订阅失败

Discussion

移动网关订阅topic的接口

Declared In

LKMobileGateway.h

– unsubscribe:complete:

移动网关取消订阅topic的接口

- (void)unsubscribe:(NSString *)topic complete:(void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

topic

订阅的消息的topic,由具体业务确定,需要传完整的topic区段,形如: /sys/${productKey}/${deviceName}/app/abc/cba

completionHandler

取消订阅流程结束的callback,如果error为空表示订阅成功,否则订阅失败

Discussion

移动网关取消订阅topic的接口

Declared In

LKMobileGateway.h

– addDownstreamListener:

设置通道的下推回调,如果不需要用的时候,记得调用removeDownStreamListener:

- (void)addDownstreamListener:(id<LKMgwDownListener>)downListener

Parameters

downListener

侦听下推消息,参见LKMgwDownListener

Discussion

设置通道的下推回调,如果不需要用的时候,记得调用removeDownStreamListener:

Declared In

LKMobileGateway.h

– removeDownStreamListener:

取消某个通道的下推回调

- (void)removeDownStreamListener:(id<LKMgwDownListener>)downListener

Parameters

downListener

侦听下推消息,参见LKMgwDownListener

Discussion

取消某个通道的下推回调

Declared In

LKMobileGateway.h

– dynamicRegisterSubDevices:complete:

向云端动态注册一批子设备

- (void)dynamicRegisterSubDevices:(NSArray *)devices complete:(LKMgwDynamicRegisterResult)completeCallback

Parameters

devices

批量注册时提交的信息,每个设备的信息包括 { “productKey”:“xxx”, “deviceName”:“yyy” //deviceName 可空,当为空时,云端会生成 deviceName。蓝牙设备的 deviceName 为 Mac 地址, 形如:'1D2456F2D34E'. }

completeCallback

结果回调

Discussion

向云端动态注册一批子设备

Declared In

LKMobileGateway.h

– dynamicUnregisterSubDevices:complete:

向云端动态注销一批子设备

- (void)dynamicUnregisterSubDevices:(NSArray *)devices complete:(void ( ^ ) ( NSError *))completeCallback

Parameters

devices

批量注销时提交的子设备信息,每个设备的信息包括 { “productKey”:“xxx”, “deviceName”:“yyy” //deviceName 蓝牙设备的 deviceName 为 Mac 地址,且必须携带,形如:'1D2456F2D34E', }

completeCallback

结果回调

Discussion

向云端动态注销一批子设备

Declared In

LKMobileGateway.h

– getProductKey

移动设备网关的 productKey

- (NSString *)getProductKey

Discussion

移动设备网关的 productKey

Declared In

LKMobileGateway.h

– getDevcieName

移动设备网关的 deviceName

- (NSString *)getDevcieName

Discussion

移动设备网关的 deviceName

Declared In

LKMobileGateway.h