Unity and Windows API reference
Public 成员函数 | 所有成员列表
ChatSDK.IChatManager类 参考abstract

Public 成员函数

abstract bool DeleteConversation (string conversationId, bool deleteMessages=true, bool isThread=false)
 
abstract void DownloadAttachment (string messageId, CallBack handle=null)
 
abstract void DownloadThumbnail (string messageId, CallBack handle=null)
 
abstract void FetchHistoryMessagesFromServer (string conversationId, ConversationType type=ConversationType.Chat, string startMessageId=null, int count=20, MessageSearchDirection direction=MessageSearchDirection.UP, ValueCallBack< CursorResult< Message > > handle=null)
 
abstract Conversation GetConversation (string conversationId, ConversationType type=ConversationType.Chat, bool createIfNeed=true)
 
abstract Conversation GetThreadConversation (string threadId)
 
abstract void GetConversationsFromServer (ValueCallBack< List< Conversation > > handle=null)
 
abstract int GetUnreadMessageCount ()
 
abstract bool ImportMessages (List< Message > messages)
 
abstract List< ConversationLoadAllConversations ()
 
abstract Message LoadMessage (string messageId)
 
abstract bool MarkAllConversationsAsRead ()
 
abstract void RecallMessage (string messageId, CallBack handle=null)
 
abstract Message ResendMessage (string messageId, CallBack handle=null)
 
abstract List< MessageSearchMsgFromDB (string keywords, long timestamp=0, int maxCount=20, string from=null, MessageSearchDirection direction=MessageSearchDirection.UP)
 
abstract void SendConversationReadAck (string conversationId, CallBack handle=null)
 
abstract void SendMessage (ref Message message, CallBack handle=null)
 
abstract void SendMessageReadAck (string messageId, CallBack handle=null)
 
abstract void SendReadAckForGroupMessage (string messageId, string ackContent, CallBack callback=null)
 
abstract bool UpdateMessage (Message message)
 
abstract void RemoveMessagesBeforeTimestamp (long timeStamp, CallBack handle=null)
 
abstract void DeleteConversationFromServer (string conversationId, ConversationType conversationType, bool isDeleteServerMessages, CallBack handle=null)
 
abstract void FetchSupportLanguages (ValueCallBack< List< SupportLanguage > > handle=null)
 
abstract void TranslateMessage (Message message, List< string > targetLanguages, ValueCallBack< Message > handle=null)
 
abstract void FetchGroupReadAcks (string messageId, string groupId, int pageSize=20, string startAckId=null, ValueCallBack< CursorResult< GroupReadAck > > handle=null)
 
abstract void ReportMessage (string messageId, string tag, string reason, CallBack handle=null)
 
abstract void AddReaction (string messageId, string reaction, CallBack handle=null)
 
abstract void RemoveReaction (string messageId, string reaction, CallBack handle=null)
 
abstract void GetReactionList (List< string > messageIdList, MessageType chatType, string groupId, ValueCallBack< Dictionary< string, List< MessageReaction > > > handle=null)
 
abstract void GetReactionDetail (string messageId, string reaction, string cursor=null, int pageSize=20, ValueCallBack< CursorResult< MessageReaction > > handle=null)
 
void AddChatManagerDelegate (IChatManagerDelegate chatManagerDelegate)
 
void RemoveChatManagerDelegate (IChatManagerDelegate chatManagerDelegate)
 

详细描述

聊天管理器抽象类。

成员函数说明

◆ DeleteConversation()

abstract bool ChatSDK.IChatManager.DeleteConversation ( string  conversationId,
bool  deleteMessages = true,
bool  isThread = false 
)
pure virtual

删除本地数据库中的指定会话及其历史消息。

若将 deleteMessages 设置为 true,删除会话的同时也会删除该会话的本地历史消息。

参数
conversationId会话 ID。
deleteMessages是否同时删除本地历史消息:
  • true :是;
  • false :否。
返回
会话是否成功删除:
  • true :是;
  • false :否。

◆ DownloadAttachment()

abstract void ChatSDK.IChatManager.DownloadAttachment ( string  messageId,
CallBack  handle = null 
)
pure virtual

下载消息的附件。

若附件自动下载失败,也可以调用此方法下载。

参数
messageId要下载附件的消息 ID。
handle下载结果回调,详见 CallBack

◆ DownloadThumbnail()

