ゲームにサインインする
Vivox SDK を初期化した後は、そのゲームに割り当てられた Vivox インスタンスにユーザーをサインインさせることができます。
プレイヤーに使用される名前は、Unity AuthenticationId か、Unity Authentication が使用されていない場合は新しい GUID になります。
ノート: Account コンストラクターに渡すユーザー名の一部として発行者やドメインを加えないでください。これは Account コンストラクターが代わりに処理します。
初期化されたら、VivoxService.Instance.LoginAsync
メソッドを呼び出して Vivox にサインインします。
VivoxService.Instance.LoginAsync
のオプションの引数は LoginOptions 構造体で、ユーザーの表示名を設定する、テキスト音声変換を有効にする、またはブロックユーザーリストをロードすることができます。
LoginOptions で表示名が設定されると、この名前は参加するチャンネル内のすべてのユーザーに表示されます。ユーザーはこれを DisplayName (VivoxParticipant の結果内) として、VivoxService.Instance.ParticipantAddedToChannel
または VivoxService.Instance.ParticipantRemovedFromChannel
から受け取ります。
- 表示名は現在のセッションでのみ有効で、Vivox ネットワークには保持されません。
- 表示名の最大長は 127 バイトです。
ノート: Vivox SDK は、表示名のチェックを実行しません。表示名がゲームのルールに従っていること、フォントの文字がゲーム内のレンダラーでサポートされていること、表示名について重複、わいせつ性、偽装がチェックされていることを確認するのは、ゲーム開発者の責任です。表示名は、ゲームクライアントを使用するのではなく、帯域外の手段 (ゲームサーバーなど) で確認することをお勧めします。
以下のコードは、サインインプロセスを開始する方法、DisplayName を "Bob" に設定する方法、テキスト音声変換を有効にする方法の例です。
using UnityEngine;
using Unity.Services.Vivox;
class LogInExample : MonoBehaviour
{
. . .
async void LoginUserAsync()
{
// For this example, the VivoxService is initialized.
var loginOptions = new LoginOptions()
{
DisplayName = "Bob",
EnableTTS = true
};
VivoxService.Instance.LoginAsync(loginOptions)
}
. . .
}
LoginAsync が正常に呼び出されたときにイベントを受け取るために、VivoxService.Instance.LoggedIn
と VivoxService.Instance.LoggedOut
にサブスクライブできます。
以下のコードは、VivoxService.Instance.LoggedIn
イベントと VivoxService.Instance.LoggedOut
イベントにサブスクライブする方法と、LoginState の値が異なる関数を処理する方法の例です。
using UnityEngine;
using Unity.Services.Vivox;
class LoginPropChangeExample : MonoBehaviour
{
. . .
VivoxService.Instance.LoggedIn += onLoggedIn;
VivoxService.Instance.LoggedOut += onLoggedOut;
. . .
private void onLoggedIn()
{
// Operations as needed
}
private void onLoggedOut()
{
// Operations as needed
}
}
ノート: ユーザーがサインインしている状態でアプリケーションを起動することをお勧めします。ユーザーがアプリケーション内で別のアカウントにサインインできるシナリオでは、ユーザーがサインインしている状態でゲームサーバーに接続することをお勧めします。