Google Play Games サービスの品質チェックリスト

ゲームの品質はインストール数、プレーヤーによる評価やレビュー、エンゲージメント、プレーヤーの継続率といった点でゲームの長期的な成功に影響します。ゲームを公開する前に、魅力的な機能や直感的で優れた UI デザインを提供し、ゲーム プレーヤーの基本的な期待値を満たせるよう準備することが重要です。

ゲームの成功に大きく影響する可能性のある品質、機能セット、UI といった主な要素を、このドキュメントでご確認いただけます。それぞれの重点分野は 最小要件、ベスト プラクティス 強化できます。プレーヤーに最良のサービスを提供できるよう、チェックリストにある推奨事項をできる限り取り入れることをおすすめします。

1. ログイン

ゲームにプレーヤーのログイン機能を実装する場合は、次のチェックリスト タスクをご利用ください。ログインの仕組みと実装方法の詳細については、ログインのコンセプトをご覧ください。モバイルゲームでログインを実装する方法に関するコード例について詳しくは、Android でのログインの実装をご覧ください。

ID 重要度 説明
1.1 必須 Google Play Games サービスでプレーヤーをログインさせる。
1.1.1. ゲームの起動時にプレーヤーを自動的にログインさせます。バックアップとして手動ログインを使用します。

ゲームに実装すべきこと サイレント ログイン すぐに認証および認可され、すべてのプレーヤーが さまざまな機能が用意されています。サイレント ログインが失敗した場合、アプリは プレーヤーに次の指示を インタラクティブ ログインを行います。 インタラクティブなログインを使用することで、プレーヤーはインタラクティブなログインを ゲームと Play Games は、ユーザーのプロフィールが 適切に設定されているかどうかを確認しますマナーモードと インタラクティブ ログインにより、ログイン率が大幅に向上します。 ユーザーの負担を最小限に抑えられます

プレーヤーがログインしないことを選択した場合は、このことを覚えておき、プロンプトを表示しないようにします。 必要があります。代わりに、 ログイン ボタン。 ログインボタンをプレーヤーが見つけやすい場所に配置する必要があります。たとえば メイン画面から、または 設定画面。このボタンを複数の階層に埋め込まないでください アクセスできます。プレーヤーがログインするたびに自動的にログインできるようにする ゲームを開始すると、ユーザーは設定を変更したり、 ログインします。

1.2 必須 ログインの作成時に Play Games 以外のスコープをリクエストしない 提供しますこれにより、プレーヤーはゲームに自動的にログインできるようになります。 Play Games 以外のスコープをリクエストすると、ユーザーは インタラクティブ ログインを行えます。

Play Games 以外のスコープをすでにリクエストしている場合は、不要なスコープを削除します スコープから <ph type="x-smartling-placeholder"></ph> GoogleSignInOptions 作成し、使用しなくなった API も削除する必要があります。リクエストする必要がある場合 その他のスコープ(たとえば、マーケティング目的でユーザーのメールアドレスを ログイン プロセスの一環として行うのではなく、適切なタイミングで行うようにしてください。

// This is the proper way to do it
GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN;
1.3 必須 プレーヤーがログイン状態を維持できるようにする。

プレーヤーがゲームにログインしたら、プレーヤーを接続します ユーザーが明示的に署名するまで、ゲームの開始時に できます。

1.4 必須 [接続中] と表示されているログイン時に適切なポップアップが表示されます。

Android デバイスでは、Google Play Games の [接続中] にポップアップを表示する必要がある 呼び出されるたびに作成されます。これを行うには、 GamesClient クラスの setViewForPopups() メソッド。 以下を確認します。 このポップアップは、起動時にプレーヤーを自動的にログインさせるときに表示されます。 説明しますこれにより、プレーヤーはゲームに正しくログインしていることを認識できます。

次の例は、「接続中」からポップアップが ログイン時に Android ゲームが表示され、その後、ゲームの簡単なアニメーションが Google Play Games サービスのロゴ。

スクリーンショットにはポップアップが表示されます。
1.5 必須 プレーヤーにログアウト オプションを提供する。

ログイン後、プレーヤーは常にログアウトできるようにする必要があります。

ログアウト ボタンを提供することを アプリのゲーム画面(例: プレーヤーの設定画面)

1.6 ベスト プラクティス プレーヤーがログインを拒否したかどうかを確認します。

ゲームの初回起動時にプレーヤーがログインを拒否した場合、 ログインフローで [キャンセル] をクリックした場合など UI など)、ユーザーがゲームプレイを続行できるようにする必要があります。

