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



  • この記事は、Google Playゲームサービスに関する記事を和訳したものです。
  • 原文: Setting Up Google Play Games Services
  • 元記事のライセンスは CC-BYで、この和訳記事のライセンスは CC-BYです。
  • 自己責任でご利用ください。
  • 和訳した時期は 2019年7月ころです。

このドキュメントでは、あなたの Android、あるいは、Webベースのゲーム用に Google Playゲームサービスをセットアップするために、Google Play Consoleを使用する方法について説明します。 Google Play Consoleは、あなたに、ゲームサービスを管理するための、および、あなたのゲームを認可し認証するためのメタデータを構成するための一元管理の場所を提供します。

Google Play Consoleにあなたのゲームを追加するには、次の手順に従ってください:

  • あなたのゲーム用のエントリを作成し、ゲームの名前や詳細といった詳細を指定します。
  • あなたのゲームを Google APIにアクセスさせるために、あなたのゲームを認可し認証するために必要な資格情報を提供しなければなりません。
  • ひとたびあなたのゲームのエントリが作成されれば、それをあなたのゲームの Android版およびウェブ版にリンクするので、これらのプラットフォームのプレイヤーは、同じゲームの詳細を見て、また、同じ Google Playゲームサービスの構成を共有します。

これらの手順は、以下のセクションで詳しく説明しています。

Step 1. Google Play Consoleにサインインする

サインインするには、Google Play Consoleに移動します。 もし以前に Google Play Consoleに登録したことがなければ、そうするよう促されるでしょう。

Step 2. あなたのゲームを Google Play Consoleに追加する

あなたのゲームを追加するには、次の手順を実行します:

  1. Game Servicesページを開き、左側の Google Play games servicesタブを選択し、それから Add New Gameボタンをクリックします。
  2. 追加しているゲームが既に Google APIを使用しているかどうかを指定します。

    • 追加しているゲームが既に Google APIを使用しているかどうかを指定します。 もし、このゲームがゼロから作成しているゲームであるならば、あるいは以前にそのための Google APIをセットアップしたことがないならば、I don't use any Google APIs in my game yetタブに留まります。 あなたのゲームの名前を入力し、それにカテゴリを割り当て、それから Continueボタンをクリックします。
    • もし、これが既に 1つ以上の Google APIをセットアップしたゲームであるならば、I already use Google APIs in my gameタブを選択します。 開発者としてリストされているプロジェクトのリストが Google API Consoleから表示されるでしょう。 このリストからあなたのプロジェクトを選択し、ゲームにカテゴリを割り当て、それから Continueボタンをクリックします。
  3. Game Detailsフォームにて、あなたのゲームのための説明、カテゴリ、およびグラフィックアセットを追加します。

    • テストの場合、表示名のみが必要とされます。 他のフィールドは、あなたのゲームを公開する前に記入されなければなりません。
    • あなたのゲームのための表示名および説明は、同じ Google Playゲームサービスを共有するあなたのゲームのすべてのバージョンにわたって適用するのに十分に汎用的である必要があります。
    • グラフィックアセットを作成するときのガイドラインについては、Google Play for Developers guideおよび Google Play Featured-Image Guidelinesを参照してください。
  4. Google Play Consoleにてあなたのゲームのための新しいエントリを作成するために Saveをクリックします。 Google API Consoleにて対応するエントリも作成されます。

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

あなたのゲームは、認証され、Google Playゲームサービスを呼び出すことが認可されるために、OAuth 2.0 クライアント IDを持たなければなりません。 クライアント IDとあなたのゲーム間の関連付けをセットアップするには、クライアント IDを生成するために Google Play Consoleを使用し、それをあなたのゲームにリンクします。

あなたのゲームのための OAuth 2.0 クライアント IDを生成するには、次の手順を実行します:

a. リンクされたアプリケーションを作成する

あなたのゲームを Google API Consoleのプロジェクトにリンクするには、Linked appsページを開き、それからあなたのプラットフォームに固有の指示に従ってください。

