文档

​
​

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 开发者指南

Message metadata

Attach metadata to Vivox messages for additional context.
阅读时间2 分钟
最后更新于 8 个月前

Send and receive additional information between players by attaching metadata to Vivox messages. This metadata can enhance player communication and support gameplay features..
Send information such as display names, a player’s local mute state, game data and more by adding metadata to messages. The metadata doesn't alter the original message content but provides context or instructions to the recipient or the game logic. Attach the metadata by using
MessageOptions.Metadata
; once received, retrieve the metadata with
VivoxMessage.Metadata
.
注意
Vivox is unable to send empty messages. To attach metadata, you must send a non-empty text message.
The following code sample is an example of sending a message with JSON metadata that communicates the user’s local mute state:
using UnityEngine;using Unity.Services.Vivox;[System.Serializable]public class MetadataInfo{ public string Type;}[System.Serializable]public class PlayerMuteInfoMetadata{ public string Type = "PlayerMuteInfo"; public string PlayerId; public bool LocallyMuted;}public async void MutePlayerLocally(VivoxParticipant participant){ // ... (player mute logic) // If it was a self-mute, the local user's input device would be muted. if (participant.IsSelf) { // Send a message with metadata to the channel communicating the local player's updated input device mute state to other participants. var messageOptions = new MessageOptions { Metadata = JsonUtility.ToJson(new PlayerMuteInfoMetadata { PlayerId = VivoxService.Instance.SignedInPlayerId, LocallyMuted = VivoxService.Instance.IsInputDeviceMuted }) }; await VivoxService.Instance.SendChannelTextMessageAsync(participant.ChannelName, "Metadata", messageOptions); }}
The following code sample is an example of parsing a message with JSON metadata:
VivoxService.Instance.ChannelMessageReceived += OnChannelMessageReceived;// In your channel message received handler:void OnChannelMessageReceived(VivoxMessage message){ // You can now parse or use the metadata that was attached when sending the message. if (!string.IsNullOrEmpty(message.Metadata)) { // Parse JSON metadata. var metadataType = JsonUtility.FromJson<MetadataInfo>(message.Metadata).Type; switch (metadataType) { case "PlayerMuteInfo": var playerInfo = JsonUtility.FromJson<PlayerMuteInfoMetadata>(message.Metadata); // Handle updating player info in UI. break; default: break; } }}
注意
The size limit for attached metadata is 65,536 bytes (64 KiB).

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。


    报告此页面的问题