プレーヤーがゲームを再度起動したときに、インタラクティブなログインフローを呼び出さない 自動的に適用されます。これらのプレーヤーは、後でログインするために 設定システムにあるログインボタン。これにより、 ログインを何度も拒否する必要がなくなります。

唯一の例外は、プレーヤーが特定のサービスにアクセスできるゲームプレイ機能に ログインに依存する(たとえば、チャット フォームにスコアを送信するなど) リーダーボード)。この場合は、ログインしてから続行するようユーザーに促します。 説明します。

1.7 ベスト プラクティス ログインするプレーヤーの数を最大化する。

Google Play Games サービスにログインするプレーヤーが増えると、 競争やコラボレーションの機会を増やすことで、 説明します。ログインするプレーヤーの数を最大化するため Google Play Games サービスを使用する場合は、 ログインしてもらう必要があります。

そうでなければ、できるだけ早くログインフローにプレーヤーを誘導してください。 次のいずれかを選択します(最も推奨されます):

  • ゲーム開始直後。
  • カットシーンや動画などの初歩的な体験の直後に ご覧ください
  • プレーヤーがゲーム内の任意の場所で Google ログインボタンをクリックしたとき。
1.8 任意 Google のブランドの取り扱いガイドラインを遵守する。

魅力的で質の高いエンドツーエンドのエクスペリエンスを プレーヤーに提供すること Google Play Games サービスを実装する ブランドの取り扱いガイドラインをご覧ください。

1.9 任意 ログイン状態であることをプレーヤーに通知する。

ゲームで特定のアクションが自動的に実行される際に、ログインしているプレーヤーに対して適切な通知またはヒントを表示します。たとえば、ログイン プレーヤーが特定のレベルをクリアした場面で、次のようなメッセージを表示してスコアと実績が自動的にアップロードされることを伝えます: 「You are signed in with Google. Your achievements and scores will be saved automatically.(Google にログインしているため、実績とスコアは自動的に保存されます。)」

1.10 必須 Play ゲームサービス ID を使用してプレーヤーの進捗状況をバックアップする。

デバイスの切り替えやリセットをする、または複数のデバイスでプレイする際にプレーヤーの進捗状況が失われないようにするには、進捗状況をクラウド保存ソリューションにバックアップし、Play ゲームサービス ID をキーとして使用します。独自のバックエンド ゲームサーバーを使用する場合は、Play ゲームサービス ID を安全に使用してください。プレーヤーがログインすると Play Games サービス ID で、その進行状況が存在するかどうかを確認します 再開したら、プレーヤーは中断したところから再開できます オフにします。独自のクラウド保存ソリューションまたは Play Games サービスの保存済みゲームを使用できます。

ユーザーがログインしていない場合、プレーヤーの進捗状況をローカルで維持し、プレーヤーが最終的にログインしたときに、その進捗状況を同期できるようにします。これにより、プレーヤーがゲームへのログインを延期した際に、ゲームの進捗状況のデータが失われるのを防止できます。

2. 実績

次のチェックリスト タスクは、 実績機能。

ID 重要度 説明
2.1 必須 すべての実績を必ず獲得できるようにする。

作成されたすべての実績のロック解除をプレーヤーが行えるようにします。

2.2 推奨 実績を明確にする。

画像、テキスト、説明をすべての実績で一意にします。

2.3 推奨 実績のスコアを適切に記録する。

実績のポイントは、その実績を獲得するのに必要な時間またはスキルの量に比例する必要があります。

