Google Play ゲームサービスをセットアップする

このページでは、Google Play Console を使用して Android ゲーム用に Google Play Games サービスを設定する方法について説明します。Google Play Console では、ゲームサービスを管理し、ゲームの認可と認証に使用するメタデータを一元的に管理できます。

Google Play Console にゲームを追加する一般的な手順は次のとおりです。

  • ゲームのゲーム プロジェクトを作成し、ゲームの名前や説明などの詳細を指定します。

  • ゲームを認可および認証するために必要な認証情報を作成して Google Play Games サービスにリンクします。

はじめに

Google Play Console にログインする

ログインするには、Google Play Console に移動します。これまで Google Play Console に登録していない場合は、登録を求めるメッセージが表示されます。

Google Play Console にゲームを追加する

ゲームを追加する手順は次のとおりです。

  1. Google Play Console でアプリを作成し、ゲームであることを指定します。詳細については、アプリを作成して設定するをご覧ください。

  2. [成長] > [Play ゲームサービス] > [設定と管理] > [設定] に移動します。

  3. ゲームで Google API(Firebase など)をすでに使用しているかどうかを指定します。適切なオプションを選択することが重要です。そうしないと、Google API の使用時にゲームで問題が発生する可能性があります。次の選択肢があります。

    • [いいえ、ゲームで Google API を使用していません]: 新しいゲームを作成する場合や、Google API を設定したことがない場合は、このオプションを選択します。ゲームの名前を入力し、[作成] をクリックします。

    • [はい、ゲームで Google API をすでに使用しています]: ゲーム用の Google API をすでに設定している場合は、このオプションを選択します。この場合は、Google Cloud Console にプロジェクトのリストが表示されます。リストからプロジェクトを選択し、[使用する] をクリックします。

    • [既存の Play ゲームサービス プロジェクトを使用する]: 既存の Play ゲームサービス プロジェクトを使用する場合は、このオプションを選択します。アカウントの既存の Play ゲームサービス プロジェクトのリストが表示されます。リストからゲーム プロジェクトを選択し、[使用する] をクリックします。これは一般的ではありませんが、パッケージ名を変更するために Google Play Console で新しいゲームを作成する場合、またはパッケージ名が異なるゲームの無料版と有料版がある場合は、このように選択することをおすすめします。

    Play ゲームサービスのゲーム プロジェクトが作成され、Google Cloud Console に対応するエントリが作成されます。

  4. [プロパティ] セクションで [プロパティを編集] をクリックして、ゲームの説明、カテゴリ、画像および映像などの情報を追加します。プロパティの構成に関するガイドラインは次のとおりです。

OAuth 2.0 クライアント ID を生成する

ゲームが認証され、認可を受けて Google Play Games サービスを呼び出すには、OAuth 2.0 クライアント ID が必要です。Play ゲームサービスの認証情報(クライアント ID とゲームの関連付け)を設定するには、Google Cloud Platform を使用してクライアント ID を作成します。次に、Google Play Console を使用して認証情報を追加し、クライアント ID をゲームにリンクします。

詳細な手順については、次の手順をご覧ください。

OAuth 同意画面をまだ設定していない場合は、[認証情報] セクションに、設定を求めるメッセージが表示されます。

OAuth 同意画面の設定プロンプト

[設定] をクリックします。ダイアログが開き、詳細な手順と Google Cloud Platform へのディープリンクが表示されます。

OAuth 同意画面の設定プロンプト。

ゲームを利用できる全員が同意画面を利用できるようにします。スコープの最後のリストには、gamesgames_litedrive.appdata が含まれるようにする必要があります。これらのスコープのいずれもアプリの確認を必要としません。同意画面を直ちに公開することをおすすめします。公開できない場合は、テスターに対して同意画面を利用可能にして、ゲームにログインできるようにします。

OAuth 同意画面の設定が完了したら、[完了] をクリックします。Google Play Console は自動的に更新され、設定が正常に完了すると認証情報を作成できます。

認証情報を作成する

認証情報を作成する

ゲームが Google Play Games サービスと通信できるようにするには、承認済みの OAuth2 クライアント ID で認証情報を作成する必要があります。

[認証情報] セクションで、[認証情報を追加] をクリックします。

ウィザードで、Android 認証情報(ゲーム APK がユーザーを認証して Play ゲームサービス API を使用する場合)を作成するか、ゲームサーバーの認証情報(ゲームサーバーが Play ゲームサービス API を使用する場合)を作成するかを選択します。必要な認証情報の種類に応じた手順に沿って操作します。

Android

認証情報の詳細を設定する

[名前] フィールドの名前がゲームの名前と一致していることを確認します。著作権侵害対策を有効にするかどうかを選択します。

認可を設定する

