認証
Matchmaker への認証方法は 2 つあります。
- プレイヤー認証
- サービスアカウント認証
プレイヤー認証
プレイヤー認証は、プレイヤー主導のマッチメイキングを可能にするために Unity Authentication を使用します。これにより、ゲームクライアントは Matchmaker サービスにコンタクトしてチケットを作成できるようになります。
Matchmaker SDK を使用して呼び出しを行う前に、必ず Authentication サービスを 初期化 してサインインするようにしてください。
サインイン する方法は複数ありますが、最もシンプルな方法は 匿名ログイン を使用することです。
サービスアカウント認証
サービスアカウント認証は、ゲームクライアントの代わりにバックエンドサービスがマッチメイキングチケットを作成する場合に使用されます。これは、マッチメイキングチケットにサーバー側のデータ (スキル値など) を追加する必要がある場合に役立ちます。
サービスアカウントを作成するには、こちらの 説明 に従ってください。
Matchmaker でサービスアカウントを使用するには、こちらの手順 に従ってください。
以下は、典型的なサービス間認証フローの例です。
プレイヤー認証で前述したように、クライアントが匿名認証を実行します。
クライアントは、
PlayerIdをパラメーターとして使用し、カスタムバックエンドサーバーを呼び出します。カスタムバックエンドは、
impersonate-user-idヘッダーをPlayerId値に設定して、チケット作成ルートを呼び出します。curl --location --request POST 'https://matchmaker.services.api.unity.com/v2/tickets' --header 'Content-Type: application/json' --header 'Authorization: {{SERVICE-ACCOUNT-TOKEN}}' --header 'impersonated-user-id: {{PLAYER-ID}}' --data-raw '{ "players": [ { "id": "{{PLAYER-ID}}", "customData": { "Skill": {{ENRICHED-DATA}} } } ] }'カスタムバックエンドがクライアントにチケット ID を送信します。
クライアントは、クライアント SDK を使用してチケットのステータスをポーリングします。