プラットフォーム認証

ゲームを Google Play Games サービスと統合するには、まずプラットフォーム認証を実装します。実績、ランキング、イベントなどの他のすべての機能にアクセスするには、これが必要です。

Google Play Games Level Up のユーザー エクスペリエンスに関するガイドラインを満たすには、推奨される認証フローに準拠する必要があります。

初期化と認証

ゲームを初期化して認証するには、次の手順が必要です。

  • 起動時に Play Games サービス v2 SDK を初期化して、プラットフォーム認証を実装します。詳しくは、Android ゲームのプラットフォーム認証をご覧ください。これは、実績やリーダーボードなどの Play ゲームサービス機能にアクセスするために必要な手順です。
  • 認証は、ゲームの起動時にサイレント バックグラウンド プロセスとして実行されます。
  • 既存の Play ゲームサービス ユーザーは、認証に成功するとウェルカム メッセージが表示されます。

    自動ログイン プロンプト

プロファイルの作成オプション

プレーヤーがプラットフォームを利用するには、Play ゲームサービス プロフィールが必要です。ゲームを開始したときに、Play ゲーム サービスのプロフィールがないプレーヤーもいます。これらのプレーヤーには、作成を求めるメッセージが表示されます。

次のいずれかのオプションを選択して、ユーザーに最適なエクスペリエンスを決定できます。

  • 自動トリガーによるプロフィール作成のプロンプト Play ゲームサービス プロフィールがない状態でゲームを起動すると、デフォルトでプロフィール作成のプロンプトが自動的に表示されます。

    ゲームを起動したときにプロファイルの作成を求めるメッセージが表示される。
    ゲームを起動したときに表示されるプロファイル作成のプロンプト(クリックして拡大)。

  • 起動時のプロファイル作成プロンプトを無効にし、ゲームの初期化後に手動プロンプトを追加する マニフェスト ファイルで、自動トリガーによるプロファイル作成プロンプトを無効にできます。これにより、Play ゲームサービス プロファイルのないユーザーは、Play ゲームサービス プロファイルの作成をすぐに求められることなく、実装された認証方法を進めることができます。

    ユーザーは任意の ID プロバイダでログインできますが、Play ゲーム プラットフォームへの登録を促すために、認証結果を取得するでプロフィール作成プロンプトを開始することをおすすめします。このプロンプトは任意でトリガーできますが、ユーザーが実績やリーダーボードなどの機能で大幅な進捗を達成する前に表示されることを確認してください。

    次の推奨タイミングでプロフィール プロンプトをトリガーすることを検討してください。

    • チュートリアルを完了した後。
    • 報酬の瞬間(試合に勝つ、レアアイテムを集める、マイルストーンに到達するなど)。
    • 2 つ目のセッションを起動するとき。

推奨される認証フロー

Google Play Games Level Up のユーザー エクスペリエンスに関するガイドラインを満たすには、プレイヤーの継続性に関する要件に準拠していることを確認してください。プレーヤーがゲームに正常にログインできるようにするには、次の認証フローを使用します。

  1. ゲームの起動シーケンス中に、プロファイル作成オプションを確認して、オプションを選択します。
  2. 自動ログインが機能しない場合、またはユーザーが拒否した場合は、ユーザーが後でログインを希望した場合に備えて手動ログインボタンを表示します。

プレーヤー ID

プレーヤー ID は、Play ゲームサービスのプレーヤー アカウントの識別子です。ゲームは、Play ゲームサービスの認証を使用してゲームにログインしたプレーヤーのプレーヤー ID を取得できます。ゲーム クライアントの統合ゲームサーバーの統合クラウド保存サービスは、この ID を使用して Play ゲームサービスからプレーヤー データに安全にアクセスできます。

ユーザーが複数のデバイスでゲームをプレイする場合、プレーヤー ID は変わりません。ただし、ゲーム間で常に不変であるとは限りません。詳しくは、次世代のプレーヤー ID をご覧ください。

OAuth スコープ

Play ゲームサービスは OAuth システムを使用して、プレーヤーがゲームからアカウントにアクセスできるようにします。Play ゲームサービスにはゲームに固有のスコープ(games-lite)があり、ゲームが保存済みゲーム機能を使用している場合は、別のスコープ(drive.appdata)に依存します。保存済みゲーム機能では、ユーザーの Google ドライブ アカウントにアクセスできます。このアカウントには、ゲームのデータが保存されています。

Play ゲームサービス v2 SDK を使用する場合、追加の OAuth スコープをリクエストできます。追加の OAuth スコープが必要な場合は、requestServerSideAccess を呼び出すことをおすすめします。詳しくは、サーバー認証コードを取得するまたはサーバー認証コードを取得するをご覧ください。

複数の認証サービス

Play ゲームサービスは Android プレーヤー用のゲーム ID を指定しますが、ユーザーに関連付けられている唯一の ID である必要はありません。Play ゲームサービス、ソーシャル ネットワーク ID、独自のゲーム内 ID システムを使用して同時にプレーヤーを認証できます。

Recall API

Recall API を使用すると、ゲームは Google サーバーにリコール トークンを保存することにより、PGS ユーザーとゲーム内アカウント間のリンクを管理できます。この機能を有効にする方法については、PGS Recall API をゲームに統合するをご覧ください。

ゲーム クライアントの統合

認証をゲーム プロジェクトに統合する場合は、次のユーザーフローを使用することをおすすめします。

  1. ゲームの起動シーケンス中に、プロフィール作成オプションが起動し、ユーザーのログインまたは新しいアカウントの作成が試行されます。

  2. 自動認証が機能しない場合、またはユーザーが拒否した場合は、ユーザーが後でログインを希望した場合に備えて手動ログインボタンを表示します。

認証をゲーム プロジェクトに統合する方法については、以下の中からプロジェクトのタイプに合ったスタートガイドをご覧ください。

ゲームサーバーの統合

プレーヤーが認証されたことを確認したら、requestServerSideAccess を呼び出してサーバー認証コードを取得できます。このサーバー認証コードをバックエンド ゲームサーバーに渡して、Play ゲームサービスのサーバーと直接通信します。この通信により、サーバーは次のようなプレーヤーデータにアクセスできます。

  • プレーヤー ID
  • プロフィール
  • 友だち
  • ゲームの進行状況
  • 実績

サーバーは、この認証コードと REST API を使用して、Play ゲームサービス サーバーと安全にやり取りします。詳しくは、Play ゲームサービスに対するサーバーサイドのアクセスをご覧ください。

ログイン リクエストの割り当て

Play ゲームサービスでのログイン リクエストには、1 日の割り当てが設定されています。詳細については、1 日の割り当ての管理をご覧ください。