abstract void ChatSDK.IChatManager.DownloadThumbnail ( string  messageId,
CallBack  handle = null 
)
pure virtual

下载消息的缩略图。

若消息缩略图自动下载失败,也可以调用该方法下载。

参数
messageId要下载缩略图的消息 ID,一般图片消息和视频消息有缩略图。
handle下载结果回调,详见 CallBack

◆ FetchHistoryMessagesFromServer()

abstract void ChatSDK.IChatManager.FetchHistoryMessagesFromServer ( string  conversationId,
ConversationType  type = ConversationType.Chat,
string  startMessageId = null,
int  count = 20,
MessageSearchDirection  direction = MessageSearchDirection.UP,
ValueCallBack< CursorResult< Message > >  handle = null 
)
pure virtual

从服务器分页获取历史消息。

异步方法。

参数
conversationId会话 ID。
type会话类型,详见 ConversationType
startMessageId查询的起始消息 ID。该参数设置后,SDK 从指定的消息 ID 开始,按消息检索方向获取。如果传入消息的 ID 为空,SDK 忽略该参数,按搜索方向查询消息。
  • directionUP,SDK 从最新消息开始,按照服务器接收消息时间的逆序获取;
  • directionDOWN,SDK 从最早消息开始,按照服务器接收消息时间的正序获取。
count每页期望返回的的消息条数。
direction消息获取的方向。
  • (默认)UP:按照服务器接收消息时间的逆序获取;
  • DOWN:按照服务器接收消息时间的正序获取。
handle结果回调,返回消息列表。

◆ GetConversation()

abstract Conversation ChatSDK.IChatManager.GetConversation ( string  conversationId,
ConversationType  type = ConversationType.Chat,
bool  createIfNeed = true 
)
pure virtual

获取本地指定会话对象。

参数
conversationId会话 ID。
type会话类型,详见 ConversationType
createIfNeed本地数据库中未找到相应会话时是否自动创建。
  • true:是;
  • false:否。
返回
根据指定会话 ID 找到的会话对象。未找到会话会返回空值。

◆ GetThreadConversation()

abstract Conversation ChatSDK.IChatManager.GetThreadConversation ( string  threadId)
pure virtual

获取本地指定子区会话对象。

参数
threadId子区 ID。
返回
根据指定会话 ID 获取子区会话对象。

◆ GetConversationsFromServer()

abstract void ChatSDK.IChatManager.GetConversationsFromServer ( ValueCallBack< List< Conversation > >  handle = null)
pure virtual

从服务器获取所有会话对象。

未找到任何会话对象返回的列表为空。

参数
handle获取的会话列表,详见 ValueCallBack

◆ GetUnreadMessageCount()

abstract int ChatSDK.IChatManager.GetUnreadMessageCount ( )
pure virtual

获取未读消息数。

返回
未读消息数。

◆ ImportMessages()

abstract bool ChatSDK.IChatManager.ImportMessages ( List< Message messages)
pure virtual

将消息导入本地数据库。

你只能将你发送或接受的消息导入本地数据库。

参数
messages要导入数据库的消息。
返回
消息是否成功导入本地数据库。
  • true: 成功;
  • false: 失败。

◆ LoadAllConversations()

abstract List< Conversation > ChatSDK.IChatManager.LoadAllConversations ( )
pure virtual

将本地数据库中的所有会话加载到内存。

一般在登录成功后使用此方法,可以加快会话列表的加载速度。

返回
加载的会话列表。

◆ LoadMessage()

abstract Message ChatSDK.IChatManager.LoadMessage ( string  messageId)
pure virtual

将本地数据库中的指定消息加载到内存。

参数
messageId需加载的消息的 ID。
返回
加载的消息对象。

◆ MarkAllConversationsAsRead()

abstract bool ChatSDK.IChatManager.MarkAllConversationsAsRead ( )
pure virtual

将本地所有会话设置为已读。

返回
所有会话是否成功设置为已读。
  • true:是;
  • false:否。

◆ RecallMessage()

abstract void ChatSDK.IChatManager.RecallMessage ( string  messageId,
CallBack  handle = null 
)
pure virtual

撤回已发送的消息。

异步方法。

参数
messageId要撤回消息的 ID。
handle撤回结果回调,详见 CallBack

◆ ResendMessage()

abstract Message ChatSDK.IChatManager.ResendMessage ( string  messageId,
CallBack  handle = null 
)
pure virtual

