Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Core SDK

Vivox Core SDK

Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
    • Channels
    • Presence management
      • Buddy behavior
      • Add a buddy
      • Delete a buddy
      • Presence capabilities
      • Set presence information
      • Buddy presence changes
      • Companion applications
    • 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

Presence capabilities

Follow this workflow to use presence capabilities.
Read time 2 minutes
Last updated 8 months ago

To use presence capabilities, set the following fields in the vx_req_account_anonymous_login message.
  • enable_buddies_and_presence - set to 1.
  • buddy_managment_mode - set to always allow, always block, or to notify the application when another user wants to become a buddy.
  • initial_buddy_uris - the initial list of buddies for the user who is signing in.
  • initial_blocked_uris - the initial list of users that are blocked for the user who is signing in.
  • initial_blocked_uris_presence_only - the initial list of users that are blocked for online status subscription only.
  • initial_allowed_uris - the initial list of allowed URIs.
Note
Vivox does not store the list of buddies, blocked users, and allowed users. Every time a user signs in, pass the existing list of buddies, blocked users, and allowed users. You can generate the Vivox user URIs for these lists with vx_get_user_uri() by using your connection information and the account name that is used by the users when they sign in to Vivox.
The following code displays an example of presence-specific sign in behavior:
. . .char **vectorToList(const vector<string> &items){ if (items.empty()) return nullptr; char **list = static_cast<char **>(vx_allocate(sizeof(char*) * (items.size() + 1))); for (size_t i = 0; i < items.size(); ++i) { list[i] = vx_strdup(items.at(i).c_str()); } list[items.size()] = 0; return list;}void (MyLogin (const string &account, const vector<string> &buddies, const vector<string> &blocked, const vector<string> &blockedpresence, const vector<string> &allowed){ vx_req_account_anonymous_login *req; vx_req_account_anonymous_login_create(&req); req->connector_handle = vx_strdup("c1"); req->account_name = vx_strdup(".issuer-w-dev.mytestaccountname."); req->account_handle = vx_strdup(req->account_name); req->access_token = vx_strdup(_the_access_token_generated_by_game_server); req->enable_buddies_and_presence = 1; req->buddy_management_mode = mode_application; req->initial_buddy_uris = vectorToList(buddies); req->initial_blocked_uris = vectorToList(blocked); req->initial_blocked_uris_presence_only = vectorToList(blockedpresence); req->initial_allowed_uris = vectorToList(allowed); vx_issue_request3(&req->base, &request_count);}. . .

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.


    Report a problem with this page