Recall API

Recall API を使用すると、ゲームは Play Games サービス(PGS)をゲームのコンパニオンとして ログインなどの既存のログイン メカニズムを活用し、シームレスに同期できます。 選手全デバイスでログイン情報を使用して、オンボーディングのチャーンを削減 1 日目の維持率も向上します。 この API は、ユーザーの Play Games サービス(PGS)アカウントと リコール トークンを Google サーバーに保存する。こちらが Recall API の使用方法に関するサンプル シナリオ:

  1. ユーザーがプレイするゲームで、デベロッパーがユーザーの進捗状況を追跡する ID システムを用意し、ユーザーがゲームにログインする際には PGS を他の認証方法と同時に使用します。この例では、ユーザーが PGS アカウント Laura にログインし、Racer94 というデベロッパーの ID システムを使ってゲーム内アカウントを作成します。ユーザーがゲームをプレイすると、デベロッパーのゲームサーバーが進行状況を同期します。

    ユーザーが PGS とゲーム内アカウントでログインしている

  2. これとは別に、デベロッパーはユーザーのゲーム内アカウントに対応するリコール トークンを Google に保存します。Google は、そのリコール トークンをユーザーの PGS プロファイルに自動的に保存します。

    ゲームサーバーがリコール トークンを Google サーバーに保存する

  3. このユーザーは、 パソコン あります。ユーザーは PGS アカウントを使用して自動的にログインし、 ゲーム クライアントが、この PGS で利用できる進行状況があるかどうかを確認する できます。その後、ゲームサーバーは Google にクエリを実行し、ゲームのトークンの有無を確認します。 この PGS アカウント。存在するため、Google はリコール トークンを返します。 ゲームサーバーがそのトークンを使用して、ユーザーに関連付けられているアカウントを見つける 進行状況を復元できます。PGS でのログインは ユーザーの進捗状況がアプリによって復元されますが、 ユーザー名またはパスワードを入力する必要があります。さらに開発者は PGS ログインを既存の ID システムで使用でき、Google プレーヤーの進行状況と PGS アカウント間のリンクを保存します。

    ゲームサーバーがリコール トークンで進行状況を復元する

上記の例に示されているように、サービス プロバイダによって実行される主なアクションは 2 つあります。 Recall API:

  • ユーザーがゲーム内のいずれかでログインしたときに、トークンを Google に保存する。 できます。
  • ゲーム内ユーザーを復元するためにユーザーのトークンを取得する できます。

Recall API には、リコール トークンに加えて固定 ID も必要です。 (ペルソナ)と呼ばれるゲーム内アカウントに対応するもので、 カーディナリティ制約。ペルソナは ユーザーのゲーム内アカウントを表すラベルとして、デベロッパーの ID システムであり、鍵としてリコール トークンが格納されています。これは、 ユーザーのゲーム内アカウントをゲームに追加します。ペルソナとトークンの値は再利用できません さまざまな PGS プロジェクト。 また、リコール トークンは時間の経過とともに変化する可能性がありますが、ペルソナは安定している必要があります ゲーム アカウントに応じて異なります。

カーディナリティ ルール

Recall API では、PGS プロファイルとゲーム内アカウントの間に 1 対 1 の関係(カーディナリティ ルールと呼ばれます)が適用されます。つまり、1 つのペルソナは 1 つの PGS プロファイルにのみリンクでき、1 つの PGS プロファイルは 1 つのペルソナにのみリンクできます。リコール トークンは時間とともに変更される可能性があるため、ペルソナはゲーム内アカウントの安定した識別子として使用されます。

PGS プロファイルにリンクされているペルソナも、時間の経過とともに変更される可能性があります(PGS プロファイルにリンクされているゲーム内アカウントがそれぞれ異なるため)。

リコール トークンの保存と取得の詳細な技術的フロー

このセクションでは、ゲーム クライアント、ゲームサーバー、 リコール トークンの格納と取得時に、Google のサーバーと通信します。

ステップ 1: PGS ユーザーにログインしてセッション ID を取得する

ゲームは PGS SDK を初期化し、PGS でのユーザー ログインを試みます。

ユーザーが PGS でログインする

