reSendMessage

功能介绍

消息重发

当环境网络环境较差或文件上传失败等原因会导致信息发送失败,此时需要调用消息重发的API。

具体消息发送失败的原因可见sendMessage返回的错误码。

当使用reSendMessage时,需要将原来发送的消息删除。

参数详解

参数名称 参数类型 是否必填 平台 描述
msgID String 全部 需要重发的消息id
onlineUserOnly bool 全部 是否是发送给在线用户
webMessageInstatnce Object 全部 web端消息的实例

返回模板

V2TimValueCallback<V2TimMessage>

{
    code : int
    desc : String
    data : {
      cloudCustomData : String
      customElem : V2TimCustomElem
      elemType : int
      faceElem : V2TimFaceElem
      faceUrl : String
      fileElem : V2TimFileElem
      friendRemark : String
      groupAtUserList : List<String>
      groupID : String
      groupTipsElem : V2TimGroupTipsElem
      id : String
      imageElem : V2TimImageElem
      isExcludedFromLastMessage : bool
      isExcludedFromUnreadCount : bool
      isPeerRead : bool
      isRead : bool
      isSelf : bool
      localCustomData : String
      localCustomInt : int
      locationElem : V2TimLocationElem
      mergerElem : V2TimMergerElem
      messageFromWeb : String
      msgID : String
      nameCard : String
      needReadReceipt : bool
      nickName : String
      offlinePushInfo : V2TimOfflinePushInfo
      priority : int
      progress : int
      random : int
      sender : String
      seq : String
      soundElem : V2TimSoundElem
      status : int
      textElem : V2TimTextElem
      timestamp : int
      userID : String
      videoElem : V2TimVideoElem
    }
}

返回值详解

名称 数值类型 描述
code int 请求结果错误码
desc String 请求结果描述
data V2TimMessage 重发后的消息

代码示例

    // 创建文本消息
    V2TimValueCallback<V2TimMsgCreateInfoResult> createTextMessageRes =
        await TencentImSDKPlugin.v2TIMManager
            .getMessageManager()
            .createTextMessage(
              text: "test", // 文本信息
            );
    if (createTextMessageRes.code == 0) {
      // 文本信息创建成功
      String? id = createTextMessageRes.data?.id;
      // 发送文本消息
      // 在sendMessage时,若只填写receiver则发个人用户单聊消息
      //                 若只填写groupID则发群组消息
      //                 若填写了receiver与groupID则发群内的个人用户,消息在群聊中显示,只有指定receiver能看见
      V2TimValueCallback<V2TimMessage> sendMessageRes = await TencentImSDKPlugin
          .v2TIMManager
          .getMessageManager()
          .sendMessage(id: id!, receiver: "userID", groupID: "groupID");
      if (sendMessageRes.code == 0) {
        // 发送成功
      } else {
        V2TimValueCallback<V2TimMessage> reSendMessageRes =
            await TencentImSDKPlugin.v2TIMManager
                .getMessageManager()
                .reSendMessage(
                    msgID: id, // 需要重发的消息id
                    onlineUserOnly: false, // 是否是发送给在线用户
                    webMessageInstatnce: ""); //web端消息的实例);
        if (reSendMessageRes.code == 0) {
          // 重发成功
        }
      }
    }

results matching ""

    No results matching ""