通知

更新时间: 2021/07/26 07:56:21

通知信令相关的在线通知

  • API 介绍

用于通知信令相关的在线通知,可以使用on的方式侦听,也可以通过nim.getInstance()的时候传入。

  • 示例
javascript// 在线用户接收到的通知事件
nim.on('signalingNotify', signalingNotifyHandler);

function signalingNotifyHandler (event) {
  console.log("signalingOnlineNotify: ", event)
  switch (event.eventType) {
    case 'ROOM_CLOSE':
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        evnet.ext 操作者附加的自定义信息,透传给你
        event.time 操作的时间戳
      */
      console.log("独立呼叫信令:频道关闭事件");
      break;
    case 'ROOM_JOIN':
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        evnet.ext 操作者附加的自定义信息,透传给你
        event.time 操作的时间戳
        event.attach 新加入的成员信息
        event.msgid 消息id
      */
      console.log("独立呼叫信令:加入频道事件");
      break;
    case 'INVITE':
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        evnet.ext 操作者附加的自定义信息,透传给你
        event.time 操作的时间戳
        event.to 接收者的账号
        event.requestId 邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作
        event.pushInfo 推送信息
      */
      console.log("独立呼叫信令: 邀请事件");
      break;
    case 'CANCEL_INVITE':
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        evnet.ext 操作者附加的自定义信息,透传给你
        event.time 操作的时间戳
        event.to 接收者的账号
        event.requestId 邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作
      */
      console.log("独立呼叫信令:取消邀请事件");
      break;
    case 'REJECT':
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        evnet.ext 操作者附加的自定义信息,透传给你
        event.time 操作的时间戳
        event.to 接收者的账号
        event.requestId 邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作
      */
      console.log("独立呼叫信令:拒绝邀请事件");
      break;
    case 'ACCEPT':
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        evnet.ext 操作者附加的自定义信息,透传给你
        event.time 操作的时间戳
        event.to 接收者的账号
        event.requestId 邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作
      */
      console.log("独立呼叫信令:接受邀请事件");
      break;
    case 'LEAVE':
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        event.to 接收者
        evnet.ext 操作者附加的自定义信息,透传给你
        event.time 操作的时间戳
      */
      console.log("独立呼叫信令:离开频道事件");
      break;
    case 'CONTROL':
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        event.to 接收者
        evnet.attachExt 操作者附加的自定义信息,透传给你
        event.time 操作的时间戳
      */
      console.log("独立呼叫信令:自定义控制事件");
      break;
  }
});
  • 参数说明

event 事件通知对象

event 属性 类型 说明
eventType number 通知事件的类型
channelName string 频道名称
channelId string 频道ID
channelCreateTime string 频道创建时间
channelExpireTime string 频道过期时间
creator string 频道创建者
from string 操作者
attachExt string 操作者附加的自定义信息,透传给其他人
time number 操作的时间戳
members object 新加入的成员信息
pushInfo number 推送信息 (邀请接口里已经说明格式)
requestId number 邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作
to string 接收者的账号
member 类型 说明
account string 成员account账号
uid string 该成员在频道中对应的uid
createTimestamp number 频道创建时间点
expireTimestamp number 频道失效时间点
  • 参数说明

eventList 为通知事件列表

eventList 属性 类型 说明
eventList array 通知事件数组,数组元素即为在线通知接口中的通知事件

在线多端同步通知

  • API 介绍

    • 用于通知信令相关的多端同步通知。比如自己在手机端接受邀请,PC端会同步收到这个通知
    • 可以使用on的方式侦听,也可以通过nim.getInstance()的时候传入。
  • 示例

javascript// 在线多端同步通知
nim.on('signalingMutilClientSyncNotify', function(event) {
  console.log("signalingMutilClientSyncNotify: ", event)
  switch (event.eventType) {
    case nim.EVENT_TYPE_REJECT:
      //nim.EVENT_TYPE_REJECT 数值为5
      /* 该事件的通知内容
        event.eventType 事件类型
        event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        evnet.attachExt 操作者附加的自定义信息,透传给其他人
        event.time 操作的时间戳
        event.to 接收者的账号
        event.requestId 邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作
      */
      console.log("独立呼叫信令:拒绝邀请事件");
      break;
    case nim.EVENT_TYPE_ACCEPT:
      //nim.EVENT_TYPE_ACCEPT 数值为6
      /* 该事件的通知内容
        event.eventType 事件类型
         event.channelName 频道名称
        event.channelId 频道ID
        event.channelCreateTime 频道创建时间
        event.channelExpireTime 频道过期时间
        event.creator 频道创建者
        event.from 操作者
        evnet.attachExt 操作者附加的自定义信息,透传给其他人
        event.time 操作的时间戳
        event.toAccount 接收者的账号
        event.requestId 邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作
      */
      console.log("独立呼叫信令:接受邀请事件");
      break;
  }
});
  • 参数说明

event 为通知事件

event 属性 类型 说明
eventType number 通知事件的类型
channelName string 频道名称
channelId string 频道ID
channelCreateTime string 频道创建时间
channelExpireTime string 频道过期时间
creator string 频道创建者
from string 操作者
attachExt string 操作者附加的自定义信息,透传给其他人
time number 操作的时间戳
pushInfo number 推送信息 (邀请接口里已经说明格式)
requestId number 邀请者邀请的请求id,用于被邀请者回传request_id_作对应的回应操作
to number 接收者的账号

频道成员变更同步

  • API 介绍

    • 调用 signalingSync 后将会触发这个通知回调
    • 通过nim.getInstance()的时候传入。
  • 示例

javascript// 被叫接受的通知
function signalingMembersSyncNotify(event) {
  console.log("signalingMembersSyncNotify: ", event)
}
nim.getInstance({
  ...
  onSignalingMembersSyncNotify: signalingMembersSyncNotify
  });
  • 参数说明

event 为通知事件

event对象说明 类型 说明
channelInfo object 频道信息,创建频道接口中有说明格式
members array 频道里的成员列表,加入频道的接口中有说明格式

收到未读信令消息通知

  • 调用 signalingSync 后将会触发这个通知回调

  • 事件 介绍

    • 收到未读的信令消息。
  • 示例

javascript// 收到信令未读消息
nim.on('signalingUnreadMessageSyncNotify',function(data){
  console.log(data) 
  /*
  * [{
    attach: "{"type":6}"
    attachExt: "13245678"
    channelCreateTime: "123456"
    channelExpireTime: "22345677789"
    channelId: "123456789"
    channelInValid: true
    channelName: "音频001"
    creator: "cs1"
    eventType: "ACCEPT"
    ext: "音频001"
    from: "cs2"
    msgid: "117504"
    requestId: "1111111111"
    time: "1557715530592"
    to: "cs1"
    type: "1"
  }]
  */
});
// 或者在getInstance的时候传入
NIM.getInstance({
  onSignalingUnreadMessageSyncNotify: function(data){
    console.log(data)
  }
})

此文档是否对你有帮助?
有帮助
去反馈
  • 通知信令相关的在线通知
  • 在线多端同步通知
  • 频道成员变更同步
  • 收到未读信令消息通知