次に、このゲーム プロジェクトに使用する OAuth クライアント ID を選択します。すでに OAuth2 クライアント ID を保有している場合は、その ID を選択できます。ただし、通常は新規に作成します。[OAuth クライアントを作成] をクリックします。ダイアログが開き、ディープリンクと Google Cloud Platform で OAuth クライアント ID を作成するための手順が表示されます。

  1. アプリケーションの種類として [Android] を選択します。
  2. [名前] フィールドにゲームの名前を入力します。
  3. [パッケージ名] フィールドに Android アプリのパッケージ名を入力します。
  4. ターミナルを開いて、Keytool ユーティリティを実行し、リリース証明書とデバッグ用証明書の SHA1 フィンガープリントを取得します。

    リリース用証明書のフィンガープリントを取得するには、次のコマンドを実行します。

    keytool -list -keystore <path-to-production-keystore> -v

    デバッグ用証明書のフィンガープリントを取得するには、次のコマンドを実行します。

    keytool -list -keystore <path-to-debug-keystore> -v

  5. キーストアのパスワードの入力を求めるプロンプトが表示されます。デバッグ キーストアのデフォルト パスワードは android です。Keytool はフィンガープリントをターミナルに出力します。

  6. [署名証明書フィンガープリント(SHA1)] フィールドに SHA1 フィンガープリントを貼り付けます。

  7. [作成] をクリックします。

Android での OAuth 2.0 の詳細については、OAuth2 サービスに対する認証をご覧ください。

ダイアログで [完了] をクリックすると、使用可能なクライアント ID が更新されます。作成した認証情報をプルダウン メニューから選択し、[変更を保存] をクリックします。これにより認証情報が下書きとして作成され、ゲーム内で Play ゲームサービスに対する認証を行うことができます。

リリース証明書のフィンガープリントとデバッグ証明書のフィンガープリントをそれぞれ使用する 2 つの認証情報を作成できます。両方に同じパッケージ名を使用してください。これにより、Google Play Games サービスは、いずれかの証明書で署名されリンクされた APK からの呼び出しを認識できます。Android の証明書の署名について詳しくは、アプリに署名するをご覧ください。

ゲームサーバー

認証情報の詳細を設定する

[名前] フィールドの名前がゲームの名前と一致していることを確認します。

認可を設定する

次に、このゲーム プロジェクトに使用する OAuth クライアント ID を選択します。すでに OAuth2 クライアント ID を保有している場合は、その ID を選択できます。ただし、通常は新規に作成します。[OAuth クライアントを作成] をクリックします。ダイアログが開き、ディープリンクと Google Cloud Platform で OAuth クライアント ID を作成するための手順が表示されます。

  1. アプリケーションの種類として [ウェブ アプリケーション] を選択します。
  2. [名前] フィールドにゲームの名前を入力します。
  3. [作成] をクリックします。

Android での OAuth 2.0 の詳細については、OAuth2 サービスに対する認証をご覧ください。

ダイアログで [完了] をクリックすると、使用可能なクライアント ID が更新されます。作成した認証情報をプルダウン メニューから選択し、[変更を保存] をクリックします。これにより認証情報が下書きとして作成され、ゲームサーバーから Play ゲームサービスに対する認証を行うことができます。ゲームサーバーでの Play Games サービスの使用について詳しくは、Google Play Games サービスへのサーバー側アクセスの有効化をご覧ください。

テストを有効にする

ゲームで Google Play Games サービスが正しく機能していることを確認するには、ゲームの変更を Google Play で公開する前にゲームサービスをテストする必要があります。

ゲームが未公開状態の場合は、ユーザー アカウントを許可リストに追加してテスターにアクセス権を付与します。このように処理しないと、テスターが Play ゲームサービスのエンドポイント(ログイン エンドポイントなど)にアクセスしようとすると、OAuth エラーと 404 エラーが発生します。

承認済みのテスト アカウントを持つユーザーは、公開前の Play ゲームサービス ゲーム プロジェクトにアクセスし、設定済みの Play ゲームサービスが正しく機能していることをテストできます。

テスターがゲームで Play ゲームサービス API を使用できるようにするには、次の 2 つの方法があります。

  • 個人レベルで、個別のメールアドレスを追加します。

  • グループレベルで、Google Play Console のリリース トラックに対して Play ゲームサービスを有効にする。

ゲーム プロジェクトに個別のテスターを追加するには:

  1. Google Play Console でゲームの [テスター] タブを開きます([成長] > [Play ゲームサービス] > [設定と管理] > [テスター])。
  2. [テスターを追加] ボタンをクリックします。
  3. 表示されたダイアログで、テスターとして追加する Google アカウントのメールアドレスを入力します(アドレスごとにカンマで区切るか、1 行あたり 1 つのメールアドレスを入力)。
  4. [追加] をクリックして、ユーザーをテスターとして保存します。追加したテスター アカウントが、数時間以内に Play ゲームサービスにアクセスできるようになります。

