ドキュメント

​
​

Development

User Acquisition

Monetization

産業

Vivox Unity SDK

Vivox Unity SDK

Vivox
​
​
Vivox Unity SDK
  • Overview
  • Get started
  • Release notes
  • Developer guide
    • Set up your project
    • Create voice and text channels
    • Messaging
      • Channel messages
      • Message metadata
      • Chat history
      • Edit and delete messages
      • Directed messages
      • Offline direct messages
      • Anti-flooding
      • Large text channel setting
      • Retrieve Conversations list
      • Set Chat Markers
    • Player management
    • Device management
    • Audio management
    • Mobile development
    • Text-to-speech
    • Speech-to-text
    • Real-time recording
    • Server-side-recording
    • Troubleshooting
  • Tutorials
  • Reference
  1. Vivox Unity SDK のドキュメント
  2. Vivox Unity 開発者ガイド

チャンネルメッセージ

Send, receive and manage text messages in Vivox channels.
読み終わるまでの所要時間 7 分
最終更新 8ヶ月前

TextOnly または TextAndAudio の ChatCapability を使用して、テキストが有効になっている特定の Vivox チャンネルに VivoxMessage を送信できます。

チャンネルメッセージを送信する

VivoxService.Instance.SendChannelTextMessageAsync(string channelName, string message)
を使用して、チャンネルにメッセージを送信できます。
channelName
はメッセージの送信先チャンネル、
message
は送信するメッセージです。
以下のコードスニペットは、設定された Lobby チャンネルにメッセージを送信し、MessageInputField InputField オブジェクトからテキストをプルするための実装例です。
public async void SendMessageAsync(){ if (string.IsNullOrEmpty(MessageInputField.text)) { return; } VivoxService.Instance.SendChannelTextMessageAsync(LobbyChannelName, MessageInputField.text); MessageInputField.text = string.Empty;}

チャンネルメッセージを受信する

テキストが有効になっているチャンネルからメッセージを受信するには、
VivoxService.Instance.ChannelMessageReceived
アクションにサブスクライブする必要があります。
チャンネルに送信される VivoxMessage は 直接送信メッセージ とほぼ同じですが、
VivoxMessage.ChannelName
に ChannelName が追加され、メッセージが現在サインインしているユーザーから送信されたかどうかに基づいて
VivoxMessage.FromSelf
フィールドが設定されます。
以下のコードスニペットは、このアクションにサブスクライブする行の例と、受信時に VivoxMessage から利用可能なすべての情報をプルする例です。
//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)
を使用して、ユーザーがチャンネルのテキストアクティビティの履歴にアクセスできるようにします。
channelName
は履歴をリクエストするチャンネルの名前、
requestSize
は返すメッセージの最大数 (デフォルトは 10) で、
chatHistoryQueryOptions
はメッセージに含まれる単語やフレーズ、特定の PlayerId のメッセージ送信者、クエリの対象とする時刻 (その時刻の前または後) の指定などができる任意のパラメーターです。
ChatHistoryQueryOption
のより具体的な情報については、チャット履歴のクエリオプション を参照してください。
IReadOnlyCollection
で返されるメッセージは、最新のメッセージから最も古いメッセージへの順でリスト表示されます。
注
チャット履歴は 7 日間保存されます。テキストエビデンス管理 が使用される場合、チャット履歴の保存期間が 30 日間に延長されます。
以下のコードスニペットは、設定された 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)
を使用して、ユーザーがチャンネルに送信したメッセージのテキストを編集できるようにします。channelName はメッセージが送信されたチャンネルの名前、messageId は変更するメッセージの ID、newMessage はメッセージの更新後のテキストです。
チャンネル内の誰かによってメッセージが正常に編集されると、チャンネル内のすべてのユーザーは、編集された VivoxMessage と更新後の MessageText を含む
VivoxService.Instance.ChannelMessageEdited
アクションを受信します。
public async void UpdateChannelMessageAsync(VivoxMessage messageToUpdate, string updatedMessageText){ await VivoxService.Instance.EditChannelTextMessageAsync(messageToUpdate.ChannelName, messageToUpdate.MessageId, updatedMessageText);}

チャンネルメッセージを削除する

Vivox では、
VivoxService.Instance.DeleteChannelTextMessageAsync(string channelName, string messageId)
を使用して、ユーザーがチャンネルに送信したメッセージのテキストを削除できるようにします。channelName はメッセージが送信されたチャンネルの名前、messageId は削除するメッセージの ID です。
チャンネル内の誰かによってメッセージが正常に削除されると、チャンネル内のすべてのユーザーは、削除された VivoxMessage を含む
VivoxService.Instance.ChannelMessageDeleted
アクションを受信します。
public async void DeleteChannelMessageAsync(VivoxMessage messageToDelete){ await VivoxService.Instance.DeleteChannelTextMessageAsync(messageToDelete.ChannelName, messageToDelete.MessageId)}

Copyright © 2026 Unity Technologies
法規事項プライバシーポリシークッキーDocumentation Terms of Use私の個人情報を販売または共有しないプライバシーに関する選択 (クッキー設定)

"Unity" の名称、Unity のロゴ、およびその他の Unity の商標は、米国およびその他の国における Unity Technologies またはその関係会社の商標または登録商標です (詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。

一部のページは利便性向上のため機械翻訳を使用しており、内容に不正確な表現が含まれる場合があります。内容に齟齬または不一致が生じた場合は、英語版を正本とします。

  • このページ
    • チャンネルメッセージを送信する

    • チャンネルメッセージを受信する

    • チャンネルテキストメッセージの履歴

    • チャンネルメッセージを編集する

    • チャンネルメッセージを削除する


このページの問題を報告する