LKIoTMobileGateway Class Reference
Inherits from | NSObject |
---|---|
Declared in | LKMobileGateway.h |
– startConnect:connectListener:
移动设备网关长连接通道启动接口,应用起来时调用一次.
- (void)startConnect:(LKMgwConnectConfig *)config connectListener:(id<LKMgwConnectListener>)listener
Parameters
config |
建立长联通道的配置信息,参见 |
---|---|
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 |
业务服务器响应回调接口,参见 |
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