消息重发与转发

更新时间: 2024/03/27 18:00:17

NIM SDK 的MessageInterface类提供了消息转发/重发的方法。

除了通知消息外,其他类型消息均支持转发给其他会话。

前提条件

重发消息

消息发送失败之后,可调用resendMsg方法重发消息。

nim.resendMsg({
  msg: someMsg,
  done: sendMsgDone
})
console.log('正在重发消息', someMsg)

V9.10.0 新增重发拉黑状态消息相关开关,默认不开启。开启后使用优化的发送逻辑。如有需要,请联系商务经理或技术支持进行开启。优化后的重发拉黑消息逻辑如下:

  • 若重发拉黑状态消息时,用户还处于黑名单中,此时会产生一条新消息,发送端会收到 7101 错误码,接收端则无法接收到该消息。

    处于拉黑状态时,无论重发多少次消息,产生的新消息都是同一条,即同一个 msgid。

  • 若重发拉黑状态消息时,用户已不在黑名单中,此时产生一条新消息,发送端会收到 200 状态码,接收端正常接收到该消息。

转发一条消息

NIM SDK 支持转发通知和音视频通话事件消息以外所有其他消息类型。

API调用时序

本文的时序图可能因网络问题而显示异常。如显示异常,一般刷新当前页面即可正常显示。

uml diagram

实现方法

调用forwardMsg方法转发消息。

javascriptnim.forwardMsg({
  msg: someMsg,
  scene: 'p2p',
  to: 'account',
  done: sendMsgDone
})
console.log('正在转发消息', someMsg)
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 重发消息
  • 转发一条消息
  • API调用时序
  • 实现方法