다이렉트 메시징
Send direct messages between users.
읽는 시간 1분최근 업데이트: 19일 전
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)}