直接送信メッセージ
Send direct messages between users.
読み終わるまでの所要時間 2 分最終更新 23日前
サービスにサインインしている個々のプレイヤーに対して、VivoxMessage を送信できます。この機能はしばしば DM と呼ばれます。
直接送信メッセージを送信する
VivoxService.Instance.SendDirectTextMessageAsync(string playerId, string message)void SendMessageAsync(string playerId){ if (string.IsNullOrEmpty(MessageInputField.text)) { return; } VivoxService.Instance.SendChannelTextMessageAsync(playerId, MessageInputField.text); MessageInputField.text = string.Empty;}
直接送信メッセージを受信する
他のユーザーからのメッセージを受信するには、VivoxService.Instance.DirectedMessageReceivedVivoxMessage.ChannelNameVivoxMessage.FromSelf//Subscribe to this event at some point in the Vivox initialization process,//preferably before joining any channels.. . .VivoxService.Instance.DirectedMessageReceived += OnDirectedMessageReceived;. . .void OnDirectedMessageReceived(VivoxMessage message){ var senderName = message.SenderDisplayName; var senderId = message.SenderPlayerId; var messageText = message.MessageText; var timeReceived = message.ReceivedTime; var language = message.Language; var messageId = message.MessageId;}
ダイレクトテキストメッセージの履歴
また、Vivox ではVivoxService.Instance.GetDirectTextMessageHistoryAsync(string playerId, int requestSize = 10, ChatHistoryQueryOptions chatHistoryQueryOptions = null)IReadOnlyCollectionChatHistoryQueryOptionsvoid FetchHistoryAsync(){ var historyMessages = await VivoxService.Instance.GetDirectTextMessageHistoryAsync(LobbyChannelName, 10); //Reversing the messages so they display from oldest to newest var reversedMessages = historyMessages.Reverse(); foreach(VivoxMessage message in reversedMessages) { Debug.Log($"{message.SenderDisplayName}: {message.MessageText}"); }}
ダイレクトメッセージの編集
Vivox では、VivoxService.Instance.EditDirectTextMessageAsync(string messageId, string newMessage)VivoxService.Instance.DirectedMessageEditedpublic async void UpdateDirectedMessageAsync(VivoxMessage messageToUpdate, string updatedMessageText){ await VivoxService.Instance.EditDirectTextMessageAsync(messageToUpdate.MessageId, updatedMessageText);}
ダイレクトメッセージの削除
Vivox では、VivoxService.Instance.DeleteDirectTextMessageAsync(string messageId)VivoxService.Instance.DirectedMessageDeletedpublic async void DeleteDirectMessageAsync(VivoxMessage messageToDelete){ await VivoxService.Instance.DeleteDirectTextMessageAsync(messageToDelete.MessageId)}