Play ゲームサービスのログインを使用すると、プレーヤーのゲーム ID を取得できます。これは、Android プレーヤー用のプラットフォーム レベルのゲームに固有の ID です。この ID により、ゲームとプレーヤーとの関係を構築できます。プレーヤーは、代替の一元管理システムよりも、この ID によるログインを進んで行います。
また、ログインにより、クラウド保存システムの鍵として使用できる強力で一貫した ID を使用できます。クラウド保存は高く評価されます。これにより、プレーヤーは次のことを行えます。
- デバイスを変更、リセットした場合に、中断したところから再開する
- 複数のデバイス(別のスマートフォンや Chromebook など)でゲームをプレイする
- ゲームをアンインストールして後で再インストールする
Play ゲームサービス ID は、独自のクラウド保存ソリューションの鍵として使用できます。または、無料の保存済みゲームサービスを使用することもできます。
Play ゲームサービス(PGS)は、プレーヤーをスムーズにログインできる自動ログインをサポートしています。
推奨されるログインフロー
プレーヤーがゲームに正常にログインできるようにするには、次のログインフローを使用します。
- ゲームの起動シーケンス中に、自動ログインがトリガーされ、ユーザーのログインまたは新しいアカウントを作成を試みます。
- 自動ログインが機能しない場合、またはユーザーが拒否した場合は、ユーザーが後でログインを希望した場合に備えて手動ログインボタンを表示します。
自動ログイン
自動ログインを使用すると、ユーザーは手間をかけずにゲームにログインできます。これは自動的に行われます。ゲームがユーザーにログインをリクエストし、Google Play ゲーム アプリで自動ログイン設定が有効になっている場合は、ユーザーの PGS ID 認証情報を受信し、PGS ログイン エクスペリエンスが表示されます。
自動ログインは、ユーザーが制御できる設定です。ユーザーは、すべてのゲームに自動的にログインすることを選択できます。または、毎回ログインを求める画面が表示されるように選択することもできます。
OAuth スコープと PGS
PGS は OAuth システムを使用して、ユーザーがゲームからアカウントにアクセスできるようにします。PGS にはゲームに固有のスコープ(games-lite
)があり、ゲームが保存済みゲーム機能を使用している場合は、別のスコープ(drive.app_data
)に依存します。保存済みゲーム機能では、ユーザーの Google ドライブ アカウントにアクセスできます。このアカウントには、ゲームのデータが保存されています。
PGS v2 では、追加の OAuth スコープをリクエストできなくなりました。その場合は、PGS と一緒に Google ログイン SDK を使用することをおすすめします。
複数のログイン方法のサポート
PGS は Android プレーヤーにゲーム ID を提供しますが、ユーザーに関連付けられている唯一の ID である必要はありません。PGS、ソーシャル ネットワーク ID、独自のゲーム内 ID システムを使用して同時にプレーヤーにログインできます。それぞれのシステムは、デベロッパーとプレーヤーの両方に独自の価値を提供します。また、すべてのユーザーが連携して優れたプレーヤー エクスペリエンスを実現できます。
バックエンド統合のためにプレーヤー ID を安全に取得して検証する
サーバーが、ログイン プレーヤーの権限を使用して REST API を介して Play ゲームサービス サーバーと直接通信できるように、サーバー認証コードをリクエストできます。これにより、プレーヤーの ID、プロフィール、その他の情報(例: 承認されている場合の友だちリスト)に直接アクセスできます。プレーヤー ID、友だち ID、その他の関連データをバックエンドに保存する場合は、このメソッドを使用して、これらのフィールドがデバイス側で操作される可能性を排除する必要があります。
また、一部の古いゲームやプレーヤーについては、あるプレーヤーが Android SDK でプレーヤー ID を返す際に、他のプレーヤーが同じプレーヤーを表示した場合と同じ ID にならない可能性があります。この状態は、友だちリストを使用している場合に特に発生する可能性が高くなります。ただし、REST API 内で返される player_id
は常に整合性があり、他のプレーヤーに表示される ID です。
詳細については、オフライン アクセスと REST API のドキュメントをご覧ください。
クライアントの実装
Android でログイン サポートを実装する方法については、Android ゲームでのログインをご覧ください。