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
|
static void |
setOpenLog(boolean logFlag) |
void |
startConnect(android.content.Context context,
MobileConnectConfig config,
IMobileConnectListener listener)
长连接通道启动接口,应用起来时调用一次
|
void |
subscrbie(java.lang.String topic,
IMobileSubscrbieListener listener)
app订阅topic的接口
|
void |
unBindAccount(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 static void setOpenLog(boolean logFlag)
public void startConnect(android.content.Context context,
MobileConnectConfig config,
IMobileConnectListener listener)
IMobileChannelstartConnect 在接口中 IMobileChannelconfig - app身份鉴权配置项listener - 反馈通道状态变化public MobileConnectState getMobileConnectState()
IMobileChannelgetMobileConnectState 在接口中 IMobileChannelpublic java.lang.String getClientId()
IMobileChannelgetClientId 在接口中 IMobileChannelpublic void bindAccount(java.lang.String iotToken,
IMobileRequestListener listener)
IMobileChannelbindAccount 在接口中 IMobileChanneliotToken - 帐号登录后去IoT后台申请的tokenlistener - 绑定结束的Listenerpublic void unBindAccount(IMobileRequestListener listener)
IMobileChannelunBindAccount 在接口中 IMobileChannellistener - 绑定结束的Listenerpublic void asyncSendRequest(java.lang.String topic,
java.util.Map<java.lang.String,java.lang.Object> opts,
java.lang.Object params,
IMobileRequestListener listener)
IMobileChannelasyncSendRequest 在接口中 IMobileChanneltopic - 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)
IMobileChannelayncSendPublishRequest 在接口中 IMobileChanneltopic - 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)
IMobileChannelsubscrbie 在接口中 IMobileChanneltopic - 订阅的消息的topic,由具体业务确定,只需要传业务方的区段,公用区段不需要传.
可以参见asyncSendRequest 中的topic定义listener - 订阅流程结束的监听public void unSubscrbie(java.lang.String topic,
IMobileSubscrbieListener listener)
IMobileChannelunSubscrbie 在接口中 IMobileChanneltopic - 订阅的消息的topic,由具体业务确定,只需要传业务方的区段,公用区段不需要传.
可以参见invokeWithTopic:opts:params:respHandler: 中的topic定义listener - 订阅流程结束的监听public void registerDownstreamListener(boolean uiSafey,
IMobileDownstreamListener listener)
IMobileChannelregisterDownstreamListener 在接口中 IMobileChanneluiSafey - 是否要在UI线程里回调,建议为YESpublic void unRegisterDownstreamListener(IMobileDownstreamListener listener)
IMobileChannelunRegisterDownstreamListener 在接口中 IMobileChannelpublic void registerConnectListener(boolean uiSafey,
IMobileConnectListener listener)
IMobileChannelregisterConnectListener 在接口中 IMobileChanneluiSafey - 是否需要在UI线程回调public void unRegisterConnectListener(IMobileConnectListener listener)
IMobileChannelunRegisterConnectListener 在接口中 IMobileChannel