重新发送指定消息。

异步方法。

参数
messageId重发消息的 ID。
handle重发结果回调,详见 CallBack
返回
重发的消息对象。

◆ SearchMsgFromDB()

abstract List< Message > ChatSDK.IChatManager.SearchMsgFromDB ( string  keywords,
long  timestamp = 0,
int  maxCount = 20,
string  from = null,
MessageSearchDirection  direction = MessageSearchDirection.UP 
)
pure virtual

查询包含特定关键字的本地消息。

参数
keywords查找关键字,字符串类型。
timestamp查询的起始消息 Unix 时间戳,单位为毫秒。该参数设置后,SDK 从指定时间戳的消息开始,按消息搜索方向获取。 如果该参数设置为负数,SDK 从当前时间开始搜索。
maxCount每次获取的最大消息数。取值范围为 [1,400]。
from消息来源,一般指会话 ID。
direction消息查询方向,详见 MessageSearchDirection
返回
消息列表。

◆ SendConversationReadAck()

abstract void ChatSDK.IChatManager.SendConversationReadAck ( string  conversationId,
CallBack  handle = null 
)
pure virtual

发送会话的已读回执。

该方法通知服务器将此会话未读数设置为 0,消息发送方(包含多端多设备)将会收到 IChatManagerDelegate#OnConversationRead(string from, string to) 回调。

参数
conversationId会话 ID。
handle发送回执的结果回调,详见 CallBack

◆ SendMessage()

abstract void ChatSDK.IChatManager.SendMessage ( ref Message  message,
CallBack  handle = null 
)
pure virtual

发送消息。

异步方法。

对于语音、图片等带有附件的消息,SDK 在默认情况下会自动上传附件。请参见 Options#ServerTransfer

参数
message要发送的消息对象,必填。
handle发送结果回调,详见 CallBack

◆ SendMessageReadAck()

abstract void ChatSDK.IChatManager.SendMessageReadAck ( string  messageId,
CallBack  handle = null 
)
pure virtual

发送消息已读回执。

Note**

该方法仅适用于单聊会话,仅在 Options#RequireAck(boolean)true 时生效。

该方法会通知服务器将此消息置为已读,消息发送方(包含多端多设备)将会收到 IChatManagerDelegate#OnMessagesRead(List<Message>) 回调。

参数
messageId消息 ID。
handle发送回执的结果回调,详见 CallBack

◆ SendReadAckForGroupMessage()

abstract void ChatSDK.IChatManager.SendReadAckForGroupMessage ( string  messageId,
string  ackContent,
CallBack  callback = null 
)
pure virtual

发送群消息已读回执。

*Note**

参数
messageId消息 ID。
ackContent已读回执信息。消息的接收方自定义已读回执信息,消息的发送方收到该已读回执后,解析出自定义的字符串,自行处理。
handle发送回执的结果回调,详见 CallBack

◆ UpdateMessage()

abstract bool ChatSDK.IChatManager.UpdateMessage ( Message  message)
pure virtual

更新本地消息。

该方法调用后,本地内存和数据库中的消息均更新。

参数
message要更新的消息对象。
返回
本地消息是否成功更新。
  • true:是;
  • false:否。

◆ RemoveMessagesBeforeTimestamp()

abstract void ChatSDK.IChatManager.RemoveMessagesBeforeTimestamp ( long  timeStamp,
CallBack  handle = null 
)
pure virtual

将指定 Unix 时间戳之前收发的消息从本地内存和数据库中移除。

参数
timeStamp移除的 Unix 时间戳,单位为毫秒。
handle移除结果回调,详见 CallBack

◆ DeleteConversationFromServer()

abstract void ChatSDK.IChatManager.DeleteConversationFromServer ( string  conversationId,
ConversationType  conversationType,
bool  isDeleteServerMessages,
CallBack  handle = null 
)
pure virtual

删除服务端的指定会话及其历史消息。

异步方法。

参数
conversationId会话 ID。
conversationType会话类型,详见 ConversationType
isDeleteServerMessages是否删除会话时同时删除相应的历史消息。
  • true:是。
  • false:否。
handle会话删除成功与否的回调,详见 CallBack

◆ FetchSupportLanguages()

abstract void ChatSDK.IChatManager.FetchSupportLanguages ( ValueCallBack< List< SupportLanguage > >  handle = null)
pure virtual

