Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • V2TIMMessageManager

Index

Methods

  • 创建表情消息

    SDK 并不提供表情包,如果开发者有表情包,可使用 index 存储表情在表情包中的索引, 或者直接使用 data 存储表情二进制信息以及字符串 key,都由用户自定义,SDK 内部只做透传。

    Parameters

    • index: number

      表情索引

    • data: string

      自定义数据

    Returns V2TimValueCallback<V2TimMsgCreateInfoResult>

  • note

    多条被转发的消息可以被创建成一条合并消息 V2TIMMessage,然后调用 sendMessage 接口发送,实现步骤如下:

      1. 调用 createMergerMessage 创建一条合并消息 V2TIMMessage。
      1. 调用 sendMessage 发送转发消息 V2TIMMessage。 收到合并消息解析步骤:
      1. 通过 V2TIMMessage 获取 mergerElem。
      1. 通过 mergerElem 获取 title 和 abstractList UI 展示。
      1. 当用户点击摘要信息 UI 的时候,调用 downloadMessageList 接口获取转发消息列表。

    Parameters

    • msgIDList: string[]

      消息列表(最大支持 300 条,消息对象必须是 V2TIM_MSG_STATUS_SEND_SUCC 状态,消息类型不能为 V2TIMGroupTipsElem)

    • title: string

      合并消息的来源,比如 "vinson 和 lynx 的聊天记录"、"xxx 群聊的聊天记录"。

    • abstractList: string[]

      合并消息的摘要列表(最大支持 5 条摘要,每条摘要的最大长度不超过 100 个字符),不同的消息类型可以设置不同的摘要信息,比如: 文本消息可以设置为:sender:text,图片消息可以设置为:sender:[图片],文件消息可以设置为:sender:[文件]。

    • compatibleText: string

      合并消息兼容文本,低版本 SDK 如果不支持合并消息,默认会收到一条文本消息,文本消息的内容为 compatibleText, 该参数不能为 null。

    Returns V2TimValueCallback<V2TimMsgCreateInfoResult>

  • 创建定向群消息

    如果您需要在群内给指定群成员列表发消息,可以创建一条定向群消息,定向群消息只有指定群成员才能收到。

    note

    请注意:

    • 原始消息对象不支持群 @ 消息。
    • 社群(Community)和直播群(AVChatRoom)不支持发送定向群消息。
    • 定向群消息默认不计入群会话的未读计数。

    Parameters

    • id: string

      原始消息对象ID

    • receiverList: string[]

      消息接收者列表

    Returns V2TimValueCallback<V2TimMsgCreateInfoResult>

  • note

    注意: 该接口只能删除本地历史,消息删除后,SDK 会在本地把这条消息标记为已删除状态,getHistoryMessage 不能再拉取到,如果程序卸载重装,本地会失去对这条消息的删除标记,getHistoryMessage 还能再拉取到该条消息。

    Parameters

    • msgID: string

    Returns V2TimCallback

  • note

    该接口会在 deleteMessageFromLocalStorage 的基础上,同步删除云端存储的消息,且无法恢复。需要注意的是:

    • 一次最多只能删除 30 条消息
    • 要删除的消息必须属于同一会话
    • 一秒钟最多只能调用一次该接口
    • 如果该账号在其他设备上拉取过这些消息,那么调用该接口删除后,这些消息仍然会保存在那些设备上,即删除消息不支持多端同步。

    Parameters

    • msgIDs: string[]

    Returns V2TimCallback

  • Parameters

    • userID: string

      需要获取消息的用户ID

    • count: number

      拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个

    • Optional lastMsgID: string

      获取消息的起始消息,如果传 nil,起始消息为会话的最新消息

    Returns V2TimValueCallback<V2TimMessage[]>

  • note
    • 如果 SDK 检测到没有网络,默认会直接返回本地数据
    • 只有会议群(Meeting)才能拉取到进群前的历史消息,直播群(AVChatRoom)消息不存漫游和本地数据库,调用这个接口无效

    Parameters

    • groupID: string

      群ID

    • count: number

      拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个

    • Optional lastMsgID: string

      获取消息的起始消息,如果传 nil,起始消息为会话的最新消息

    Returns V2TimValueCallback<V2TimMessage[]>

  • note

    请注意:

    • 如果设置为拉取云端消息,当 SDK 检测到没有网络,默认会直接返回本地数据
    • 只有会议群(Meeting)才能拉取到进群前的历史消息,直播群(AVChatRoom)消息不存漫游和本地数据库,调用这个接口无效

    Parameters

    • count: number
    • getType: HistoryMsgGetTypeEnum = HistoryMsgGetTypeEnum.V2TIM_GET_LOCAL_OLDER_MSG
    • Optional userID: string
    • Optional groupID: string
    • lastMsgSeq: number = -1
    • Optional lastMsgID: string
    • Optional messageTypeList: number[]

    Returns V2TimValueCallback<V2TimMessage[]>

  • 向C2C消息列表中添加一条消息

    该接口主要用于满足向C2C聊天会话中插入一些提示性消息的需求,比如“您已成功发送消息”,这类消息有展示 在聊天消息区的需求,但并没有发送给对方的必要。 所以 insertC2CMessageToLocalStorage()相当于一个被禁用了网络发送能力的 sendMessage() 接口。

    note

    注意:

    • 通过该接口 save 的消息只存本地,程序卸载后会丢失。

    Parameters

    • data: string
    • userID: string
    • sender: string

    Returns V2TimValueCallback<V2TimMessage>

  • 向群组消息列表中添加一条消息

    该接口主要用于满足向群组聊天会话中插入一些提示性消息的需求,比如“您已经退出该群”,这类消息有展示 在聊天消息区的需求,但并没有发送给其他人的必要。 所以 insertGroupMessageToLocalStorage() 相当于一个被禁用了网络发送能力的 sendMessage() 接口。

    note

    注意:

    • 通过该接口 save 的消息只存本地,程序卸载后会丢失。

    Parameters

    • data: string
    • groupID: string
    • sender: string

    Returns V2TimValueCallback<V2TimMessage>

  • note

    注意:

    • 该接口调用成功后,自己的未读数会清 0,对端用户会收到 onRecvC2CReadReceipt 回调,回调里面会携带标记会话已读的时间。

    Parameters

    • userID: string

    Returns V2TimCallback

  • note

    请注意:

    • 如果消息修改成功,自己和对端用户(C2C)或群组成员(Group)都会收到 onRecvMessageModified 回调。
    • 如果在修改消息过程中,消息已经被其他人修改,completion 会返回 ERR_SDK_MSG_MODIFY_CONFLICT 错误。
    • 消息无论修改成功或则失败,completion 都会返回最新的消息对象。

    Parameters

    Returns V2TimValueCallback<V2TimMessageChangeInfo>

  • note

    请注意:

    • 撤回消息的时间限制默认 2 minutes,超过 2 minutes 的消息不能撤回,您也可以在 控制台(功能配置 -> 登录与消息 -> 消息撤回设置)自定义撤回时间限制。
    • 仅支持单聊和群组中发送的普通消息,无法撤销 onlineUserOnly 为 true 即仅在线用户才能收到的消息,也无法撤销直播群(AVChatRoom)中的消息。
    • 如果发送方撤回消息,已经收到消息的一方会收到 V2TIMAdvancedMsgListener -> onRecvMessageRevoked 回调。

    Parameters

    • msgID: string

    Returns V2TimCallback

  • sendMessage(param0: { cloudCustomData?: string; groupID: string; id: string; isExcludedFromLastMessage?: boolean; isExcludedFromUnreadCount?: boolean; localCustomData?: string; needReadReceipt?: boolean; offlinePushInfo?: V2TimOfflinePushInfo; onlineUserOnly?: boolean; priority?: MessagePriorityEnum; receiver: string }): V2TimValueCallback<V2TimMessage>
  • note

    注意:

    • 6.0 及以上版本支持 groupID 和 receiver 同时设置,如果同时设置,表示在群内给 receiver 发送定向消息,如果需要给多个 receiver 发送定向消息,请先调用 createTargetedGroupMessage 接口创建定向消息,再调用 sendMessage 接口发送。
    • 设置 offlinePushInfo 字段,需要先在 V2TIMOfflinePushManager 开启推送,推送开启后,除了自定义消息,其他消息默认都会推送。
    • 如果自定义消息也需要推送,请设置 offlinePushInfo 的 desc 字段,设置成功后,推送的时候会默认展示 desc 信息。
    • AVChatRoom 群聊不支持 onlineUserOnly 字段,如果是 AVChatRoom 请将该字段设置为 false。
    • 如果设置 onlineUserOnly 为 true 时,该消息为在线消息且不会被计入未读计数。

    Parameters

    • param0: { cloudCustomData?: string; groupID: string; id: string; isExcludedFromLastMessage?: boolean; isExcludedFromUnreadCount?: boolean; localCustomData?: string; needReadReceipt?: boolean; offlinePushInfo?: V2TimOfflinePushInfo; onlineUserOnly?: boolean; priority?: MessagePriorityEnum; receiver: string }
      • Optional cloudCustomData?: string

        云端自定义数据

      • groupID: string

        目标群组 ID,如果是发送群聊消息,只需要指定 groupID 即可。

      • id: string

        待发送的消息对象ID,需要通过对应的 createXXXMessage 接口进行创建。

      • Optional isExcludedFromLastMessage?: boolean

        是否在会话中不展示

      • Optional isExcludedFromUnreadCount?: boolean

        是否不计入未读数

      • Optional localCustomData?: string

        本地自定义数据

      • Optional needReadReceipt?: boolean

        是否需要回执,只有群组消息有效,需要购买旗舰套餐

      • Optional offlinePushInfo?: V2TimOfflinePushInfo

        离线推送消息描述

      • Optional onlineUserOnly?: boolean

        是否只有在线用户才能收到,如果设置为 true ,接收方历史消息拉取不到,常被用于实现“对方正在输入”或群组里的非重要提示等弱提示功能,该字段不支持 AVChatRoom。

      • Optional priority?: MessagePriorityEnum

        消息优先级,仅针对群聊消息有效。请把重要消息设置为高优先级(比如红包、礼物消息),高频且不重要的消息设置为低优先级(比如点赞消息)。

      • receiver: string

        消息接收者的 userID, 如果是发送 C2C 单聊消息,只需要指定 receiver 即可。

    Returns V2TimValueCallback<V2TimMessage>

  • note

    注意:

    • messageList 里的消息必须在同一个会话中。
    • 该接口调用成功后,会话未读数不会变化,消息发送者会收到 onRecvMessageReadReceipts 回调,回调里面会携带消息的最新已读信息。

    Parameters

    • messageIDList: string[]

    Returns V2TimCallback

  • setLocalCustomData(msgID: string, localCustomData: string): V2TimCallback
  • setLocalCustomInt(msgID: string, localCustomInt: number): V2TimCallback