Public 成员函数 | |
abstract void | addAdvancedMsgListener (V2TIMAdvancedMsgListener listener) |
abstract void | removeAdvancedMsgListener (V2TIMAdvancedMsgListener listener) |
abstract V2TIMMessage | createTextMessage (String text) |
abstract V2TIMMessage | createTextAtMessage (String text, List< String > userList) |
abstract V2TIMMessage | createCustomMessage (byte[] data) |
abstract V2TIMMessage | createCustomMessage (byte[] data, String description, byte[] extension) |
abstract V2TIMMessage | createImageMessage (String imagePath) |
abstract V2TIMMessage | createSoundMessage (String soundPath, int duration) |
abstract V2TIMMessage | createVideoMessage (String videoFilePath, String type, int duration, String snapshotPath) |
abstract V2TIMMessage | createFileMessage (String filePath, String fileName) |
abstract V2TIMMessage | createLocationMessage (String desc, double longitude, double latitude) |
abstract V2TIMMessage | createFaceMessage (int index, byte[] data) |
abstract V2TIMMessage | createMergerMessage (List< V2TIMMessage > messageList, String title, List< String > abstractList, String compatibleText) |
abstract V2TIMMessage | createForwardMessage (V2TIMMessage message) |
abstract String | sendMessage (V2TIMMessage message, String receiver, String groupID, int priority, boolean onlineUserOnly, V2TIMOfflinePushInfo offlinePushInfo, V2TIMSendCallback< V2TIMMessage > callback) |
abstract void | getC2CHistoryMessageList (String userID, int count, V2TIMMessage lastMsg, V2TIMValueCallback< List< V2TIMMessage >> callback) |
abstract void | getGroupHistoryMessageList (String groupID, int count, V2TIMMessage lastMsg, V2TIMValueCallback< List< V2TIMMessage >> callback) |
abstract void | getHistoryMessageList (V2TIMMessageListGetOption option, V2TIMValueCallback< List< V2TIMMessage >> callback) |
abstract void | revokeMessage (V2TIMMessage msg, V2TIMCallback callback) |
abstract void | markC2CMessageAsRead (String userID, V2TIMCallback callback) |
abstract void | markGroupMessageAsRead (String groupID, V2TIMCallback callback) |
abstract void | deleteMessageFromLocalStorage (V2TIMMessage msg, V2TIMCallback callback) |
abstract void | deleteMessages (List< V2TIMMessage > messages, V2TIMCallback callback) |
abstract String | insertGroupMessageToLocalStorage (V2TIMMessage msg, String groupID, String sender, V2TIMValueCallback< V2TIMMessage > callback) |
abstract String | insertC2CMessageToLocalStorage (V2TIMMessage msg, String userID, String sender, V2TIMValueCallback< V2TIMMessage > callback) |
abstract void | findMessages (List< String > messageIDList, V2TIMValueCallback< List< V2TIMMessage >> callback) |
|
abstract |
1.1 添加高级消息的事件监听器
|
abstract |
1.2 移除高级消息监听器
|
abstract |
2.1 创建文本消息
|
abstract |
2.2 创建文本消息,并且可以附带 @ 提醒功能
提醒消息仅适用于在群组中发送的消息
userList | 需要 @ 的用户列表,如果需要 @ALL,请传入 AT_ALL_TAG 常量字符串。 举个例子,假设该条文本消息希望@提醒 denny 和 lucy 两个用户,同时又希望@所有人,atUserList 传 ["denny","lucy",AT_ALL_TAG] |
|
abstract |
2.3 创建自定义消息
|
abstract |
2.4 创建自定义消息
description | 自定义消息描述信息,做离线Push时文本展示。 |
extension | 离线 Push 时扩展字段信息。 |
|
abstract |
2.5 创建图片消息(图片最大支持 28 MB)
|
abstract |
2.6 创建语音消息(语音最大支持 28 MB)
duration | 语音时长,单位 s |
|
abstract |
2.7 创建视频消息(视频最大支持 100 MB)
type | 视频类型,如 mp4 mov 等 |
duration | 视频时长,单位 s |
snapshotPath | 视频封面图片路径 |
|
abstract |
2.8 创建文件消息(文件最大支持 100 MB)
|
abstract |
2.9 创建地理位置消息
|
abstract |
2.10 创建表情消息
SDK 并不提供表情包,如果开发者有表情包,可使用 index 存储表情在表情包中的索引, 或者直接使用 data 存储表情二进制信息以及字符串 key,都由用户自定义,SDK 内部只做透传。
index | 表情索引 |
data | 自定义数据 |
|
abstract |
2.11 创建合并消息
我们在收到一条合并消息的时候,通常会在聊天界面这样显示:
|vinson 和 lynx 的聊天记录 | – title (标题)
|vinson:新版本 SDK 计划什么时候上线呢? | – abstract1 (摘要信息1)
|lynx:计划下周一,具体时间要看下这两天的系统测试情况.. | – abstract2 (摘要信息2)
|vinson:好的. | – abstract3 (摘要信息3)
聊天界面通常只会展示合并消息的标题和摘要信息,完整的转发消息列表,需要用户主动点击转发消息 UI 后再获取。
多条被转发的消息可以被创建成一条合并消息 V2TIMMessage,然后调用 sendMessage 接口发送,实现步骤如下:
1. 调用 createMergerMessage 创建一条合并消息 V2TIMMessage。
2. 调用 sendMessage 发送转发消息 V2TIMMessage。
收到合并消息解析步骤:
1. 通过 V2TIMMessage 获取 mergerElem。
2. 通过 mergerElem 获取 title 和 abstractList UI 展示。
3. 当用户点击摘要信息 UI 的时候,调用 downloadMessageList 接口获取转发消息列表。
messageList | 消息列表(最大支持 300 条,消息对象必须是 V2TIM_MSG_STATUS_SEND_SUCC 状态,消息类型不能为 V2TIMGroupTipsElem) |
title | 合并消息的来源,比如 "vinson 和 lynx 的聊天记录"、"xxx 群聊的聊天记录"。 |
abstractList | 合并消息的摘要列表(最大支持 5 条摘要,每条摘要的最大长度不超过 100 个字符),不同的消息类型可以设置不同的摘要信息,比如: 文本消息可以设置为:sender:text,图片消息可以设置为:sender:[图片],文件消息可以设置为:sender:[文件]。 |
compatibleText | 合并消息兼容文本,低版本 SDK 如果不支持合并消息,默认会收到一条文本消息,文本消息的内容为 compatibleText, 该参数不能为 null。 |
|
abstract |
2.12 创建转发消息
如果需要转发一条消息,不能直接调用 sendMessage 接口发送原消息,需要先 createForwardMessage 创建一条转发消息再发送。
message | 待转发的消息对象,消息状态必须为 V2TIM_MSG_STATUS_SEND_SUCC,消息类型不能为 V2TIMGroupTipsElem。 |
|
abstract |
3.1 发送高级消息(高级版本:可以指定优先级,推送信息等特性)
message | 待发送的消息对象,需要通过对应的 createXXXMessage 接口进行创建。 |
receiver | 消息接收者的 userID, 如果是发送 C2C 单聊消息,只需要指定 receiver 即可。 |
groupID | 目标群组 ID,如果是发送群聊消息,只需要指定 groupID 即可。 |
priority | 消息优先级,仅针对群聊消息有效。请把重要消息设置为高优先级(比如红包、礼物消息),高频且不重要的消息设置为低优先级(比如点赞消息)。 |
onlineUserOnly | 是否只有在线用户才能收到,如果设置为 true ,接收方历史消息拉取不到,常被用于实现“对方正在输入”或群组里的非重要提示等弱提示功能,该字段不支持 AVChatRoom。 |
offlinePushInfo | 离线推送时携带的标题和内容。 |
|
abstract |
4.1 获取单聊历史消息
count | 拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个 |
lastMsg | 获取消息的起始消息,如果传 null,起始消息为会话的最新消息 |
|
abstract |
4.2 获取群组历史消息
count | 拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个 |
lastMsg | 获取消息的起始消息,如果传 null,起始消息为会话的最新消息 |
|
abstract |
4.3 获取历史消息高级接口
option | 拉取消息选项设置,可以设置从云端、本地拉取更老或更新的消息 |
|
abstract |
4.4 撤回消息
|
abstract |
4.5 设置单聊消息已读
|
abstract |
4.6 设置群组消息已读
|
abstract |
4.7 删除本地消息
|
abstract |
4.8 删除本地及漫游消息
|
abstract |
4.9 向群组消息列表中添加一条消息
该接口主要用于满足向群组聊天会话中插入一些提示性消息的需求,比如“您已经退出该群”,这类消息有展示 在聊天消息区的需求,但并没有发送给其他人的必要。 所以 insertGroupMessageToLocalStorage() 相当于一个被禁用了网络发送能力的 sendMessage() 接口。
|
abstract |
4.10 向C2C消息列表中添加一条消息
该接口主要用于满足向C2C聊天会话中插入一些提示性消息的需求,比如“您已成功发送消息”,这类消息有展示 在聊天消息去的需求,但并没有发送给对方的必要。 所以 insertC2CMessageToLocalStorage()相当于一个被禁用了网络发送能力的 sendMessage() 接口。
|
abstract |
4.11 根据 messageID 查询指定会话中的本地消息
messageIDList | 消息 ID 列表 |