2.4 推奨 さまざまな難易度レベルの実績を設計する。

プレーヤーが気軽にゲームをプレイして獲得できる簡単な実績をいくつかと、スキルやプレーヤーの努力が必要な中級の難易度の実績を複数、熱心なプレーヤー向けの獲得が非常に難しい実績を 1 つか 2 つ取り入れます。

たとえば、次のスクリーンショットは獲得が難しい実績を示しています。 ファンの動機付けと維持につなげています。

宝石 5,000 個の獲得が必要な難易度の高い実績
2.5 任意 早い段階で実績を授与しない。

まだ熱中していない新規プレーヤーに、ゲームプレイ開始 5 分間で複数の実績を授与することは避けましょう。

意図せず達成することを定義してはいけない ゲームプレイの早い段階で付与されたもの。たとえば、 達成するとすぐに達成できる 「ダメージを受けずにレベルをクリアする」など

2.6 任意 魅力的なゲーム内アクティビティに関する実績を定義する。

ゲームの魅力を高め、もう一度プレイしたくなるような実績を構築できる指標を選択してください(たとえば、「倒したゾンビの数」は「キャラクターの歩数」よりも高い関心を得られる指標です)。

2.7 任意 色付きの実績アイコンを使用する。

Google Play Games サービスでは、以下の目的のためにグレースケールの実績アイコンを使用します。 獲得済みか未獲得かを明示します。すべてのリソースの使用が 黒(または真っ白)の達成アイコンがある場合は、カラーの背景に表示します。

2.8 任意 非公開の実績の使用を最小限に抑える。

実績を非公開とするのはゲームのネタバレを避ける場合のみとし、標準的に実績を非公開にしないようにしてください。

2.9 任意 運に頼りすぎる実績は避ける。

「宝箱に入っている可能性が 1% のアイテムを見つける」実績よりも「宝箱を 100 個見つける」実績をおすすめします。

2.10 任意 「実績ハンター」の立場で考える。

中には、作成されたすべての実績を獲得しようとするプレーヤーもいます。このようなプレーヤーの要望に応える実績を用意するようにしてください。プレーヤーが制御できない要素に頼りすぎる、またはプレーヤーがゲーム中になんらかの決断を下した後は獲得できなくなる実績は作成しないでください。

2.11 任意 実績アイコンが正しく表示されることを確認する。

Android トーストで実績アイコンを表示すると、アイコンは円形で囲まれ、その外側の角は表示されなくなります。必ず、 このような状況でもアイコンは適切に表示されます。

3. リーダーボード

ゲームにリーダーボード機能を実装する場合は、次のチェックリスト タスクをご利用ください。

ID 重要度 説明
3.1 ベスト プラクティス メインメニューと主な場面遷移の後にリーダーボードが表示されるようにする。

