ドキュメント

サポート

Vivox Unity SDK

Vivox Unity SDK

Channel Identifiers For Large Scale Games

Use channel identifiers for large-scale game servers with Vivox.
読み終わるまでの所要時間 1 分最終更新 23日前

以下のいずれかに当てはまる場合は、チャンネル識別子を構成するときにご注意ください。
  • アプリケーションの PCU (ピーク時同時接続ユーザー数) が 100,000 を超えると予想される
  • マルチチャンネル機能の使用を想定している
大規模なゲームは、Vivox Operations の裁量により、複数の物理オーディオサーバー ("シャード") に分割できます。以下の形式を使用してチャンネル識別子を構成してください。 shard-group 例えば、ユーザーを地理的地域 ("北米" の場合は "NA") で割り当てる "Queen of the Death" (QotD) というアプリケーションについて考えてみましょう。さらに、QotD では試合のすべての参加者用に 3D チャンネルに参加し、その後スクワッドのメンバー用に 2D チャンネルに参加するとします。このケースでの QotD にとってのベストプラクティスは、以下の基準を適用することです。
  • ハッシュを使用してマッチを識別する
  • チャンネル識別子の "シャード" 部分に、地域とマッチの識別子を加える
  • チャンネル識別子の "シャード" 部分の後に 3D とスクワッドの識別子を加える
そのマッチに割り当てられているマッチ識別子は
d0634bad1ca5a9cd
で、3D 空間は
tundra
です。さらに、スクワッドには 1 を始めとする整数値の ID が割り当てられており、Channel3DProperties はすでに変数
NewChannelProps
に設定されていると仮定します。
  • ポジショナルチャンネル
    string shard = "NA";string matchId = "d0634bad1ca5a9cd";string positionalSpaceId = "tundra";Channel3DProperties NewChannelProps = new Channel3DProperties(/* Add your own custom positional channel proprties here */);await VivoxService.Instance.JoinPositionalChannelAsync($"{shard}.{matchId}-{positionalSpaceId}", ChatCapability.AudioOnly, NewChannelProps);
  • スクワッド 1 のグループチャンネル
    string shard = "NA";string matchId = "d0634bad1ca5a9cd";int squadId = 1;await VivoxService.Instance.JoinGroupChannelAsync($"{shard}.{matchId}-{squadId}", ChatCapability.AudioOnly);
  • スクワッド 2 のグループチャンネル
    string shard = "NA";string matchId = "d0634bad1ca5a9cd";int squadId = 2;await VivoxService.Instance.JoinGroupChannelAsync($"{shard}.{matchId}-{squadId}", ChatCapability.AudioOnly);