Skip to content
Hevin edited this page Aug 17, 2017 · 9 revisions

插件所提供的监听事件:

注意:必须先调用 init 方法进行 SDK 初始化,事件监听才会生效。

receiveMessage

收到聊天消息事件。

监听函数以参数形式返回消息对象

示例

var listener = function (msg) {
  // do something.
}
JMessage.addReceiveMessageListener(listener)
JMessage.removeReceiveMessageListener(listener)

clickMessageNotification

点击通知栏消息通知事件监听,iOS 需要配合 jpush-phonegap-plugin 才能生效。

监听函数以参数形式返回消息对象

示例

var listener = function (msg) {
  // do something.
}
JMessage.addClickMessageNotificationListener(listener)
JMessage.removeClickMessageNotificationListener(listener)

syncOfflineMessage

离线消息同步监听。

在用户离线(登出或网络断开)期间所产生的消息,会暂存在极光服务器中。当用户再次上线时,会触发该事件。

示例

var listener = function (event) {
  var conversation = event.conversation
  var messageArray = event.messageArray
}
JMessage.addSyncOfflineMessageListener(listener)
JMessage.removeSyncOfflineMessageListener(listener)

syncRoamingMessage

消息漫游同步监听。

如果在初始化时设置了 isOpenMessageRoaming = true,即代表启用了消息记录漫游,当用户在其他设备登录时,会自动将历史消息同步到本地,同步完成后会触发该事件。

示例

var listener = function (event) {
  var conversation = event.conversation
}
JMessage.addSyncRoamingMessageListener(listener)
JMessage.removeSyncRoamingMessageListener(listener)

loginStateChanged

用户登录状态变更事件监听。

示例

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: 用户登录状态异常

contactNotify

好友相关事件监听。

示例

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

retractMessage

消息被对方撤回通知事件。

示例

var listener = function (event) {
  var conversation = event.conversation
  var retractedMessage = event.retractedMessage
}
JMessage.addMessageRetractListener(listener)
JMessage.removeMessageRetractListener(listener)

事件属性

  • conversation: 被撤回消息所属的会话对象
  • retractedMessage: 被撤回的消息对象,但消息内容会被替换为提示内容
Clone this wiki locally