Vivox 認証サービス
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Gaming Services (AGS) Extend Service Extension を使用して Vivox 認証サービスを実装し、AGS、Vivox、およびゲームクライアント間のシームレスな統合を実現できます。この Vivox 認証サービスは、ゲームクライアントが Vivox とやり取りするために必要な署名付き Vivox トークンを生成します。各トークンの有効期限は 90 秒であるため、ゲームクライアントは定期的にサービスから新しいトークンをリクエストする必要があります。
前提条件
-
以下のツールがインストールされた Windows 11 WSL2、Linux Ubuntu 22.04、または macOS 14+:
a. Docker (Docker Desktop 4.30+/Docker Engine v23.0+)
-
Linux Ubuntu の場合:
- Ubuntu リポジトリからインストールするには、
sudo apt update && sudo apt install docker.io docker-buildx docker-compose-v2を実行します。 dockerグループにユーザーを追加します:sudo usermod -aG docker $USER。- ログアウトして再度ログインし、変更を反映させます。
- Ubuntu リポジトリからインストールするには、
-
Windows または macOS の場合:
Windows または macOS への Docker Desktop のインストールに関する Docker のドキュメントに従ってください。
docker version
...
Server: Docker Desktop
Engine:
Version: 24.0.5
...
- extend-helper-cli から利用可能なバイナリを使用します。
-
-
AGS Admin Portal 環境へのアクセス。
-
ベース URL:
<環境のドメイン URL>- AGS Shared Cloud のお客様の例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloud のお客様の例:
https://dev.customer.accelbyte.io
- AGS Shared Cloud のお客様の例:
-
まだ持っていない場合は、ゲーム Namespace を作成します。Namespace ID をメモしてください。
-
以下の権限を含む
confidentialクライアントタイプで OAuth クライアントを作成します:- AGS Private Cloud のお客様の場合:
ADMIN:ROLE[READ]ADMIN:NAMESPACE:{namespace}:NAMESPACE[READ]
- AGS Shared Cloud のお客様の場合:
- IAM > Roles (Read)
- Basic > Namespace (Read)
Client IDとClient Secretを保管してください。 - AGS Private Cloud のお客様の場合:
-
-
Vivox の設定。
- Vivox アプリケーション固有の発行者名
- Vivox ドメイン名
- Vivox 署名キー
アプリリポジトリのクローン
- C#
- Go
- Java
- Python
git clone https://github.com/AccelByte/extend-vivox-authorization-service-csharp
git clone https://github.com/AccelByte/extend-vivox-authorization-service-go
git clone https://github.com/AccelByte/extend-vivox-authorization-service-java
git clone https://github.com/AccelByte/extend-vivox-authorization-service-python
AGS へのデプロイ
AGS に Extend アプリをデプロイするには、Admin Portal で以下の手順を実行します:
Extend アプリを作成
- AGS Admin Portal で、Extend Override アプリを作成する Namespace に移動します。
- サイドバーメニューの ADD-ONS の下にある Extend > Service Extension に移動します。
- Service Extension ページで、+ Create New ボタンをクリックします。
- Create App フォームで、Extend アプリの名前と説明(オプション)を入力します。
- Create をクリックします。新しい Extend アプリが Service Extension アプリリストに追加されます。
Extend アプリをアップロード
-
extend-helper-cli 用の IAM クライアントをセットアップします。クライアントタイプ
confidentialで IAM クライアントを作成し、以下にリストされている必要な権限を割り当てます。Client IDとClient Secretのコピーを保管してください。- AGS Private Cloud のお客様の場合:
ADMIN:NAMESPACE:{namespace}:EXTEND:REPOCREDENTIALS[READ]ADMIN:NAMESPACE:{namespace}:EXTEND:APP[READ]
- AGS Shared Cloud のお客様の場合:
- Extend > Extend app image repository access (Read)
- Extend > App (Read)
- AGS Private Cloud のお客様の場合:
-
必要な環境変数をエクスポートし、extend-helper-cli を使用して Extend アプリコンテナイメージをビルドして AGS にアップロードします。
<project-dir>が Extend アプリプロジェクトディレクトリを指していることを確認してください<namespace>と<app-name>の値は、Extend アプリのApp Detailページで確認できます- 適切なイメージタグ(例:
v0.0.1)を使用してください
- Linux
- Windows (WSL2)
- macOS
# AGS 環境のベース URL (例: https://spaceshooter.prod.gamingservices.accelbyte.io、https://dev.accelbyte.io など)
export AB_BASE_URL='https://xxxxxxxxxx'
# extend-helper-cli 用の OAuth クライアントのクライアント ID (ステップ 1 より)
export AB_CLIENT_ID='xxxxxxxxxx'
# extend-helper-cli 用の OAuth クライアントのクライアントシークレット (ステップ 1 より)
export AB_CLIENT_SECRET='xxxxxxxxxx'
./extend-helper-cli-linux_amd64 image-upload --login --work-dir <project-dir> --namespace <namespace> --app <app-name> --image-tag v0.0.1# AGS 環境のベース URL (例: https://spaceshooter.prod.gamingservices.accelbyte.io、https://dev.accelbyte.io など)
export AB_BASE_URL='https://xxxxxxxxxx'
# extend-helper-cli 用の OAuth クライアントのクライアント ID (ステップ 1 より)
export AB_CLIENT_ID='xxxxxxxxxx'
# extend-helper-cli 用の OAuth クライアントのクライアントシークレット (ステップ 1 より)
export AB_CLIENT_SECRET='xxxxxxxxxx'
./extend-helper-cli-linux_amd64 image-upload --login --work-dir <project-dir> --namespace <namespace> --app <app-name> --image-tag v0.0.1# AGS 環境のベース URL (例: https://spaceshooter.prod.gamingservices.accelbyte.io、https://dev.accelbyte.io など)
export AB_BASE_URL='https://xxxxxxxxxx'
# extend-helper-cli 用の OAuth クライアントのクライアント ID (ステップ 1 より)
export AB_CLIENT_ID='xxxxxxxxxx'
# extend-helper-cli 用の OAuth クライアントのクライアントシークレット (ステップ 1 より)
export AB_CLIENT_SECRET='xxxxxxxxxx'
./extend-helper-cli-darwin_amd64 image-upload --login --work-dir <project-dir> --namespace <namespace> --app <app-name> --image-tag v0.0.1important- 上記のコマンドは、Extend アプリプロジェクトとは別のターミナルおよび異なる作業ディレクトリから実行することをお勧めします。これにより、extend-helper-cli が Extend アプリ用の環境変数を誤って使用することを防ぎます。
- 以下のエラーが発生した場合は、トラブルシューティング: Docker ログインが失敗するを参照して解決手順を確認してください。
Error saving credentials: error storing credentials - err: exit status 1, out: `error storing credentials - err: exit status 1, out: `The stub received bad data.`
イメージが正常にアップロードされると、Image Version History ページにバージョン v0.0.1 のイメージが表示されます。

Extend アプリを設定
アップロードした Extend アプリをデプロイする前に、アプリに必要な環境変数を設定する必要があります。アプリの詳細ページで、前提条件セクションで準備した値を使用して、以下の環境変数を設定します。
AB_CLIENT_IDAB_CLIENT_SECRETVIVOX_ISSUERVIVOX_DOMAINVIVOX_SIGNING_KEY
Extend アプリをデプロイ
Extend アプリをデプロイするには、Deploy Latest Image をクリックします。アプリのステータスが RUNNING に更新されるまで待ちます。これは、Extend アプリが正常にデプロイされたことを示します。
サンプルゲームクライアントの実行
AccelByte は、Vivox 認証サービスを試すためのサンプルゲームクライアントを提供しています。以下の手順に従ってください:
- Unreal Engine
- Unity
-
プロジェクトをクローンします。
git clone https://github.com/AccelByte/extend-vivox-authorization-sample-game-unreal -
Unreal 用の AGS SDK を設定します。AGS Game SDK のインストールガイドの IAM クライアント用の AGS Game SDK の設定セクションの手順に従ってください。
-
Vivox Unreal SDK を設定します。
VivoxGameInstance.cppファイルのVIVOX_VOICE_SERVER、VIVOX_VOICE_DOMAIN、VIVOX_ISSUERの値を、Unreal Dashboard プロジェクトの Vivox 認証情報にある値で設定します。VivoxTokenProvider.cppのVIVOX_TOKEN_PROVIDER_URLの値を設定します。Token Provider Urlフィールドと Inspector フィールドを見つけて変更します。
-
IDE でプロジェクト(
Client/ShooterGame.uproject)を開きます。 -
Windows (64-bit) 用にビルドしてパッケージ化します。
-
ビルドの 1 つ以上のインスタンスを起動します。実行可能ファイル名は
ShooterGame.exeです。 -
1 つのクライアントをホストとし、他のクライアントを参加させます。
-
プロジェクトをクローンします。
git clone https://github.com/AccelByte/extend-vivox-authorization-sample-game-unity -
プロジェクトを既存の Unity Dashboard プロジェクトにリンクします。これにより、Vivox 認証情報が Unity プロジェクトに自動的に取り込まれます。詳細については、Vivox のドキュメントを参照してください。
-
Unreal 用の AGS SDK を設定します。AGS Game SDK のインストールガイドの IAM クライアントを使用するための AGS Game SDK の設定セクションの手順に従ってください。
-
Vivox Unity SDK を設定します。
MainScene.unityファイルを開きます。- Hierarchy ウィンドウで
VivoxVoiceManagerオブジェクトを見つけて選択します。 - Inspector フィールドで
Token Provider Urlフィールドを見つけて変更します。
-
File->Build Settings->Buildに移動してプロジェクトをビルドします。 -
ビルドの 1 つ以上のインスタンスを起動します。実行可能ファイル名は
Client.exeです。 -
Display Name を入力し、Login をクリックします。
次のステップ
この Vivox 認証サービスを要件に合わせてカスタマイズする必要がある場合は、このガイドを参照してください。