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

Public 成员函数

void MarkMessageAsRead (string messageId)
 
void MarkAllMessageAsRead ()
 
bool InsertMessage (Message message)
 
bool AppendMessage (Message message)
 
bool UpdateMessage (Message message)
 
bool DeleteMessage (string messageId)
 
bool DeleteAllMessages ()
 
Message LoadMessage (string messageId)
 
void LoadMessagesWithMsgType (MessageBodyType type, string sender=null, long timestamp=-1, int count=20, MessageSearchDirection direction=MessageSearchDirection.UP, ValueCallBack< List< Message > > handle=null)
 
void LoadMessages (string startMessageId=null, int count=20, MessageSearchDirection direction=MessageSearchDirection.UP, ValueCallBack< List< Message > > handle=null)
 
void LoadMessagesWithKeyword (string keywords, string sender=null, long timestamp=-1, int count=20, MessageSearchDirection direction=MessageSearchDirection.UP, ValueCallBack< List< Message > > handle=null)
 
void LoadMessagesWithTime (long startTime, long endTime, int count=20, ValueCallBack< List< Message > > handle=null)
 
int MessagesCount ()
 

属性

string Id [get]
 
ConversationType Type [get]
 
Message LastMessage [get]
 
Message LastReceivedMessage [get]
 
Dictionary< string, string > Ext [get, set]
 
int UnReadCount [get]
 

详细描述

会话类,用于定义单聊会话、群聊会话和聊天室会话。

每类会话中包含发送和接收的消息。

成员函数说明

◆ MarkMessageAsRead()

void ChatSDK.Conversation.MarkMessageAsRead ( string  messageId)

设置指定消息为已读。

参数
messageId消息 ID。

◆ MarkAllMessageAsRead()

void ChatSDK.Conversation.MarkAllMessageAsRead ( )

将指定会话的所有未读消息设置为已读。

◆ InsertMessage()

bool ChatSDK.Conversation.InsertMessage ( Message  message)

在本地数据库的指定会话中插入一条消息。

消息的会话 ID 应该和会话的 ID 一致。

消息会根据消息里的 Unix 时间戳被插入本地数据库,SDK 会更新会话的 latestMessage 等属性。

参数
message消息实例。
返回
该消息是否成功插入。
  • true: 成功;
  • false: 失败。

◆ AppendMessage()

bool ChatSDK.Conversation.AppendMessage ( Message  message)

在本地数据库中指定会话的尾部插入一条消息。

消息的会话 ID 应与会话的 ID 一致。

消息插入后,SDK 会自动更新会话的 latestMessage 等属性。

参数
message消息实例。
返回
该消息是否成功插入。
  • true: 成功;
  • false: 失败。

◆ UpdateMessage()

bool ChatSDK.Conversation.UpdateMessage ( Message  message)

更新本地数据库的指定消息。

消息更新时,消息 ID 不会修改。

消息更新后,SDK 会自动更新会话的 latestMessage 等属性。

参数
message要更新的消息。
返回
该消息是否成功更新。
  • true: 成功;
  • false: 失败。

◆ DeleteMessage()

bool ChatSDK.Conversation.DeleteMessage ( string  messageId)

删除本地数据库中的一条指定消息。

参数
messageId要删除消息的 ID。
返回
该消息是否成功删除。
  • true: 成功;
  • false: 失败。

◆ DeleteAllMessages()

bool ChatSDK.Conversation.DeleteAllMessages ( )

删除指定会话中所有消息。

该方法同时删除指定会话在内存和数据库中的所有消息。

返回
消息是否成功删除。
  • true: 成功;
  • false: 失败。

◆ LoadMessage()

Message ChatSDK.Conversation.LoadMessage ( string  messageId)

加载指定消息。

SDK 首先在内存中查找消息,若在内存中未找到,SDK 会在本地数据库查询并加载。

参数
messageId要加载的消息的 ID。
返回
返回对象消息。若在本地内存和数据库均未找到消息,返回 null

◆ LoadMessagesWithMsgType()

void ChatSDK.Conversation.LoadMessagesWithMsgType ( MessageBodyType  type,
string  sender = null,
long  timestamp = -1,
int  count = 20,
MessageSearchDirection  direction = MessageSearchDirection.UP,
ValueCallBack< List< Message > >  handle = null 
)