リーダーボードは、 ゲームの読み込み。ゲームで重要な場面が遷移した後( 終了時に、またはプレーヤーが終了したときに、プレーヤーは直ちに 関連するリーダーボードにリンクします。

3.2 推奨 送信できるスコアの上限を定義する。

可能であれば、スコアが明らかに虚偽である場合はリーダーボードの定義時に破棄されるよう制限を追加してください。

3.3 推奨 カスタム アイコンを使用する。

定義した各リーダーボードのカスタム アイコンを作成します。Google Play Games アプリでは表示の解像度が低下するため、ゲームのアイコンをそのまま使用しないでください。

3.4 推奨 スコア送信の頻度を適切に設定する。

レベルの終了時やプレーヤーのゲーム キャラクターの死亡時など、ゲーム内の重要な場面遷移の後にスコアを送信します。クリティカルでないゲームの場合 「エンドレス ランナー」タイプのゲームなどの場合、 スコアを送信する頻度を指定します。スコアを継続的に送信してはいけません 処理しています

3.5 任意 スコアタグを利用する。

スコアタグとは、スコアの送信時に追加できるデータのことです。たとえば、プレーヤーの送信スコアが有効であることを確認するフラグとしてスコアタグを実装できます。

カスタム リーダーボードにも、このタグデータを読み込むことができます。動画プレーヤーの ID を含む YouTube 動画の ID がスコアカードに たとえば、ゲームでその動画を視聴するためのリンクを作成できます。 配置する必要があります

3.6 任意 独自のリーダーボード UI をクリエイティブに設計する。

リソースがある場合は、ソーシャル リーダーボード データ上に独自のカスタム リーダーボード ビューを作成します。ソーシャル リーダーボードは通常、 ユーザーエクスペリエンスが向上します最初に確認して エントリがある場合はそうでない場合は、 リーダーボードを使用してください。

3.7 任意 競争順位をプレーヤーに示す。

リーダーボードの API では、スコア ウィンドウの表示がサポートされています(例: +/-10 位以内のプレーヤーのランキング)。カスタムビューを作成している場合、これはプレーヤーのエンゲージメントを高めるのに有用です。スコア ウィンドウは、ゲームの重要な場面遷移(レベルの終了時やプレーヤーのゲーム キャラクターの死亡時など)の直後に表示できます。プレーヤーがクリックすることなく、ランキング情報を確認できるようにします。

4. 友だち

次のチェックリスト タスクは、 フレンド API

ID 重要度 説明
4.1 必須 プレーヤーがリストに表示されているときに、Play Games アイコンを表示する Play Games プロフィールを持っているユーザーの横に表示されます。

このリストは、既存の友だちのリスト、最近プレイした友だちのリスト、またはその他の友だちのリストです。

4.1.1. Play Games アイコンはクリック可能でなければなりません。
ユーザーがアイコンを押した場合、ゲームは getCompareProfileIntent() または getCompareProfileIntentWithAlternativeNameHints() を呼び出して、ユーザーが他のプレーヤーのプロフィールと比較できる UI を表示する必要があります。
4.1.2. プレーヤーのプロフィールと友だち招待のサポート。これにより、カスタマイズ可能なゲーム内プレーヤー名を使用できます。
プレーヤーがゲーム内で別の名前を設定し、Play ゲーム プロフィール名を使用しない場合は、getCompareProfileIntentWithAlternativeNameHints() を使用し現在のプレーヤーと表示中のプレーヤーの両方に対して、プロフィール ビューとビューから送信される友だちの招待状のコンテキストとして、代わりにゲーム内名を指定するようにします。任意のユーザー コンテンツではなく、値に対して永続的でグローバルなプレーヤー名のみを渡します。この要件は、ゲーム内から送信された友だちの招待状が、両方のプレーヤーに対してコンテキストを指定することを表します。
  • 受信者には、招待状送信者のゲーム内名とゲーム名が表示されます。
  • フレンドシップを見ると、送信者には、受信者のゲーム内名や、招待元のゲームが引き続き表示されます。
4.2 推奨 さまざまなアイコンを使用して、どの Play ゲームのユーザーがすでに友だちになっているか、また Play ゲームの友だちではなくまだ Play ゲームにログインしていないかを示すことができます。「友だち」用に 1 つ、「友だち以外」(または、友だちステータスが不明な場合)用に 1 つの、Play ゲームユーザー用の 2 つのアイコンを使用します。
友だちアイコン
「友だち以外」アイコン
4.3 推奨 ログインするたびに loadFriends() を呼び出して友だちのリストを表示し、友だちリストが最新の状態であるようにします。更新されたリストがプレーヤーに表示されるようにします。
4.4 ベスト プラクティス ゲームにすでにゲーム内の友だちが含まれている場合は、Google Friends API を使用して Play Games の友だちを追加して友だちリストを増やす。 プレーヤーがゲーム内の友だちリストに含まれており、Play ゲームの友だちでもある場合は、「友だち」のアイコンを表示します。
4.5 ベスト プラクティス プレーヤーがフレンドリストへのアクセス リクエストを拒否しても、 ユーザーがアクセス権を取得しない限り、再度アクセスを要求するダイアログを表示する アクセスを許可することを示すアクション(たとえば、 「Play Games の友だちをインポートして」] ボタンをクリックします)。
4.6 ベスト プラクティス プレーヤーがフレンドリストへのアクセスを拒否した場合は、そのプレーヤーに提供します。 今後、友だちリストへのアクセス権を付与する方法( [Play Games フレンドをインポート]をタップした後] ボタンをクリックします)。
4.7 推奨 バックエンド サーバーでプレーヤー ID または友だちリストを使用する場合は、ID またはリストに安全にアクセスする必要があります。また、一部の古いゲームやプレーヤーについては、あるプレーヤーが Android SDK でプレーヤー ID を返す際に、他のプレーヤーが同じプレーヤーを表示した場合と同じ ID にならない可能性があります。この状態は、友だちリストを使用している場合に特に発生する可能性が高くなります。ただし、REST API 内で返される player_id は常に整合性のある、他のプレーヤーに表示される ID です。