Android

  1. Androidボタンをクリックします。
  2. アプリケーション名はプレイヤーに表示されることがあるので、あなたの実際の Androidゲームの名前に密接にマッチした名前を指定します。
  3. アプリケーションのパッケージ名を追加します。
  4. Google Playゲームサービスのリアルタイム型あるいはターンベース型マルチプレイヤーのサポートを使用するには、適切なマルチプレイヤーの設定を有効にします。
  5. 著作権侵害対策をオンにするかどうかを選択します。
  6. Save and continueをクリックし、それから、以下のクライアント IDを作成するセクションの手順に従ってください。

Web

  1. Webボタンをクリックします。
  2. アプリケーション名はプレイヤーに表示されることがあるので、あなたの実際のウェブゲームの名前に密接にマッチした名前を指定します。
  3. あなたのゲームを起動するための URLを追加します。
  4. Save and continueをクリックし、それから、以下のクライアント IDを作成するセクションの手順に従ってください。

b. クライアント IDを作成する

  1. Step 2: Authorize your app画面にて、OAuth 2.0 クライアント IDを作成するプロセスを開始するために、Authorize your app nowボタンをクリックします。
  1. プロジェクト名を入力するよう促されるでしょう。 この情報は、ユーザがあなたのゲームを認可することを求められたとき、OAuth 2.0 パーミッションダイアログボックスにて表示されるでしょう。 あなたのゲーム名は、デフォルトではプロジェクト名フィールドに配置されています。
  2. Continueをクリックし、それから、以下のクライアント IDの設定を指定するセクションの手順に従ってください。

c. クライアント IDの設定を指定する

次に、あなたのプラットフォームに固有の手順に従って、あなたのクライアント IDの設定を指定します。

Android

  1. あなたのアプリケーションタイプとして Installed applicationを選択し、インストールされるアプリケーションタイプとして Androidを選択します(これらはあなたの唯一の選択肢でなければなりません)。
  2. Package nameフィールドに、あなたの Androidアプリケーションのパッケージ名を入力します。
  3. ターミナルを開き、証明書の SHA1フィンガープリントを取得するために Keytool utilityを実行します。 リリースおよびデバッグ証明書の両方のフィンガープリントを取得する必要があります。

    リリース証明書のフィンガープリントを取得するには:

    keytool -list -keystore <path-to-production-keystore>
    
    デバッグ証明書のフィンガープリントを取得するには:
    keytool -list -keystore <path-to-debug-keystore>
    
  4. keytoolは、キーストアのためのパスワードを入力するよう促します。 デバッグキーストアのデフォルトのパスワードは androidです。 keytoolは、それから、ターミナルにフィンガープリントを出力します。
  5. Signing certificate fingerprint (SHA1)フィールドに SHA1フィンガープリントを貼り付けます。
  6. Create clientボタンをクリックし、それから、以下の認証と認可のための資格情報を収集するセクションの記述に従ってください。

Android上での OAuth 2.0の詳細については、Authenticating to OAuth2 Servicesを参照してください。

2つのクライアント ID、リリース証明書のフィンガープリントを用いたものと、デバッグ証明書のフィンガープリントを用いたものを作成する必要があります。 必ず両方に同じパッケージ名を使用してください。 これは、Google Playゲームサービスが、いずれの証明書を用いて署名されたあなたのリンクされた APKからの呼び出しを認識できるようにします。 Android用の証明書の署名の詳細については、Signing Your Applicationを参照してください。

Google Play Consoleにて同じゲームエントリに複数の Androidアプリを追加することができます。 しかしながら、これは同じゲームの異なるバージョンがある場合に限り行われる必要があります(例えば、無料版と有料版)。 この場合、常に無料版の前に有料版を(あるいは、デモ/試用版の前に完全版を)リストします。 不正な振る舞いを引き起こすかもしれないので、異なるゲームを同じプロジェクトにリンクしないでください。 代わりに、公開するそれぞれのゲームのために、Google Play Consoleにて別のゲームエントリを作成します。

