-
Notifications
You must be signed in to change notification settings - Fork 28
Events
Hevin edited this page Jan 22, 2018
·
9 revisions
注意:必须先调用 init
方法进行 SDK 初始化,事件监听才会生效。
- receiveMessage: 收到聊天消息
- clickMessageNotification: 点击消息通知
- syncOfflineMessage: 同步离线消息
- syncRoamingMessage: 同步漫游消息
- loginStateChanged: 登录状态变更
- contactNotify: 好友相关事件
- retractMessage: 消息撤回
收到聊天消息事件。
监听函数以参数形式返回消息对象。
var listener = function (msg) {
// do something.
}
JMessage.addReceiveMessageListener(listener)
JMessage.removeReceiveMessageListener(listener)
点击通知栏消息通知事件监听,iOS 需要配合 jpush-phonegap-plugin 才能生效。
监听函数以参数形式返回消息对象。
var listener = function (msg) {
// do something.
}
JMessage.addClickMessageNotificationListener(listener)
JMessage.removeClickMessageNotificationListener(listener)
离线消息同步监听。
在用户离线(登出或网络断开)期间所产生的消息,会暂存在极光服务器中。当用户再次上线时,会触发该事件。
var listener = function (event) {
var conversation = event.conversation
var messageArray = event.messageArray
}
JMessage.addSyncOfflineMessageListener(listener)
JMessage.removeSyncOfflineMessageListener(listener)
消息漫游同步监听。
如果在初始化时设置了 isOpenMessageRoaming = true
,即代表启用了消息记录漫游,当用户在其他设备登录时,会自动将历史消息同步到本地,同步完成后会触发该事件。
var listener = function (event) {
var conversation = event.conversation
}
JMessage.addSyncRoamingMessageListener(listener)
JMessage.removeSyncRoamingMessageListener(listener)
用户登录状态变更事件监听。
var listener = function (event) {
var type = event.type
}
JMessage.addLoginStateChangedListener(listener)
JMessage.removeLoginStateChangedListener(listener)
- type: 消息类型,可能为:
- user_password_change: 用户密码在服务器端被修改,会自动登出
- user_logout: 用户换设备登录,在之前设备上会被登出
- user_deleted: 用户信息被服务器删除
- user_login_status_unexpected: 用户登录状态异常
好友相关事件监听。
var listener = function (event) {
var type = event.type
var reason = event.reason
var fromUsername = event.fromUsername
var fromUserAppKey = event.fromUserAppKey
}
JMessage.addContactNotifyListener(listener)
JMessage.removeContactNotifyListener(listener)
- type: 消息类型,可能为:
- invite_received: 收到好友邀请
- invite_accepted: 对方接受了你的好友邀请
- invite_declined: 对方拒绝了你的好友邀请
- contact_deleted: 对方将你从好友中删除
- reason: 事件发生的理由。由发起方请求时填写,如果没有填则返回默认字符串
- fromUsername: 事件发起者的 username
- fromUserAppKey: 事件发起者的 AppKey
消息被对方撤回通知事件。
var listener = function (event) {
var conversation = event.conversation
var retractedMessage = event.retractedMessage
}
JMessage.addMessageRetractListener(listener)
JMessage.removeMessageRetractListener(listener)
- conversation: 被撤回消息所属的会话对象
- retractedMessage: 被撤回的消息对象,但消息内容会被替换为提示内容
收到聊天室消息。
var listener = function (event) {
var messageArray = event.messageArray // 消息数组
}
JMessage.addReceiveChatRoomMessageListener(listener)
JMessage.removeReceiveChatRoomMessageListener(listener)
- messageArray: 消息数组。