シームレスな復元は、新しいデバイスにゲームをインストールしたり、ゲームを再インストールしたりしたときに、復帰したプレーヤーが進行状況にすぐに再接続されるメカニズムです。これにより、ログイン画面の煩わしさがなくなります。シームレスな復元が可能なシナリオでは、ゲームはプレーヤーが最後にプレイしたゲーム内アカウントを復元することが望ましいです。
シームレスな復元は、Level Up プログラムの推奨ガイドラインです。
ゲームは、次のシナリオでプレーヤーの最新のゲーム内アカウントを復元します。
実装ガイドライン
シームレス復元を使用する方法については、以下のガイドラインを参照してください。
シームレス復元を使用するタイミング
- 新しいデバイス / 新規インストール: 復帰したプレーヤーが新しいデバイスにゲームをインストールした場合、ゲームは Google Play ゲームサービス プレーヤー ID にリンクされた最後にプレイしたゲーム内アカウント(IGA)を復元する必要があります。プレーヤーは、最後に保存した進行状況からプレイを続行できることを期待しています。
- 再インストール: 復帰したプレーヤーが任意のデバイスにゲームをインストールした場合は、新しいデバイスへのインストールとして扱い、シームレスな復元を実装します。
シームレス復元を使用しない場合
- アプリの更新: プレーヤーがアプリを更新した場合、ローカル データはすでに存在しているはずです(たとえば、プレーヤーが Google Play を通じてアプリを更新した場合など)。この場合、シームレスな復元をトリガーせず、ローカルの状態を尊重します。ただし、ローカルデータが利用できず、最後にプレイした IGA が PGS プレーヤー ID に関連付けられている場合、ゲームはこの IGA を復元するか、プレーヤーにゲームのログイン画面を表示できます。
- 明示的なログアウト: プレーヤーが IGA から明示的にログアウトした場合、アカウントを切り替えるか、ゲームからログアウトしたままにするのが目的である可能性が高いです。この場合は、次の起動時に以前のアカウントを強制的に復元しないでください。代わりに、ログイン画面を表示します。これにより、プレーヤーは複数のゲーム内アカウントを切り替えることができます。
競合の解決:
ゲームが理想的な認証フローのユーザー エクスペリエンス ガイドラインを実装し、シームレスな復元の実装ガイドラインに準拠している場合、ゲームで競合の解決が発生することはありません。ただし、プレーヤーが大幅な進行状況のローカル Guest アカウントを持っており、PGS にリンクされた最後にプレイした IGA のクラウド バックアップも持っている場合、ゲームはローカルデータを自動的に上書きすべきではありません。代わりに、2 つの状態から選択するようプレーヤーに促すプロンプトを表示します。
たとえば、次のようなプロンプトを表示します。 「クラウド保存が見つかりました。レベル 50 を復元しますか?それともローカルのレベル 5 を維持しますか?"
最後にプレイした IGA を PGS プレーヤー ID にバインド
シームレスな復元を実装するには、ゲームで、プレーヤーがプレイした最新の IGA と認証済みの PGS プレーヤー ID の関連付けを確認する必要があります。これを行うには、次のいずれかの方法を使用します。
- 独自のバックエンド: プレーヤー ID とゲーム内識別子の関連付けをバックエンドで維持し、さらに最後にプレイした状態をゲーム内識別子にマッピングして、プラットフォーム認証後にプレーヤー ID を取得したらすぐに、プレーヤーの最後にプレイした IGA を取得できるようにします。
Recall API(推奨): 独自の堅牢な ID バックエンドがない場合は、Recall API を使用してシームレス復元を実装することをおすすめします。これにより、Google はユーザーのプレーヤー ID とゲーム内アカウント ID(ペルソナ)のリンクを保存できます。Recall API の仕組み:
ストア: ユーザーがプレイするときに、「リコール トークン」(IGA への暗号化されたリンク)を Google に送信します。
取得: 新しいデバイスで PGS 認証後に Recall API をクエリします。トークンが存在する場合は、トークンを復号して IGA ID を見つけ、進行状況をすぐに復元します。