ユーザーがログインしていることを前提として、ゲーム クライアントの Games SDK にセッション ID をリクエストし、Google の OAuth バックエンドに OAuth 2.0 トークンをリクエストします。セッション ID と OAuth 2.0 トークンは、Google ゲームのバックエンドとの通信に使用されます。

デベロッパーがセッション ID をリクエストする

ステップ 2: 利用可能なリコール トークンを取得する

PGS ユーザーのアカウントに関連付けられているリコール トークンをリクエストします。トークンがある場合は、ステップ 3a に進み、進行状況を復元します。新規ユーザーでトークンがない場合は、ステップ 3b に進み、新しいトークンを保存します。

デベロッパーがリコール トークンを取得する

ステップ 3a: トークンが存在する場合は、進行状況を復元する

トークンがある場合は、トークンを取得して復号し、ユーザーデータを復元します。

デベロッパーがリコール トークンからデータを復元する

ステップ 3b: トークンが存在しない場合はトークンを保存する

トークンが存在しないため、進行状況は復元されません。ユーザーがログインに進む デベロッパーの ID システムに関連付けられます。アカウントがない場合は、新しいアカウントを作成します。 あります。

ユーザーがゲーム内アカウントでログインする

ユーザーのゲーム内アカウントをエンコードした、暗号化されたリコール トークンを作成し、セッション ID と OAuth 2.0 トークンとともに Google に送信します。この時点で、Google は送信されたリコール トークンとプレーヤーの PGS アカウントの関連付けを作成します。

デベロッパーがリコール トークンを保存する

PGS プロフィールのないユーザーのフロー

PGS プロフィールをまだ作成していないユーザーの Recall トークンを保存するには、 プロファイルレス モードを使用します。ただし、次の 2 つの重要な注意点があります。

  • PGS プロフィールのないユーザーのトークンを取得することはできません。プロフィール ユーザーがゲームにログインしようとすると、自動作成プロンプトが 2 台目のデバイスで Play Games サービスを利用します。
  • その他のガイドラインに従う必要があります 次の内容について適切な通知があることを確認してください。 エンドユーザーから適切な同意を得る。 <ph type="x-smartling-placeholder">

トークンとペルソナのペアを保存する

PGS プロフィールのないユーザーがゲームを開く

  1. PGS プロフィールのないユーザーが、プロフィールのない再現率のあるゲームを開いた 有効にします。
  2. Games SDK が自動ログインをトリガーしますが、ユーザーが次のことを行ったため、自動ログインに失敗します。 PGS プロフィールがありません。
  3. Games SDK が、ゲームのプレイ状況をユーザーに知らせるスナックバーを表示する 統合されていますこのスナックバーは操作可能で、ユーザーは無効にできます。 呼び出すことができます。
  4. ゲームがリコール アクセスをリクエストします。なお、PGS はリコールへのアクセス リクエストを拒否します。 デバイス上に PGS プロファイルがある場合、または Google デバイス上のアカウントその場合、使用せずにゲームを続行する必要があります。 PGS。
  5. ユーザーがゲーム内アカウントでログインした後、ゲームはトークンを作成し、 ユーザーのゲーム内アカウントに対応するペルソナペア。試合 このペアを Google に保存します追加のトークンが後で格納される場合、 ユーザーが他のゲーム内アカウントにログインしたとき。

新しいデバイスでゲームを起動する

  1. PGS プロフィールのないユーザーが、プロフィールなしのリコールが有効になっているゲームを開いた できます。
  2. トークンを保存するで説明されているように、ゲームがプロファイルのないリコール トークンを記録する ペルソナのペアをご覧ください。
  3. 同じアカウントの別のデバイスで同じゲームを開いた場合 できます。
  4. Games SDK がプロフィールの作成をトリガーする。ユーザーは確認して拒否できる Recall トークンを抽出できます。この時点で、ユーザーが PGS プロフィールを作成します。
  5. PGS への自動ログインが完了し、ゲームに あります。
  6. ゲームは通常どおりユーザーのリコール トークンを取得します。

次のステップ

Recall API をクライアントとゲームサーバーに統合する手順は次のとおりです。 こちらの実装ガイドをご覧ください。