构造函数 | |
(int) | - getMessageForward:last:succ:fail: |
(int) | - findMessages:succ:fail: |
(NSString *) | - getSelfIdentifier |
发消息相关接口 | |
(int) | - sendMessage:succ:fail: |
(int) | - sendOnlineMessage:succ:fail: |
获取消息相关接口 | |
(int) | - getMessage:last:succ:fail: |
(int) | - getLocalMessage:last:succ:fail: |
(TIMMessage *) | - getLastMsg |
设置消息已读 | |
(int) | - setReadMessage:succ:fail: |
(int) | - getUnReadMessageNum |
撤回/删除消息相关接口 | |
(int) | - revokeMessage:succ:fail: |
(int) | - deleteLocalMessage:fail: |
获取会话信息相关接口 | |
(TIMConversationType) | - getType |
(NSString *) | - getReceiver |
(NSString *) | - getGroupName |
草稿箱 | |
(int) | - setDraft: |
(TIMMessageDraft *) | - getDraft |
导入消息到会话相关接口 | |
(int) | - saveMessage:sender:isReaded: |
(int) | - importMessages: |
- (int) sendMessage: | (TIMMessage *) | msg | |
succ: | (TIMSucc) | succ | |
fail: | (TIMFail) | fail | |
1.1 发送消息
TIMMessage 由多个 TIMElem 组成,一个 TIMElem 可以是一串文本,也可以是一张图片。 虽然说每一条消息都可以包含多个 TIMElem,但这个并不常用,通常您只需要在一个 TIMMessage 塞入一个 TIMElem 即可。
详情请参考官网文档 消息收发
msg | 消息体 |
succ | 发送成功时回调 |
fail | 发送失败时回调 |
- (int) sendOnlineMessage: | (TIMMessage *) | msg | |
succ: | (TIMSucc) | succ | |
fail: | (TIMFail) | fail | |
1.2 发送在线消息(无痕消息)
“在线消息”,也可以称为是“无痕消息”。跟普通消息的区别在于:在线消息不会被云服务存储,也不会存储于本地数据库中。 如果接收者在线,可以收到消息,但如果接收者离线,重新上线后也不能通过 getMessage() 接口从历史消息里查到它们。
该类型消息比较适合用作发送广播通知等不重要的提示消息。
msg | 消息体 |
succ | 成功回调 |
fail | 失败回调 |
- (int) getMessage: | (int) | count | |
last: | (TIMMessage *) | last | |
succ: | (TIMGetMsgSucc) | succ | |
fail: | (TIMFail) | fail | |
2.1 从云端拉取历史消息
如果用户的网络正常且登录成功,可以通过该接口拉取历史消息,该接口会返回云端存储的历史消息(最多存储7天)。
count | 获取数量 |
last | 上次最后一条消息,如果 last 为 nil,从最新的消息开始读取 |
succ | 成功时回调 |
fail | 失败时回调 |
- (int) getLocalMessage: | (int) | count | |
last: | (TIMMessage *) | last | |
succ: | (TIMGetMsgSucc) | succ | |
fail: | (TIMFail) | fail | |
2.2 从本地数据库中获取历史消息
如果客户网络异常或登录失败,可以通过该接口获取本地存储的历史消息,调用方法和 getMessage() 一致 AVChatRoom,BChatRoom 消息数量很大,出于程序性能的考虑,默认不存本地,不能通过这个接口拉取到对应群消息
count | 获取数量 |
last | 上次最后一条消息 |
succ | 成功时回调 |
fail | 失败时回调 |
- (TIMMessage*) getLastMsg |
2.3 获取当前会话的最后一条消息
可用于“装饰”会话列表,目前大多数 App 的会话列表中都会显示该会话的最后一条消息
- (int) setReadMessage: | (TIMMessage *) | fromMsg | |
succ: | (TIMSucc) | succ | |
fail: | (TIMFail) | fail | |
3.1 标记消息为已读状态
该接口会标记当前消息以及之前的所有消息为已读状态,标记消息为已读状态会有两个作用:
fromMsg | 会话内最近一条已读的消息,nil 表示上报最新消息 |
succ | 成功时回调 |
fail | 失败时回调 |
- (int) getUnReadMessageNum |
3.2 获取会话的未读消息计数
详情参考 [未读消息计数](https://cloud.tencent.com/document/product/269/9151)
- (int) revokeMessage: | (TIMMessage *) | msg | |
succ: | (TIMSucc) | succ | |
fail: | (TIMFail) | fail | |
4.1 撤回一条已发送的消息(消息发送后 )
msg | 被撤回的消息 |
succ | 成功时回调 |
fail | 失败时回调 |
- (int) deleteLocalMessage: | (TIMSucc) | succ | |
fail: | (TIMFail) | fail | |
4.2 删除当前会话的本地历史消息
succ | 成功时回调 |
fail | 失败时回调 |
- (TIMConversationType) getType |
5.1 获取会话类型
- (NSString*) getReceiver |
5.2 获取会话 ID
C2C:对方账号;Group:群组Id。
对同一个单聊或则群聊会话,getReceiver 获取的会话 ID 都是固定的,C2C 获取的是对方账号,Group 获取的是群组 Id。
- (NSString*) getGroupName |
5.3 获取群名称
获取群名称,只有群会话有效。
- (int) setDraft: | (TIMMessageDraft *) | draft |
6.1 添加未编辑完的草稿消息
在发送消息时,常常会遇到尚未编辑完毕就要切换到其它聊天窗口的情况,这些未编辑完的消息就可以通过 setDraft() 接口存储到草稿箱中。 草稿信息会存本地数据库,重新登录后依然可以获取。
draft | 草稿内容,详情请参考 TIMMessage.h 里面的 TIMMessageDraft 定义 |
- (TIMMessageDraft*) getDraft |
6.2 获取未编辑完的草稿消息
- (int) saveMessage: | (TIMMessage *) | msg | |
sender: | (NSString *) | sender | |
isReaded: | (BOOL) | isRead | |
7.1 向本地消息列表中添加一条消息,但并不将其发送出去。
该接口主要用于满足向聊天会话中插入一些提示性消息的需求,比如“您已经退出该群”,这类消息有展示 在聊天消息区的需求,但并没有发送给其他人的必要。 所以 saveMessage() 相当于一个被禁用了网络发送能力的 sendMessage() 接口。
msg | 消息体 |
sender | 发送方 |
isRead | 是否已读,如果发送方是自己,默认已读 |
- (int) importMessages: | (NSArray *) | msgs |
7.2 将消息导入本地数据库
msgs | 消息(TIMMessage*)列表 |
- (int) getMessageForward: | (int) | count | |
last: | (TIMMessage *) | last | |
succ: | (TIMGetMsgSucc) | succ | |
fail: | (TIMFail) | fail | |
向前获取会话漫游消息
调用方式和 getMessage 一样,区别是 getMessage 获取的是时间更老的消息,主要用于下拉 Tableview 刷新消息数据,getMessageForward 获取的是时间更新的消息,主要用于上拉 Tableview 刷新消息数据。
count | 获取数量 |
last | 上次最后一条消息,如果 last 为 nil,从最新的消息开始读取 |
succ | 成功时回调 |
fail | 失败时回调 |
由 category TIMConversation(MsgExt) 提供.
- (int) findMessages: | (NSArray *) | locators | |
succ: | (TIMGetMsgSucc) | succ | |
fail: | (TIMFail) | fail | |
获取指定会话消息
locators | 消息定位符(TIMMessageLocator)数组 |
succ | 成功时回调 |
fail | 失败时回调 |
由 category TIMConversation(MsgExt) 提供.
- (NSString*) getSelfIdentifier |