채널 메시지
Send, receive and manage text messages in Vivox channels.
읽는 시간 1분최근 업데이트: 19일 전
VivoxMessage는 TextOnly 또는 TextAndAudio의 ChatCapability를 사용하여 텍스트가 활성화된 특정 Vivox 채널로 보낼 수 있습니다.
채널 메시지 보내기
VivoxService.Instance.SendChannelTextMessageAsync(string channelName, string message)channelNamemessagepublic async void SendMessageAsync(){ if (string.IsNullOrEmpty(MessageInputField.text)) { return; } VivoxService.Instance.SendChannelTextMessageAsync(LobbyChannelName, MessageInputField.text); MessageInputField.text = string.Empty;}
채널 메시지 받기
텍스트가 활성화된 채널에서 메시지를 수신하려면VivoxService.Instance.ChannelMessageReceivedVivoxMessage.ChannelNameVivoxMessage.FromSelf//Subscribe to this event at some point in the Vivox initialization process,//preferably before joining any channels.. . .VivoxService.Instance.ChannelMessageReceived += OnChannelMessageReceived;. . .void OnChannelMessageReceived(VivoxMessage message){ var channelName = message.ChannelName; var senderName = message.SenderDisplayName; var senderId = message.SenderPlayerId; var messageText = message.MessageText; var timeReceived = message.ReceivedTime; var language = message.Language; var fromSelf = message.FromSelf; var messageId = message.MessageId;}
채널 텍스트 메시지 이력
Vivox를 통해 사용자는VivoxService.Instance.GetChannelTextMessageHistoryAsync(string channelName, int requestSize = 10, ChatHistoryQueryOptions chatHistoryQueryOptions = null)channelNamerequestSizechatHistoryQueryOptionsChatHistoryQueryOptionIReadOnlyCollection
다음 코드 스니핏은 LobbyChannelName 컬렉션에서 가장 최근 메시지 25개를 가져온 다음 선택 사항인 ChatHistoryQueryOptions를 사용하지 않고 발송자의 표시 이름과 메시지를 가장 오래된 항목부터 가장 최신 항목 순서대로 기록하는 예입니다.
public async void FetchHistoryAsync(){ var historyMessages = await VivoxService.Instance.GetChannelTextMessageHistoryAsync(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.EditChannelTextMessageAsync(string channelName, string messageId, string newMessage)VivoxService.Instance.ChannelMessageEditedpublic async void UpdateChannelMessageAsync(VivoxMessage messageToUpdate, string updatedMessageText){ await VivoxService.Instance.EditChannelTextMessageAsync(messageToUpdate.ChannelName, messageToUpdate.MessageId, updatedMessageText);}
채널 메시지 삭제
Vivox를 통해 사용자는VivoxService.Instance.DeleteChannelTextMessageAsync(string channelName, string messageId)VivoxService.Instance.ChannelMessageDeletedpublic async void DeleteChannelMessageAsync(VivoxMessage messageToDelete){ await VivoxService.Instance.DeleteChannelTextMessageAsync(messageToDelete.ChannelName, messageToDelete.MessageId)}