Play ゲームサービスのログインは、Play ゲームサービスでプレーヤーを認証し、クロスデバイス プレイで使用する Android ゲーム用の ID(プレーヤー ID)を提供します。ログインは保存済みゲームサービスをサポートしていますが、プレーヤー ID を自身のクラウド保存サービスのキーとして使用することもできます。
SDK バージョン
このトピックは、Play ゲームサービス v2 SDK を対象としています。以前の SDK については、Play ゲームサービス v1 のドキュメントをご覧ください。
Play ゲームサービス v2 SDK は v1 に比べ、ログインに関して次のように改善されています。
- ユーザー向けの改善点:
- デフォルトのアカウントを選択すると、ユーザーはプロンプトを操作せずにログインできます。
- デベロッパー向けの改善点:
- ゲームを起動するとログインが自動的にトリガーされ、アカウント管理は OS 設定で処理されるため、クライアント コードでログインまたはログアウトのフローを処理する必要がなくなりました。
ログイン リクエストの割り当て
Play ゲームサービスでのログイン リクエストには、1 日の割り当てが設定されています。詳しくは、1 日の割り当ての管理をご覧ください。
マルチログイン サービス
Play ゲームサービスは Android プレーヤー用のゲーム ID を指定しますが、ユーザーに関連付けられている唯一の ID である必要はありません。Play ゲームサービス、ソーシャル ネットワーク ID、独自のゲーム内 ID システムを使用して同時にプレーヤーのログインを処理できます。
自動ログイン
プレーヤーは、ゲームの起動時に自動ログインが有効であれば、ログイン プロンプトを操作することなくゲームにログインできます。プレーヤーは、Google Play Games アプリで、またはゲームに表示される最初のログイン プロンプトで自動ログインを有効にできます。
プレーヤー ID
プレーヤー ID は、Play ゲームサービスのプレーヤー アカウントの識別子です。ゲームは、Play ゲームサービスのログインを使用してゲームにログインしたプレーヤーのプレーヤー ID を取得できます。ゲーム クライアント、バックエンド ゲームサーバー、クラウド保存サービスは、この ID を使用して Play ゲームサービスからプレーヤー データに安全にアクセスできます。
ユーザーが複数のデバイスでゲームをプレイする場合、プレーヤー ID は変わりません。ただし、ゲーム間で常に不変であるとは限りません。詳しくは、「次世代のプレーヤー ID」をご覧ください。
OAuth スコープ
Play ゲームサービスは OAuth システムを使用して、プレーヤーがゲームからアカウントにアクセスできるようにします。Play ゲームサービスにはゲームに固有のスコープ(games-lite
)があり、ゲームが保存済みゲーム機能を使用している場合は、別のスコープ(drive.app_data
)に依存します。保存済みゲーム機能では、ユーザーの Google ドライブ アカウントにアクセスできます。このアカウントには、ゲームのデータが保存されています。
Play ゲームサービス v2 SDK を使用する場合、追加の OAuth スコープはリクエストできません。追加の OAuth スコープが必要な場合は、Play ゲームサービスと Google ログイン SDK を使用することをおすすめします。
ゲーム クライアントの統合
ログインをゲーム プロジェクトに統合する場合は、次のユーザーフローを使用することをおすすめします。
ゲームの起動シーケンス中に、自動ログインが起動し、ユーザーのログインまたは新しいアカウントの作成が試行されます。
自動ログインが機能しない場合、またはユーザーが拒否した場合は、ユーザーが後でログインを希望した場合に備えて手動ログインボタンを表示します。
ログインをゲーム プロジェクトに統合する方法については、以下の中からプロジェクトのタイプに合ったスタートガイドをご覧ください。
ゲームサーバーの統合
プレーヤーがログイン サービスを使用してゲームにログインすると、バックエンド ゲームサーバーは Play ゲームサービスのサーバーと直接通信して、プレーヤー ID、プロフィール、フレンドリスト、その他の Play ゲームサービスのデータにアクセスできます。これには、Play ゲームサービス SDK によって提供されるサーバー認証コードが必要です。サーバーは、Play ゲームサービスの REST API とこの認証コードを使用して、Play ゲームサービスのサーバーと安全に通信できます。
詳しくは、Play ゲームサービスに対するサーバーサイドのアクセスをご覧ください。