获取翻译服务支持的语言。

参数
callBack完成的回调,详见 ValueCallBack()

◆ TranslateMessage()

abstract void ChatSDK.IChatManager.TranslateMessage ( Message  message,
List< string >  targetLanguages,
ValueCallBack< Message handle = null 
)
pure virtual

翻译消息。

参数
message要翻译的消息对象。
languages目标语言代码列表。
ValuecallBack完成的回调,详见 ValueCallBack()

◆ FetchGroupReadAcks()

abstract void ChatSDK.IChatManager.FetchGroupReadAcks ( string  messageId,
string  groupId,
int  pageSize = 20,
string  startAckId = null,
ValueCallBack< CursorResult< GroupReadAck > >  handle = null 
)
pure virtual

从服务器分页获取群组消息已读回执详情。

发送群组消息回执,详见 SendReadAckForGroupMessage

异步方法。

参数
messageId消息 ID。
groupId群组 ID。
pageSize每页期望返回的群消息已读数。取值范围为 [1,50]。
startAckId查询起始的已读回执 ID。该参数设置后,SDK 从指定的已读回执 ID 开始,按服务器接收已读回执的时间的逆序获取。 若该参数为空,SDK 从最新的已读回执开始按服务器接收回执时间的逆序获取。
callBack结果回调,成功执行 ValueCallBack#onSuccess(Object),失败执行 ValueCallBack#onError(int, String)

◆ ReportMessage()

abstract void ChatSDK.IChatManager.ReportMessage ( string  messageId,
string  tag,
string  reason,
CallBack  handle = null 
)
pure virtual

举报违规消息。

同步方法,会阻塞当前线程。

参数
messageId要举报的消息 ID。
tag举报类型(例如:涉黄、涉恐)。
reason举报原因。
callBack完成的回调,详见 CallBack()

◆ AddReaction()

abstract void ChatSDK.IChatManager.AddReaction ( string  messageId,
string  reaction,
CallBack  handle = null 
)
pure virtual

添加 Reaction。

异步方法。

参数
messageId消息 ID。
reaction消息 Reaction。
callback处理结果回调,详见 CallBack

◆ RemoveReaction()

abstract void ChatSDK.IChatManager.RemoveReaction ( string  messageId,
string  reaction,
CallBack  handle = null 
)
pure virtual

删除 Reaction。

异步方法。

参数
messageId消息 ID。
reaction消息 Reaction。
callback处理结果回调,详见 CallBack

◆ GetReactionList()

abstract void ChatSDK.IChatManager.GetReactionList ( List< string >  messageIdList,
MessageType  chatType,
string  groupId,
ValueCallBack< Dictionary< string, List< MessageReaction > > >  handle = null 
)
pure virtual

获取 Reaction 列表。

异步方法。

参数
messageIdList消息 ID。
chatType会话类型,仅支持单聊( ConversationType.Chat )和群聊(ConversationType.Group)。
groupId群组 ID,该参数只在群聊生效。
callback处理结果回调,包含消息 ID 对应的 Reaction 列表(EMMessageReaction 的用户列表为概要数据,只包含前三个用户信息)。

◆ GetReactionDetail()

abstract void ChatSDK.IChatManager.GetReactionDetail ( string  messageId,
string  reaction,
string  cursor = null,
int  pageSize = 20,
ValueCallBack< CursorResult< MessageReaction > >  handle = null 
)
pure virtual

获取 Reaction 详细信息。

异步方法。

参数
messageId消息 ID。
reaction消息 Reaction。
cursor查询 cursor。
pageSize每页获取的 Reaction 条数。
callback处理结果回调,包含 cursor 和 MessageReaction 列表(仅使用该列表第一个数据即可)。

◆ AddChatManagerDelegate()

void ChatSDK.IChatManager.AddChatManagerDelegate ( IChatManagerDelegate  chatManagerDelegate)

注册聊天管理器的监听器。

参数
chatManagerDelegate要注册的聊天管理器的监听器,继承自 IChatManagerDelegate

◆ RemoveChatManagerDelegate()

void ChatSDK.IChatManager.RemoveChatManagerDelegate ( IChatManagerDelegate  chatManagerDelegate)

移除聊天管理器的监听器。

参数
chatManagerDelegate要移除的聊天管理器的监听器,继承自 IChatManagerDelegate