LKAppExpress Class Reference
Inherits from | NSObject |
---|---|
Declared in | LKAppExpress.h |
– startConnect:connectListener:
长连接通道启动接口,应用起来时调用一次
- (void)startConnect:(LKAEConnectConfig *)config connectListener:(id<LKAppExpConnectListener>)listener
Parameters
config |
app 长连接通道配置项 |
---|---|
listener |
通道连接状态侦听者 |
Discussion
长连接通道启动接口,应用起来时调用一次
Declared In
LKAppExpress.h
– addConnectListener:
增加通道连接状态变化 listener
- (void)addConnectListener:(id<LKAppExpConnectListener>)listener
Parameters
listener |
通道连接状态侦听者 |
---|
Discussion
增加通道连接状态变化 listener
Declared In
LKAppExpress.h
– removeConnectListener:
增加通道连接状态变化 listener
- (void)removeConnectListener:(id<LKAppExpConnectListener>)listener
Parameters
listener |
通道连接状态侦听者 |
---|
Discussion
增加通道连接状态变化 listener
Declared In
LKAppExpress.h
– invokeWithTopic:opts:params:respHandler:
RPC请求接口,封装了业务的上行 request 以及下行 response。
- (void)invokeWithTopic:(NSString *)topic opts:(NSDictionary *_Nullable)opts params:(NSDictionary *)params respHandler:(LKAppExpResponseHandler)responseHandler
Parameters
topic |
rpc请求的 topic,由具体业务确定,上行的完整 topic 形如: /sys/${productKey}/${deviceName}/app/up/abc/cba, 其中App 端 Topic 订阅协议前缀:/sys/${productKey}/${deviceName}/app/up 在 sdk 中会自动补齐。 所以开发者只需要传完整 topic 的业务部分,如上例中的 /abc/cba 即可。 |
---|---|
opts |
可选配置项,可空,预留 |
params |
业务参数。 |
responseHandler |
业务服务器响应回调接口,参见 |
Discussion
RPC请求接口,封装了业务的上行 request 以及下行 response。
Declared In
LKAppExpress.h
– publish:params:complete:
发布消息接口,不同于 invokeWithMethod:opts:params:respHandler:
。这个接口不会有业务回执。
- (void)publish:(NSString *)topic params:(NSDictionary *)params complete:(void ( ^ ) ( NSError *_Nullable ))completeCallback
Parameters
topic |
rpc 请求的 topic,由具体业务确定,上行的完整 topic 形如: /sys/${productKey}/${deviceName}/app/up/abc/cba 其中App 端 Topic 订阅协议前缀:/sys/${productKey}/${deviceName}/app/up 在 sdk 中会自动补齐。 所以开发者只需要传完整 topic 的业务部分,如上例中的 /abc/cba 即可。 也可以使用通配符 如 /abc/#. |
---|---|
params |
业务参数。 |
completeCallback |
业务服务器响应回调接口,参见 |
Discussion
发布消息接口,不同于 invokeWithMethod:opts:params:respHandler:
。这个接口不会有业务回执。
Declared In
LKAppExpress.h
– addDownStreamListener:listener:
设置通道的下推侦听者,如果不需要用的时候,记得调用 removeDownStreamListener:
。
LKAppExpress
收到云端下推的处理逻辑如下所示:
- (void)addDownStreamListener:(BOOL)uiSafety listener:(id<LKAppExpDownListener>)downListener
Parameters
uiSafety |
是否要在UI线程里回调,建议为 YES |
---|---|
downListener |
侦听下推消息,参见 |
Discussion
设置通道的下推侦听者,如果不需要用的时候,记得调用 removeDownStreamListener:
。
LKAppExpress
收到云端下推的处理逻辑如下所示:
if ([downListener shouldHandle:topic] == YES) { [downListener onDownstream:topic data:data]; } else { NSLog(@“message will ignored”); }
Declared In
LKAppExpress.h
– removeDownStreamListener:
取消通道的某个下推侦听者
- (void)removeDownStreamListener:(id<LKAppExpDownListener>)downListener
Parameters
downListener |
侦听下推消息,参见 |
---|
Discussion
取消通道的某个下推侦听者
Declared In
LKAppExpress.h
– subscribe:complete:
app 向云端订阅 topic 的接口。SDK 启动时会默认向云端订阅 app 相关的所有下行消息。即自动 subscribe topic:@“/#"。 所以默认情况下无需再订阅。
- (void)subscribe:(NSString *)topic complete:(void ( ^ ) ( NSError *_Nullable error ))completionHandler
Parameters
topic |
订阅的消息的 topic,由具体业务确定,只需要传业务方的区段,公用区段不需要传. 下行的完整 topic 形如: /sys/${productKey}/${deviceName}/app/down/abc/cba 其中App 端 Topic 订阅协议前缀:/sys/${productKey}/${deviceName}/app/down 在 sdk 中会自动补齐。 所以开发者只需要传完整topic的业务部分,如上例中的 /abc/cba 即可。 也可以使用通配符 如 /abc/#. |
---|---|
completionHandler |
订阅流程完成的 callback,如果 error 为空表示订阅成功,否则订阅失败 |
Discussion
app 向云端订阅 topic 的接口。SDK 启动时会默认向云端订阅 app 相关的所有下行消息。即自动 subscribe topic:@“/#"。 所以默认情况下无需再订阅。
Declared In
LKAppExpress.h
– unsubscribe:complete:
app向云端取消订阅 topic 的接口。SDK 启动时会默认向云端订阅 app 相关的所有下行消息。即主动 [subscribe topic:@“/#”]。 如果应用层不希望订阅所有下行,可以先[unsubscrbie topic:@“/#”]取消所有下行的订阅。再subscribe自己感兴趣的 topic.
- (void)unsubscribe:(NSString *)topic complete:(void ( ^ ) ( NSError *_Nullable error ))completionHandler
Parameters
topic |
取消订阅的消息的 topic,由具体业务确定,只需要传业务方的区段,公用区段不需要传. 下行的完整 topic 形如: /sys/${productKey}/${deviceName}/app/down/abc/cba 其中 Ap p端 Topic 订阅协议前缀:/sys/${productKey}/${deviceName}/app/down 在 sdk 中会自动补齐。 所以开发者只需要传完整 topic 的业务部分,如上例中的 /abc/cba 即可。 也可以使用通配符 如 /abc/#. |
---|---|
completionHandler |
取消订阅流程完成的 callback,如果 error 为空表示订阅成功,否则订阅失败 |
Discussion
app向云端取消订阅 topic 的接口。SDK 启动时会默认向云端订阅 app 相关的所有下行消息。即主动 [subscribe topic:@“/#”]。 如果应用层不希望订阅所有下行,可以先[unsubscrbie topic:@“/#”]取消所有下行的订阅。再subscribe自己感兴趣的 topic.
Declared In
LKAppExpress.h
– getClientId
获取当前长连通道的 clientId
- (NSString *)getClientId
Discussion
获取当前长连通道的 clientId
Declared In
LKAppExpress.h