public class MobileChannel extends java.lang.Object implements IMobileChannel
构造器和说明 |
---|
MobileChannel() |
限定符和类型 | 方法和说明 |
---|---|
void |
asyncSendRequest(java.lang.String topic,
java.util.Map<java.lang.String,java.lang.Object> opts,
java.lang.Object params,
IMobileRequestListener listener)
RPC请求接口,封装了业务的上行request以及下行resp。
|
void |
ayncSendPublishRequest(java.lang.String topic,
java.lang.Object params,
IMobileRequestListener listener)
发布消息接口,不同于[invokeWithMethod:opts:params:respHandler:]。
|
void |
bindAccount(java.lang.String iotToken,
IMobileRequestListener listener)
账号绑定长连通道
|
java.lang.String |
getClientId()
建联成功后,可获取ClientID
|
static IMobileChannel |
getInstance() |
MobileConnectState |
getMobileConnectState()
获取当前长连接通道状态
|
void |
registerConnectListener(boolean uiSafey,
IMobileConnectListener listener)
注册通道的状态变化
|
void |
registerDownstreamListener(boolean uiSafey,
IMobileDownstreamListener listener)
设置通道的下推回调,如果不需要用的时候,记得调用removeDownStreamListener
|
void |
startConnect(android.content.Context context,
MobileConnectConfig config,
IMobileConnectListener listener)
长连接通道启动接口,应用起来时调用一次
|
void |
subscrbie(java.lang.String topic,
IMobileSubscrbieListener listener)
app订阅topic的接口
|
void |
unBindAccount(java.lang.String iotToken,
IMobileRequestListener listener)
长连通道解除绑定当前账号
|
void |
unRegisterConnectListener(IMobileConnectListener listener)
取消注册通道的状态变化监听
|
void |
unRegisterDownstreamListener(IMobileDownstreamListener listener)
取消某个通道的下推回调
|
void |
unSubscrbie(java.lang.String topic,
IMobileSubscrbieListener listener)
app取消订阅topic的接口
|
public static IMobileChannel getInstance()
public void startConnect(android.content.Context context, MobileConnectConfig config, IMobileConnectListener listener)
IMobileChannel
startConnect
在接口中 IMobileChannel
config
- app身份鉴权配置项listener
- 反馈通道状态变化public MobileConnectState getMobileConnectState()
IMobileChannel
getMobileConnectState
在接口中 IMobileChannel
public java.lang.String getClientId()
IMobileChannel
getClientId
在接口中 IMobileChannel
public void bindAccount(java.lang.String iotToken, IMobileRequestListener listener)
IMobileChannel
bindAccount
在接口中 IMobileChannel
iotToken
- 帐号登录后去IoT后台申请的tokenlistener
- 绑定结束的Listenerpublic void unBindAccount(java.lang.String iotToken, IMobileRequestListener listener)
IMobileChannel
unBindAccount
在接口中 IMobileChannel
iotToken
- 帐号登录后去IoT后台申请的tokenlistener
- 绑定结束的Listenerpublic void asyncSendRequest(java.lang.String topic, java.util.Map<java.lang.String,java.lang.Object> opts, java.lang.Object params, IMobileRequestListener listener)
IMobileChannel
asyncSendRequest
在接口中 IMobileChannel
topic
- rpc请求的topic,由具体业务确定,上行的完整topic形如:
/sys/${productKey}/${deviceName}/app/up/abc/cba
其中App 端 Topic 订阅协议前缀:/sys/${productKey}/${deviceName}/app/up 在sdk中会自动补齐。
所以开发者只需要传完整topic的业务部分,如上例中的/abc/cba即可。
也可以使用通配符 如/abc/#.opts
- 可选配置项,可空,预留params
- 业务参数。listener
- 业务服务器响应回调接口public void ayncSendPublishRequest(java.lang.String topic, java.lang.Object params, IMobileRequestListener listener)
IMobileChannel
ayncSendPublishRequest
在接口中 IMobileChannel
topic
- rpc请求的topic,由具体业务确定,上行的完整topic形如:
/sys/${productKey}/${deviceName}/app/up/abc/cba
其中App 端 Topic 订阅协议前缀:/sys/${productKey}/${deviceName}/app/up 在sdk中会自动补齐。
所以开发者只需要传完整topic的业务部分,如上例中的/abc/cba即可。
也可以使用通配符 如/abc/#.public void subscrbie(java.lang.String topic, IMobileSubscrbieListener listener)
IMobileChannel
subscrbie
在接口中 IMobileChannel
topic
- 订阅的消息的topic,由具体业务确定,只需要传业务方的区段,公用区段不需要传.
可以参见asyncSendRequest 中的topic定义listener
- 订阅流程结束的监听public void unSubscrbie(java.lang.String topic, IMobileSubscrbieListener listener)
IMobileChannel
unSubscrbie
在接口中 IMobileChannel
topic
- 订阅的消息的topic,由具体业务确定,只需要传业务方的区段,公用区段不需要传.
可以参见invokeWithTopic:opts:params:respHandler: 中的topic定义listener
- 订阅流程结束的监听public void registerDownstreamListener(boolean uiSafey, IMobileDownstreamListener listener)
IMobileChannel
registerDownstreamListener
在接口中 IMobileChannel
uiSafey
- 是否要在UI线程里回调,建议为YESpublic void unRegisterDownstreamListener(IMobileDownstreamListener listener)
IMobileChannel
unRegisterDownstreamListener
在接口中 IMobileChannel
public void registerConnectListener(boolean uiSafey, IMobileConnectListener listener)
IMobileChannel
registerConnectListener
在接口中 IMobileChannel
uiSafey
- 是否需要在UI线程回调public void unRegisterConnectListener(IMobileConnectListener listener)
IMobileChannel
unRegisterConnectListener
在接口中 IMobileChannel