文档

​
​

Development

User Acquisition

Monetization

工业

Vivox Core SDK

Vivox Core SDK

此页面不支持所选语言。
Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
      • Initialize the Vivox SDK
      • Handle messages
      • Message types
      • Character encoding
      • Requests and responses
      • Create the connector object
      • Sign in to a game
      • Sign out of a game
      • Uninitialize the Vivox SDK
    • Channels
    • Presence management
    • Messaging
    • Manage audio
    • Couch co-op
    • Android app development
    • iOS app development
    • macOS app development
    • Windows app development
    • Real-time recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Troubleshooting
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation

Message types

How to identify and handle different message types.
阅读时间2 分钟
最后更新于 8 个月前

Games need a message handler to process Vivox event and response messages.
To determine the message type, check the
vx_message_base_t.type
field.
  • If the type is
    msg_response
    , then the message is of the type
    x_resp_base_t
    , and you can cast the pointer directly to
    vx_resp_base_t
    .
  • If the type is
    msg_event
    , then the message is of the type
    vx_evt_base_t
    , and you can cast the pointer directly to
    vx_evt_base_t
    .
The following code displays an example of these message types:
void MyGamesMessageHandler (vx_message_base_t *msg){ if (msg->type == msg_response) { // Call your response handler here vx_resp_base_t *resp = reinterpret_cast<vx_resp_base_t *>(msg); MyGamesResponseHandler(resp); // implementation below } else if(msg->type == msg_event) { vx_evt_base_t *evt = reinterpret_cast<vx_evt_base_t *>(msg); MyGamesEventHandler(evt); // implementation below }}
If the message is of the type
vx_resp_base
, then the game can look at the
vx_resp_base.type
field to determine the actual response type.
The following code displays an example of this message type:
void MyGamesResponseHandler(vx_resp_base_t *resp){ if (resp->type == resp_connector_create) { // Call your response handler here vx_resp_connector_create_t *typed_resp = reinterpret_cast<x_resp_connector_create_t *>(resp); MyGamesConnectorCreateHandler(typed_resp); } else if (resp->type == ...) { ... }}
If the message is of the type
vx_evt_base
, then the game can look at the
vx_evt_base.type
field to determine the actual response type.
The following code displays an example of this message type:
void MyGamesEventHandler(vx_evt_base_t *evt){ if (evt->type == evt_account_login_state_change) { // Call your response handler here vx_evt_account_login_state_change *typed_evt = reinterpret_cast<vx_evt_account_login_state_change *>(evt); MyGamesLoginStateChangeHandler(typed_evt); } else if (evt->type == ...) { ... }}

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

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

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


    报告此页面的问题