ドキュメント

サポート

Vivox Unity SDK

Vivox Unity SDK

チャット履歴のクエリオプション

Query chat history with various filtering options.
読み終わるまでの所要時間 1 分最終更新 23日前

ChatHistoryQueryOptions は、どのようなメッセージを返すかを指定するために
VivoxService.Instance.GetDirectTextMessageHistoryAsync
または
VivoxService.Instance.GetChannelTextMessageHistoryAsync
の呼び出しに含めることができる、任意のオプションのモデルです。

SearchText

ChatHistoryQueryOptions
の SearchText フィールドを使用すると、チャット履歴のクエリで返されるすべてのメッセージに含まれている必要がある文字列を指定できます。例えば、以下のコードでは、返される historyMessages にテキスト "Hello, lobby!" を含むメッセージのみが含まれるようにします。
var options = new ChatHistoryQueryOptions();options.SearchText = "Hello, lobby!";var historyMessages = await VivoxService.Instance.GetChannelTextMessageHistoryAsync(LobbyChannelName, 10, options);

TimeStart - TimeEnd

ChatHistoryQueryOptions
の TimeStart フィールドと TimeEnd フィールドはいずれも
DateTimes
であり、メッセージが送信された時刻 (その時刻より後、前) を指定します。例えば、以下のコードは、リクエストが行われる 24 時間前から 12 時間前までの間の、最新 10 件のメッセージを返します。
var options = new ChatHistoryQueryOptions();options.TimeStart = DateTime.Now().AddDays(-1);options.TimeEnd = DateTime.Now().AddDays(-0.5);var historyMessages = await VivoxService.Instance.GetChannelTextMessageHistoryAsync(LobbyChannelName, 10, options);
テキストエビデンス管理を有効にしない場合、チャット履歴は 7 日間しか保存されないことに注意してください。

PlayerId

ChannelTextMessageHistory
のリクエストでは、ChatHistoryQueryOptions の PlayerId フィールドで、返されるすべてのメッセージの送信者の PlayerId を指定します。例えば、以下のコードは、指定したチャンネル内の特定の参加者から送信された最新 10 件のメッセージを返します。
IReadOnlyCollection<VivoxMessage> GetMessagesFromPlayerAsync(VivoxParticipant participant){ var options = new ChatHistoryQueryOptions(); options.PlayerId = participant.PlayerId; var historyMessages = await VivoxService.Instance.GetChannelTextMessageHistoryAsync(LobbyChannelName, 10, options); return historyMessages;}

ブロックされた参加者に対するチャンネルベースのチャット履歴

history_session
クエリの応答の形式を設定する際に、ブロックされたユーザーからのメッセージをフィルターできます。
チャンネルからチャット履歴を取得するときに、SDK により、ブロックされたユーザーからのメッセージが除外されます。ユーザー A がアプリケーションでユーザー B をブロックしている場合、ユーザー A にはユーザー B が送信したメッセージは表示されません。

ブロックされた参加者がいる場合の履歴セッション

リクエストに含まれるすべてのメッセージがブロックされた参加者からのものである場合、履歴リクエストは空で返される可能性があります。この場合、応答には、後続のページにチャンネルのメッセージがさらにあることを示すカーソルが含まれます。1 回の履歴リクエストで返されるメッセージのデフォルトの数は、1 ページあたり 10 件です。次ページのメッセージを取得するには、その後のリクエストでカーソル値を使用します。 チャンネルにブロックされたユーザーがいる場合、最大ページサイズの引数 (Max) には、リクエストされた数よりも少ないメッセージが表示されます。チャット履歴で特定のページサイズをリクエストする際は、チャンネルにブロックされたユーザーがいる場合に、選択した数よりも少ないメッセージが
history_session
で表示される可能性があることに注意してください。この機能は、プライバシーを確保し、不要なインタラクションを防ぐために重要です。
最後に読まれたメッセージでは、未読メッセージの数が表示されます。Vivox は読まれたメッセージを追跡し、未読メッセージの数を表示します。ただし、この数には応答から意図的にフィルターされた、ブロックされたメッセージが含まれることに注意してください。チャンネルにブロックされたユーザーがいる場合、未読メッセージの数が不正確になる可能性があります。

ブロックされた参加者に対するアカウントのチャット履歴

アカウントのチャット履歴のリクエストを送信すると、クエリではそのユーザーが送信したメッセージのみが表示されます。