文档

支持

Vivox Unity SDK

Vivox Unity SDK

获取对话列表

How to retrieve a list of conversations for a player.
阅读时间1 分钟最后更新于 13 天前

可以获取用户的对话列表。对话是指用户发送消息或私信 (DM) 的频道。可以使用此 API 填充频道或 DM 列表,以便用户查找其活动聊天。 要获取对话列表,请登录到应用程序,然后使用
await VivoxService.Instance.GetConversationsAsync();
发出请求。此方法返回
VivoxConversation
对象的集合,每个对象表示一个 DM 或一个频道对话。
以下代码的示例说明如何获取用户的对话列表。
// The use of `ConversationQueryOptions` is optional and the method can be called without providing it.var options = new ConversationQueryOptions(){ CutoffTime = DateTime.Now, // Point in time to fetch conversations from. Conversations joined after this timestamp will not be present in the query results. This timestamp gets converted to UTC internally. PageCursor = 1, // Parameter if you’re fetching anything but the first page. PageSize = 10 // The number of results returned per page. The default is 10.};var conversations = await VivoxService.Instance.GetConversationsAsync(options);
获取用户的对话列表后,可以解析得到的
VivoxConversation
集合,以确定哪些是 DM,哪些是频道对话:
foreach (VivoxConversation conversation in conversations){ switch (conversation.ConversationType) { case ConversationType.ChannelConversation: // Code for handling channel conversations. // You must be in a channel matching conversation.Name in order to fetch the message history of type ConversationType.ChannelConversation. break; case ConversationType.DirectedMessageConversation: // Code for handling DM conversations, for instance... var directMessages = await VivoxService.Instance.GetDirectTextMessageHistoryAsync(conversation.Name); // Populate UI with directMessages with another user. break; default: break; }}