5. 割り当てとレート制限

次のチェックリスト タスクは、Google Cloud での割り当てとレート制限の管理に適用されます。 説明します。ゲームの割り当てを管理し、レートがいつ発生したかを検出する 超えている場合は、割り当てとレート制限の管理をご覧ください。

ID 重要度 説明
5.1 推奨 クライアント ライブラリを使用する。

モバイル クライアント ライブラリでは、サービスの呼び出しを減らすためにいくつかの戦略が採用されています。たとえば、実績や リーダーボードはキャッシュされるため、プレーヤーは自分の実績を何度でも見ることができます。 複数の呼び出しを行う必要はありません。

Android クライアント ライブラリがプレーヤーの スコアをサーバーに送信し、 送信しました。また、Android ライブラリでは、レート制限を検出すると増分実績の頻繁な呼び出しを自動的にまとめて処理します。

5.2 任意 増分実績の頻繁な呼び出しをまとめて処理する。

作成する対戦型ゲームに「パンチを 5,000 回繰り出す」という実績がある場合に、ユーザーがパンチを繰り出すたびに増分実績の呼び出しを送信しないようにします。ラウンドが終了するまで待ってから、increment(xxx) という呼び出しを 1 回送信します(xxx は該当するラウンドでユーザーが出したパンチの合計数です)。または、パンチが 50 回繰り出されるまで待ってから increment(50) という呼び出しを 1 回送信するようにします。

5.3 任意 使用量を常に意識する。

Google Play Games サービスの呼び出し回数に注意してください。 レート上限への到達を回避しても、呼び出し頻度が高ければネットワーク トラフィックが増大し、デバイスのバッテリー消耗が加速する原因となる可能性があります。このような問題を回避するには、次のような方法があります。

  • 保存済みゲームを実行する場合は、ボタンをクリックするたびに保存するのではなく、数分に 1 回の頻度で保存する。
  • プレーヤーがゲームオーバーになるまで待ってからハイスコアを送信する。
  • Google Cloud Platform のプロジェクト ダッシュボードに移動して、アプリの 1 日あたりの割り当て量を確認する。

6. 保存済みゲーム

ゲームに保存済みゲーム機能を実装する場合は、次のチェックリスト タスクをご利用ください。

ID 重要度 説明
6.1 必須 保存済みゲームの追加のコンテキストを指定するメタデータを追加する。

保存済みゲームを commit する際は、少なくとも次のメタデータを追加する必要があります。

  • カバー画像 - ゲームの進行状況をとらえたリマインダーのスクリーンショット ユーザーがどこからゲームをやめたかがわかります
  • [Description] - 追加情報を カバー画像のコンテキストです。
  • タイムスタンプ - プレーヤーが保存済みゲームをプレイした時間の長さ。
6.2 必須 プレーヤーに保存済みゲームの読み込みを許可する。

プレーヤーが Play ゲームアプリ、またはデフォルトの保存済みゲーム選択 UI のいずれかから選択した場合に、正しい保存済みゲームを読み込みます。