加载特定类型的多条消息。

SDK 首先在内存中查询消息,若在内存中未找到,SDK 会在本地数据库查询并加载。

参数
type加载消息类型。该参数必填。
sender消息发送方的用户 ID。该参数必填。
timestamp查询的起始 Unix 时间戳。默认值为 -1,表示当前 Unix 时间戳。
count加载的最大消息数目。默认值为 20
direction消息加载方向。默认按消息中的时间戳(SortMessageByServerTime)的倒序加载,详见 MessageSearchDirection
callback加载结果回调,成功返回消息列表,失败返回错误原因,详见 ValueCallBack

◆ LoadMessages()

void ChatSDK.Conversation.LoadMessages ( string  startMessageId = null,
int  count = 20,
MessageSearchDirection  direction = MessageSearchDirection.UP,
ValueCallBack< List< Message > >  handle = null 
)

从指定消息 ID 开始加载消息。

SDK 首先在内存中查找消息,若在内存中未找到,SDK 会在本地数据库查询并加载。

参数
startMessageId加载的起始消息 ID。若该参数设置为 "" 或者 null,将从最近的消息开始加载。
count加载的最大消息数目。默认值为 20
direction消息加载方向。默认按消息中的时间戳(SortMessageByServerTime)的倒序加载,详见 MessageSearchDirection
handle加载结果回调,成功返回消息列表,失败返回错误原因,详见 ValueCallBack

◆ LoadMessagesWithKeyword()

void ChatSDK.Conversation.LoadMessagesWithKeyword ( string  keywords,
string  sender = null,
long  timestamp = -1,
int  count = 20,
MessageSearchDirection  direction = MessageSearchDirection.UP,
ValueCallBack< List< Message > >  handle = null 
)

根据关键字加载消息。

SDK 首先在内存中查找消息,若在内存中未找到,SDK 会在本地数据库查询并加载。

参数
keywords查询使用的关键字。
sender消息发送方的用户 ID。
timestamp查询的起始时间戳。默认值为 -1,表示当前时间戳。
count加载的最大消息数目,默认值为 20
direction消息加载方向。默认按消息中的时间戳的倒序加载,详见 MessageSearchDirection
callback加载结果回调,成功返回消息列表,失败返回错误原因,详见 ValueCallBack

◆ LoadMessagesWithTime()

void ChatSDK.Conversation.LoadMessagesWithTime ( long  startTime,
long  endTime,
int  count = 20,
ValueCallBack< List< Message > >  handle = null 
)

加载指定时间段内的消息。

注意

SDK 首先在内存中查找消息,若在内存中未找到,SDK 会在本地数据库查询并加载。

若加载的消息数量较大,请注意内存使用情况。

参数
startTimeStamp查询的起始时间戳。
endTimeStamp查询的结束时间戳。
count加载的最大消息条数。
handle加载结果回调,成功返回消息列表,失败返回错误原因,详见 ValueCallBack

◆ MessagesCount()

int ChatSDK.Conversation.MessagesCount ( )

获取 SDK 本地数据库中会话的全部消息数目。

返回
会话的全部消息数量。

属性说明

◆ Id

string ChatSDK.Conversation.Id
get

会话 ID。

◆ Type

ConversationType ChatSDK.Conversation.Type
get

会话类型。

◆ LastMessage

Message ChatSDK.Conversation.LastMessage
get

获取指定会话的最新消息。

该方法的调用不影响会话的未读消息数。

SDK 首先从内存中获取最新消息,若在内存中未找到,则从数据库中加载,然后将其存放在内存中。

返回
消息实例。

◆ LastReceivedMessage

Message ChatSDK.Conversation.LastReceivedMessage
get

获取指定会话中收到的最新消息。

返回
消息实例。

◆ Ext

Dictionary<string, string> ChatSDK.Conversation.Ext
getset

获取指定会话的扩展信息。

返回
会话扩展信息。

◆ UnReadCount

int ChatSDK.Conversation.UnReadCount
get

获取指定会话的未读消息数。

返回
未读消息数。