Web

  1. あなたのアプリケーションタイプとして Web applicationを選択します(これらは唯一の選択肢でなければなりません)。
  2. アプリをホストしているサイト名あるいはホスト名を入力します。 後から追加のサイトを追加することができます。
  3. OAuth 2.0 リダイレクト URIが自動的に作成されるでしょう。 もし別の URIにリダイレクトしたいならば、これを後から変更することができます。 もしあなたの OAuth 2.0サインインを処理するために Javascriptを使用しているならば、この URIを無視し、後でそれを削除することができます。
  4. もし、ホスト名、および/あるいは、リダイレクト URLに対してより大きく制御したければ、more optionsリンクをクリックします。 これは、複数の認可されたサイトだけでなく、クライアントサイドの OAuthを呼び出すことができる複数のリダイレクト URI(JavaScriptオリジンによって呼び出されるものも)も追加できるようにするでしょう。 一般的なルールとして、開発に必要とするだけの認可されたホストあるいはリダイレクト URIを持つ必要があります、しかしそれを超えて持つべきではありません。 さらには、あなたのゲームを公開する前に、許可されたオリジンとして "localhost" のような URLを削除する必要もあります。 もし、サーバサイドの OAuthを使用している(つまり、OAuthページにリダイレクトし、あなたのゲームにリダイレクトバックする)ならば、リダイレクトバックするページを Authorized Redirect URIsボックスに指定します。 もし、クライアントサイドの OAuthを使用している(つまり、ポップアップダイアログ内に OAuthダイアログがある)ならば、あなたのゲームを提供しているサーバを Authorized JavaScript Originsボックスに指定します。
  5. Create clientをクリックし、それから、以下の認証と認可のための資格情報を収集するセクションの記述に従ってください。

d. 認証と認可のための資格情報を収集する

あなたが開発しているプラットフォームに応じて、次の資格情報を探し、記録する必要があるかもしれません。

クライアント ID

Create Clientボタンをクリックした後、このアプリケーションのためのあなたの新しいクライアント IDが表示されるはずです。 後からこの情報が必要になるので、クライアント IDをメモしてください。 プラットフォームごとに異なるクライアント IDを持つでしょう。

Linked Appsページに再訪し、あなたのプラットフォーム用のクライアント IDに関連付けられたリンクされたアプリケーションをクリックすることによって、常に、後からこの情報を見つけることができます。

クライアント IDはページの下部にリストされています。

クライアントシークレット(ウェブベースゲーム用のみ)

もしウェブベースのアプリケーションを構築しているならば、あなたのサーバーベースの APIクライアントを認証するために、あなたのクライアントシークレットも必要になるかもしれません。 あなたのウェブアプリケーション用のリンクされたアプリケーションエントリをクリックすることによって、あなたのクライアントシークレットを見つけることができます。

画面の下部に、Google API Consoleへリダイレクトするリンクが表示されるでしょう、そこで、このリンクされたアプリケーションのためのクライアントシークレットを見つけることができるでしょう。

アプリケーション ID

さらには、正常にサインインをセットアップるために、あなたのアプリケーション IDを知っている必要があるかもしれません。 ページの上部にある、あなたのゲームの表示名に隣接した 12桁あるいは 13桁の数を探すことによって、これを見つけることができます。

e. (オプション) 複数のクライアント IDを作成する

もし複数のプラットフォーム上で実行するゲームを作成しているならば、それぞれのプラットフォーム(ウェブ、Androidなど)用の個別のクライアント IDを作成する必要があります。 これを行うには、Linked appsページの Link another appボタンをクリックし、リンクされたアプリケーションを作成するセクションから始まる手順を繰り返します。

一般的なセットアップの問題を回避する