グループにテストアクセス権を付与するには、リリース トラックを有効にして Play ゲームサービスにアクセスします。

Google Play のリリース トラック機能を使用すると、プレリリース版のアプリを信頼できるユーザーの管理対象グループに簡単に配布できます。Google Play ヘルプサイトのオープンテスト版、クローズド テスト版、内部テスト版をセットアップするをご覧ください。

特定のリリース トラックでテスト APK にアクセスできるすべてのユーザーに、ゲームをテストするためのアクセス権を付与できます。これは、テスターリストに個別に追加した場合と同じように機能します。手順は次のとおりです。

  1. [PGS テスター] セクションを開き([成長] > [Play ゲームサービス] > [設定と管理] > [テスター])、[リリース トラック] タブを選択します。このページでは、Play ゲームサービスのテストですでに有効になっているトラックのリストも確認できます。
  2. [トラックを追加] をクリックします。
  3. Play ゲームサービスのテストを有効にするトラックを 1 つ以上選択します。
  4. [トラックを追加] をクリックします。

選択したリリース トラックが、Play ゲームサービス テストが有効になっているトラックのリストに表示されます。

この機能は、Google Play Console でゲームに Android アプリがリンクされている場合にのみ使用できます。

一般的な問題を回避する

設定に関する一般的な誤りを回避するため、Google Play Games サービスを使用するようにゲームを設定する際は、以下の推奨事項に従ってください。

1. Google Play Console でゲームをセットアップする
Google Cloud Console でアプリに OAuth 2.0 クライアント ID を作成しても、Google Play Games サービスはゲームの実績やリーダーボードとクライアント ID との関連付けを認識しません。この関連付けを作成するには、認証情報を作成するの説明に沿って、Oauth 2.0 クライアント ID を使用して認証情報を作成する必要があります。
2. Android で正しいアプリケーション ID を使用する
アプリケーション ID は、Android マニフェストで参照する必要がある必須の文字列リソースです。アプリケーション ID の文字列は、Google Play Console によって指定されたクライアント ID の先頭の数字(通常は 12 桁以上)のみで構成されます。アプリケーション ID は [構成] ページの上部に表示され、ゲーム名の下にプロジェクト ID として表示されます。
3. 正しい証明書を使用して APK に署名する
Google Play Console で Android アプリをゲームにリンクする場合は、アプリの公開に使用したパッケージ名と厳密に同一の証明書のフィンガープリントを使用する必要があります。一致しない場合、Google Play Games サービスの呼び出しは失敗します。2 つのクライアント ID(リリース証明書フィンガープリントを使用した ID とデバッグ証明書フィンガープリントを使用した ID)を作成し、両方に対して同じパッケージ名を使用する必要があります。Google Play Console で署名証明書を指定する方法について詳しくは、アプリに署名するをご覧ください。
4. Android 向けの開発では、Play Games SDK をスタンドアロン JAR ではなくライブラリ プロジェクトとして組み込む
Google Play 開発者サービス SDK が Android プロジェクトでライブラリ プロジェクトとして参照されていることを確認してください。参照されていない場合は、アプリが Google Play 開発者サービス リソースを検出できない場合に、エラーが発生する可能性があります。Google Play 開発者サービスを使用するように Android プロジェクトを設定する方法については、Google Play 開発者サービスの設定をご覧ください。
5. 開発中にテスター アカウントでログインする
Google Play Console でゲーム設定の変更を公開していない場合は、許可リストに登録されたテスター アカウントでログインしていないと、テスト中にエラーが発生する可能性があります。テスト用の Google Play Console のパブリッシャー アカウントを常に有効にする必要があります。テスター アカウントの管理方法については、テスト用のアカウントの有効化をご覧ください。
6. Google Cloud Platform で同意画面を公開する
Google Play Console でアプリを公開する前に、Google Cloud Platform で同意画面を公開してください。このステップを実施しないと、一般ユーザーは Play ゲームサービスの機能を使用できません。
7. リリース時には、ゲームを公開する前に Play ゲームサービスの設定を公開する
デベロッパーは、アプリに対応する Play ゲームサービスの設定を公開せずに、アプリを誤って公開する場合があります。これにより、テスター以外のアカウントでログインしているプレーヤーに対してエラーが発生する可能性があります。これは、アプリで正しいゲーム設定を参照できないためです。ゲームをリリースする場合は、まず Google Play Console の [ゲームを公開] オプションを使用してゲームの設定を公開してください。変更を公開する方法については、ゲームの変更の公開をご覧ください。

その他のヒントについては、Android のトラブルシューティング ガイドをご覧ください。

次のステップ

上記の初期設定タスクが完了したら、保存済みゲーム、リーダーボード、実績など、ゲームで Play ゲームサービスの機能を有効にすることができます。