IMControl
这是环信的消息接收和分发模块。
事件类型:
- 普通消息事件:类型为
[MessageType, imId]
,其中imId
为接收消息的会话ID;数据为原始消息。 - 控制消息事件:类型为
[CommandType, type, appName, action]
,其中type
为事件类型,appName
和action
为具体应用的操作;数据为原始控制消息。 - 通知消息事件:类型为
[NotificationType, action]
,其中action
为通知的操作;数据为原始通知消息。
接口:
-
name: string
:模块名称。 -
init: (options) => Promise
:初始化模块,其中options
是一个参数对象,包含如下键:-
isTest: boolean
:(必填)是否是测试环境。 -
apnsCertName: string
:(必填)iOS的证书名称。 -
testAppKey: string
:测试环境的环信AppKey。 -
formalAppKey: string
:正式环境的环信AppKey。 -
miAppKey
:Android的小米推送AppKey。 -
miAppSecret
:Android的小米推送AppSecret。
-
-
register
:其中的子项,message
、command
、notification
、openNotification
,分别对应不同的消息类型,还有一个defaultCommand
,表示默认的控制消息类型。每个子项都是一个函数,(subType, func, withSub = false) => string
,传入subType
消息子类型、对应函数func
、以及是否是监听下级事件withSub
,返回事件监听的Id。 -
unregister
:与register
对应的子项,每个子项是一个函数,(subType, funcId) => boolean
,用于取消注册相应事件的监听。