一般的なセットアップのミスを避けるために、あなたのゲームを Google Playゲームサービスを使用するようにセットアップするとき、これらの推奨事項に従ってください。

1. Google Play Consoleを用いてあなたのゲームをセットアップします
もし Google Play Consoleにてあなたのアプリのための OAuth 2.0 クライアント IDを作成したならば、Google Playゲームサービスはゲームの実績やリーダーボードとクライアント IDとの関連について知ることができないでしょう。 この関連を作成するには、まず、リンクされたアプリケーションを作成するで説明したゲームを用いてあなたのアプリをリンクする必要があります。
2. Androidでは正しいアプリケーション IDを使用します
アプリケーション IDは、あなたの Androidマニフェストにて参照しなければならない、必要とされる文字列です。 アプリケーション ID文字列は、Google Play Consoleによって提供されるクライアント IDの先頭の数字(一般的には 12桁以上)のみで構成されています。 アプリケーション IDを見つける方法については、アプリケーション IDを参照してください。
3. 正しい証明書を用いてあなたの APKに署名します
Google Play Console内のあなたのゲームをあなたの Androidアプリをリンクするとき、あなたのアプリを公開するときに使用した、同じパッケージ名および証明書のフィンガープリントを正確に使用しなければなりません。 もし不一致があるならば、Google Playサービスへの呼び出しは失敗するでしょう。 2つのクライアント ID、リリース証明書のフィンガープリントを用いたものと、デバッグ証明書のフィンガープリントを用いたものを作成し、両方に同じパッケージ名を使用する必要があります。 Google Play Consoleにて署名の証明書を指定する方法については、Signing Your Applicationsを参照してください。
4. Android用に開発するとき、Play Games SDKをスタンドアロンの JARではなく、ライブラリプロジェクトとしてインクルードします
Google Play servces SDKが、あなたの Androidプロジェクトにてライブラリプロジェクトとして参照されていることを確認してください、そうでなければ、これは、あなたのアプリが Google Playサービスのリソースを探すことができないとき、エラーを発生させる可能性があります。 Google Playサービスを使用するためにあなたの Androidプロジェクトをセットアップする方法については、Setting Up Google Play Servicesを参照してください。
5. 開発中にテスターアカウントを用いてサインインします
もし Google Play Consoleにてあなたのゲームの設定の変更を公開していなければ、ホワイトリストに登録されたテスターアカウントを用いてサインインしてい場合、テスト中にエラーに遭遇するかもしれません。 常に、あなたの Google Play Consoleのパブリッシャーアカウントをテスト用に有効にする必要があります。 テスターアカウントを管理する方法については、テスト用にアカウントを有効にするを参照してください。
6. リリースでは、あなたのゲームを公開する前に、まず Playゲームサービスの設定を公開します
開発者は、誤って、彼らのアプリ用の対応する Google Playゲームサービスの設定を公開することなしに彼らのアプリを公開するかもしれません。 アプリが正しいゲーム設定を参照することができないので、これは、テスターではないアカウントを用いてサインインしたプレイヤーが、エラーに遭遇することを引き起こすかもしれません。 あなたのゲームをリリースするときには、まず、Google Play Consoleにて Publish Gameオプションを使用することによってあなたのゲームの設定を公開することを忘れないでください。 あなたの変更を公開する方法については、あなたのゲームの変更を公開するを参照してください。

追加のヒントについては、これらの関連リソースを参照してください:

次のステップ

先に進む前に、テスト用にアカウントを有効にするにて説明したように、あなたのゲームにテストアカウントを追加する必要があります。 認可されたテストアカウントを持つユーザは、Google Playにてあなたの未公開のゲームにアクセスすることができ、あなたの設定された Google Playゲームサービスが正常に機能していることをテストすることができます。

ひとたび上記の初期セットアップのタスクを完了したならば、リーダーボードや実績といった、あなたのゲームのための Google Playゲームサービスを構成することを進めることができます。 詳細については、Playゲームを構成するを参照してください。