このドキュメントでは、Google Play Console を使用してゲームにゲームの統計データを統合する方法について説明します。ここでは、CSV ファイルと ZIP ファイルの基本的な形式について説明し、それらの作成、インポート、管理方法について解説します。
イベントを作成またはインポートする
Google Play Console を使用して初めてイベントを追加する方法は 2 つあります。
- イベントを作成: イベントを 1 つずつ追加します。
- イベントをインポート: 複数のイベントをインポートします。
予定を作成する
ゲームのイベントを作成する手順は次のとおりです。
- Google Play Console でゲームを選択します。
- [Play Games サービス - ゲームの統計データ] ページ ([ユーザーを増やす] > [Play Games サービス] > [設定と管理] > [ゲームの統計データ]) で、[イベントを追加] > [イベントを作成] を選択します。
- [イベントを作成] ページで、フォームに入力します。
- [変更を保存] をクリックします。
イベントをインポート
ゲームに一度に複数のイベントを追加する手順は次のとおりです。
- イベントの CSV ファイル PlayerGameEvent.csv を作成します。
- Google Play Console でゲームを選択します。
- [Play Games サービス - ゲームの統計データ] ページ([ユーザーを増やす] > [Play Games サービス] > [設定と管理] > [ゲームの統計データ])で、[イベントを追加] > [CSV でインポート] を選択します。
- [イベント設定] ページで、アップロードする CSV ファイルをドロップします。
- イベントを作成したら、統計情報を設定します。
統計情報の作成またはインポート
Google Play Console を使用して初めて統計情報を追加する方法は 2 つあります。
- 統計情報を作成する: 統計情報を 1 つずつ追加します。
- 統計情報をインポート: 複数の統計情報をインポートします。
統計情報を作成する
ゲームの統計情報を作成する手順は次のとおりです。
- Google Play Console でゲームを選択します。
- [Play Games サービス - ゲームの統計データ] ページ ([ユーザーを増やす] > [Play Games サービス] > [設定と管理] > [ゲームの統計データ])で、 [統計情報を追加] > [統計情報を作成] を選択します。
- [統計情報を作成] ページで、フォームに入力します。
- [変更を保存] をクリックします。
- 統計情報を作成したら、ゲームを公開します。
インポートの統計情報
統計情報をインポートする手順は次のとおりです。
- 統計データの ZIP ファイルのガイドラインに沿って、統計データ、ローカライズ、アイコンのファイルを含む ZIP ファイルを作成します。
- Google Play Console でゲームを選択します。
- [Play Games サービス - ゲームの統計データ] ページ([ユーザーを増やす] > [Play Games サービス] > [設定と管理] > [ゲームの統計データ])で、[統計情報を追加] > [ZIP 経由でインポート] を選択します。
- [ゲームの統計データの設定] ページで、アップロードする ZIP ファイルをドロップします。
- すべての統計情報をアップロードしたら、ゲームを公開します。
ゲームの統計データをテストする
ゲームの統計データが意図したとおりに動作することを確認するには、次の手順でテストします。
- Google Play Console で内部テストトラックを設定します。
- テスター用のテスト アカウントをゲーム プロジェクトに追加します。
- Google Play Games アプリを使用して、テスト アカウントの 1 つの Google Play Games サービス プロフィールを作成します。
- Play Games サービス プロフィールを作成したテスト アカウントを使用してゲームを開きます。
- ゲームの起動時に自動認証が成功したことを確認するため、Play Games サービスの「ようこそトースト」が画面に表示されることを確認します。
- テスト アカウントのユーザーは、ゲームをプレイしてイベントをトリガーできます。API レスポンスを調べて、イベントが記録されているかどうかを確認します。
テスト用にデバイスでゲームの統計データの公開設定を管理する
Google Play Console でテスターがゲームを利用できるようになったら、次の手順に沿ってデバイスでゲームの統計データを確認します。
Google Play ストアのキャッシュを削除します。
- 端末の [設定] を開きます。
- [アプリ] > [Google Play ストア] をタップします。
- [ストレージとキャッシュ]、[キャッシュを削除] の順にタップします。
Google Play ストア アプリを開きます。
ゲームの統計情報は、[プレイ時間の確認] セクションまたはゲーマー プロフィールで確認できます。
方法 1: [プレイ時間を確認] セクションを使用する
[プレイ時間を記録する] セクションに移動し、タップしてゲームの統計情報を表示します。
方法 2: ゲーマー プロフィールを使用する
- [マイページ] タブをタップし、ゲーマー プロフィールをタップします。
- [ゲームの統計データ] セクションに移動します。
- 期間で [すべて] を選択します。
- ゲームが表示されない場合は、[ゲームをすべて表示] をタップします。
- ゲームを選択して統計情報を表示します。
デバイスのログを表示する
ゲームの統計データが設計どおりに動作することを確認するには、デバイスのログをオンにします。
デバイスで adb デバッグを有効にして、ターミナルで次のコマンドを実行します。
adb shell setprop log.tag.Games INFO adb logcat -s "PlayGamesServices[GameStatsAgent]:I"
次の例に示すように、成功ログ メッセージが表示されることを確認します。
Successfully uploaded batch of X events.
注: API は部分アップロードをサポートしているため、この情報ログはバッチが処理されたことを示します。バッチ内の個々のイベントのいずれかでスキーマ検証が失敗した場合、このメッセージの前にエラーログが表示されます。
送信されたイベントのいずれかが検証に失敗すると、失敗の詳細を示すエラー メッセージが表示されます。
BatchRecordEvents validation failed for X event(s): ...
ゲームの統計データを公開する
テストが完了したら、ゲームを公開する必要があります。ゲームのイベントと統計情報がすべて公開されます。
公開する手順は次のとおりです。
- Google Play Console でゲームを選択します。
- [Play Games サービス - ゲームの統計データ] ページ([ユーザーを増やす] > [Play Games サービス] > [設定と管理] > [ゲームの統計データ])で、[確認して公開] をクリックします。
- [Play Games サービス - 公開] ページ([ユーザーを増やす] > [Play Games サービス] > [設定と管理] > [公開])で、アクションを確認して問題を修正します。
- [発行] をクリックします。 ゲームの統計データがすべて公開されます。
ゲームの統計データを編集する
既存のゲームの統計データを編集する手順は次のとおりです。
- Google Play Console でゲームを選択します。
- [Play Games サービス - ゲームの統計データ] ページ([ユーザーを増やす] > [Play Games サービス] > [設定と管理] > [ゲームの統計データ])に移動します。
- イベントを編集するには:
- [イベントの構成] セクションで、イベントを選択します。
- イベント プロパティを追加または削除できます。
- イベント名は編集できません。
- [変更を保存] をクリックします。
- 統計情報を編集するには:
- [ゲームの統計データ構成] セクションで、統計を選択します。
- [統計名]、[統計の説明]、[アイコン ファイル名] の各フィールドは編集できます。
- 統計 ID、進行方向は編集できません。統計単位、関連するイベントの詳細。
- [変更を保存] をクリックします。
- [Play Games サービス - ゲームの統計データ] ページで、編集した統計情報のステータスが [テスターが利用可能] になっています。
- 統計情報をテストしたら、[確認して公開] をクリックします。これにより、編集したすべての統計情報とともにゲームが再公開されます。
ゲームの統計データを削除する
ゲームの統計データを公開した後は、削除できません。
イベントまたは統計情報は、[テスターに公開] ステータスで削除できます。
- Google Play Console でゲームを選択します。
- [Play Games サービス - ゲームの統計データ] ページ([ユーザーを増やす] > [Play Games サービス] > [設定と管理] > [ゲームの統計データ])に移動します。
- イベントを削除するには:
- [イベントの構成] セクションで、イベントを選択します。
- [予定を削除] をクリックします。
- Stat を削除するには:
- [ゲームの統計データの構成] で、削除するデータを選択します。
- [ゲームの統計情報を削除] をクリックします。
イベントの CSV ファイルのガイドライン
CSV ファイルの 1 行目はヘッダー行です。イベントは、イベントの CSV ファイル(PlayerGameEvent.csv など)を使用してインポートする必要があります。
PlayerGameEvent.csv 形式
CSV には、宣言されたイベントとそのプロパティがカンマ区切り値として次の順序で含まれています。
Event Name,Property Name,Property Type
progressionStat の progressUpdate イベントを送信する場合は、このイベントの行を追加します。このイベントには、INT または STRING 型の currentProgress プロパティと、送信するその他のプロパティを少なくとも 1 つ含める必要があります。
各フィールドについては、以下の表をご覧ください。
| CSV の列ヘッダー | 必須 / 省略可 | 指定可能な値 |
|---|---|---|
| イベント名 | 必須 | 最大 50 文字 使用できるのは英数字とアンダースコアのみです。 特殊なイベント名 |
| プロパティ名 | 必須 | 最大 50 文字 使用できるのは英数字とアンダースコアのみです。 イベントごとに一意: プロパティ名は同じイベント内で一意である必要があります。 次の予約済みキーワードは使用しないでください。 |
| プロパティのタイプ | 必須 | サポートされているデータ型のいずれかに一致する大文字と小文字が区別される列挙型文字列: INT64、DOUBLE、STRING、BOOL |
PlayerGameEvent.csv ファイルの要件:
- このファイルでは、最大 20 個の一意のイベント名と、イベントごとに最大 20 個のプロパティがサポートされています。
- ファイルの内容は空にできません。少なくとも 1 行が必要です。
表の例
| イベント名 | プロパティ名 | プロパティ タイプ |
|---|---|---|
| matchCompleted | duration | DOUBLE |
| matchCompleted | kill | INT64 |
| matchCompleted | isWinner | BOOL |
| matchCompleted | matchType | STRING |
| itemCollected | coinsAmount | INT64 |
| itemCollected | weaponType | STRING |
| progressUpdate | currentProgress | INT64 |
統計データの ZIP ファイルに関するガイドライン
ZIP ファイルを使用して統計情報を一度にインポートできます。ZIP ファイルで使用する正確なファイル名については、以下の表をご覧ください。
| ファイル名 | 必須 / 省略可 | 指定可能な値 |
|---|---|---|
RepetitiveStatsConfig.csv
|
必須 | 繰り返し統計データは、プレーヤーが定期的に行うゲーム内アクションを表します。 |
ProgressionStatConfig.csv
|
必須 | 進行状況の統計情報は、プレーヤーのゲームの進行状況を表します。 |
StatLocalizations.csv
|
省略可 | ゲームの統計データの名前と説明の翻訳を提供します。 |
| アイコン ファイル | 必須 | 512 x 512 の PNG、JPEG、JPG 形式のアイコン。 |
ZIP ファイルは次の要件を満たしている必要があります。
- ZIP ファイルのサイズ上限: 非圧縮時の合計サイズの上限は 10 MB です。
- 最大ファイル数: ZIP アーカイブ内の合計ファイル数は最大 53 個(3 個の CSV ファイルと 50 個のアイコン)です。
- 最大統計情報数の上限:
ProgressionStatConfig.csvとRepetitiveStatsConfig.csvを合わせて最大 50 個の統計情報。 - サポートされている CSV ファイル:
ProgressionStatConfig.csv、RepetitiveStatsConfig.csv、StatLocalizations.csv(省略可)。進行状況の統計情報のみをアップロードする場合は、ZIP に反復統計情報の CSV ファイルを含めないでください。含めると、コンソールでエラーが発生します。繰り返し表示される統計情報のみをアップロードする場合も同様です。 - アイコン画像ファイル: PNG(.png)または JPEG(.jpg、.jpeg)。
- CSV で参照されているすべてのアイコンは、ZIP ファイルのルートに存在する必要があります。
- ZIP に含まれるすべての画像ファイルは、少なくとも 1 つの統計情報で参照されている必要があります。
- ディレクトリ構造: すべてのファイルは ZIP ファイルのルートに配置する必要があります。サブディレクトリは使用できません。
RepetitiveStatsConfig.csv 形式
CSV には、宣言されたイベントとそのプロパティがカンマ区切り値として次の順序で含まれています。
Stat Id,Event Name,Event Property Name,Aggregation Type,Stat Display Name,Stat Description,Filter Property,Filter Operator,Filter Value,Is Competitive,Min limit,Max limit,Icon File Name,Good value direction,Unit
各フィールドについては、以下の表をご覧ください。
| CSV の列ヘッダー | 必須 / 省略可 | 指定可能な値 |
|---|---|---|
| 統計データ ID | 必須 | 最大 100 文字 使用できるのは英数字とアンダースコアのみです。ゲーム内のすべての統計情報の中で一意である必要があります。 |
| イベント名 | 必須 | 最大 50 文字 PlayerGameEvent.csv 形式で定義されているイベント名を参照する必要があります。 |
| イベント プロパティ名 | 必須 | 最大 50 文字 |
| 統計データの表示名 | 必須 | 最大 50 文字 統計情報のデフォルトの表示名(デフォルトのロケール)。統計情報全体で一意である必要があります。 |
| 統計データの説明 | 必須 | 最大 500 文字 統計情報のデフォルトの説明。 |
| 集計タイプ | 必須 | 最大 50 文字 SUM、MAX、MIN、COUNT。 |
| プロパティをフィルタ | 省略可 | 最大 50 文字 PlayerGameEvent.csv で定義されているプロパティ名である必要があります。 |
| フィルタ演算子 | 省略可 | =, !=, >, <, >=, <=フィルタ比較演算子。 |
| フィルタ値 | 省略可 | Filter プロパティと比較します。フィルタ値は INT64, DOUBLE, BOOL, STRING にする必要があります。 |
| 競争的 | 必須 | true, false
|
| 最小値 | Is Competitive が true の場合は必須 | 対戦型の統計データで許容される最小スコア。 |
| 最大値 | Is Competitive が true の場合は必須 | 対戦型の統計データで許容される最大スコア。 |
| アイコンのファイル名 | 必須 | ZIP ファイルのルートに含まれるアイコン画像のファイル名。繰り返し統計で使用されるアイコン ファイル名と競合することはできません。 |
| お得感のあるお店の方向性 | 必須 | 値が高い方が良いか INCREASING、値が低い方が良いか DECREASING を指定します。 |
| 単位 | 省略可 | 生の数値または期間の値の測定単位。たとえば、KILOMETER、SECOND、PERCENTAGE、UNITLESS などです。 |
フィルタ条件を使用しない場合は、セルを空白のままにします。
表の例
| 統計データ ID | イベント名 | プロパティ名 | 集計 | 統計データの表示名 | 統計データの説明 | プロパティをフィルタ(省略可) | フィルタ演算子(省略可) | フィルタ値(省略可) | 競争的 | minLimit | maxLimit | Icon filename | お得感のあるお店の方向性 | 単位 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | matchCompleted | duration | MAX | 最長一致サバイバル | これは、任意の試合でのプレーヤーの生存時間を示します。 | isWinner | = | TRUE | TRUE | 0 | 50 | stat1.png | 減少 | 秒 |
| 2 | matchCompleted | isWinner | COUNT | 勝利試合数 | これは、プレーヤーが勝利した試合の数を示します。 | isWinner | = | TRUE | TRUE | 0 | 50 | stat3.png | 増加 | |
| 3 | matchCompleted | kill | SUM | 1 対 1 の試合でのキル数 | 1 対 1 の試合でのキル数 | matchType | = | "1-on-1" | FALSE | stat4.png | 増加 | |||
| 4 | itemCollected | coinsAmount | SUM | 収集したゴールドの合計 | 試合中にコインを集めるプレーヤー | weaponType | = | "sword" | FALSE | stat2.png | 増加 |
ProgressionStatConfig.csv 形式
CSV には、宣言されたイベントとそのプロパティがカンマ区切り値として次の順序で含まれています。
Stat Id,Event Property Name,Stat Display Name,Stat Description,Icon File Name,Good value direction,Unit
進行状況の統計データは、ゲーマー プロフィールでプレーヤーに最初に表示される統計データになります。
各フィールドについては、以下の表をご覧ください。
| CSV の列ヘッダー | 必須 / 省略可 | 指定可能な値 |
|---|---|---|
| 統計データ ID | 必須 | 最大 100 文字 使用できるのは英数字とアンダースコアのみです。ゲーム内のすべての統計情報の中で一意である必要があります。 |
| イベント プロパティ名 | 必須 | 最大 50 文字 PlayerGameEvent.csv で定義されているプロパティ名である必要があります。 |
| 統計データの表示名 | 必須 | 一意の名前である必要があります。 |
| 統計データの説明 | 必須 | 最大 50 文字 統計情報のデフォルトの説明。 |
| アイコンのファイル名 | 必須 | ZIP ファイルのルートに含まれるアイコン画像のファイル名。繰り返し統計で使用されるアイコン ファイル名と競合することはできません。 |
| お得感のあるお店の方向性 | 必須 | 値が高い方が良いか INCREASING、値が低い方が良いか DECREASING を指定します。 |
| 単位 | 省略可 | 生の数値または期間の値の測定単位。たとえば、KILOMETER、SECOND、PERCENTAGE、UNITLESS などです。 |
表の例
| 統計データ ID | イベント プロパティ名 | 統計データの表示名 | 統計情報の説明 | アイコン ファイル名 | 価値の高い方向性 |
|---|---|---|---|---|---|
| 5 | currentProgress | レベル | プレーヤーは試合をプレイして XP を獲得し、レベルアップします。 | Level.png | 増加 |
StatLocalizations.csv 形式
CSV には、宣言されたイベントとそのプロパティがカンマ区切り値として次の順序で含まれています。
Stat Id,Stat Display Name,Locale,Localized Stat Display Name,Localized Stat Description
各フィールドについては、以下の表をご覧ください。
| CSV の列ヘッダー | 必須 / 省略可 | 指定可能な値 |
|---|---|---|
| 統計データ ID | 必須 | 最大 100 文字 使用できるのは英数字とアンダースコアのみです。ゲーム内のすべての統計情報の中で一意である必要があります。 |
| 統計データの表示名 | 必須 | 一意の名前である必要があります。 |
| 言語/地域 | 必須 | 言語 / 地域コード(en-US など)。 言語 / 地域を指定する前に、ゲームの翻訳を追加します。デフォルトの言語 / 地域を指定することはできません。 サポートされている言語 / 地域コードについては、 サポートされている言語のリストをご覧ください。 |
| ローカライズされた統計の表示名 | 省略可 | 最大 50 文字。指定されたロケールの統計データの表示名を翻訳します。 |
| ローカライズされた統計の説明 | 省略可 | 最大半角 500 文字(全角 250 文字)。指定された言語 / 地域での統計情報の翻訳された説明。 |
表の例
| 統計データ ID | 統計データの表示名 | 言語コード | ローカライズされた統計名(UTF-8) | ローカライズされた統計の説明(UTF-8) |
|---|---|---|---|---|
| 1 | 最長一致サバイバル | es | Supervivencia más larga en partidos | Esto denota el tiempo de supervivencia de una jugadora en cualquier partido. |
| 1 | 最長一致サバイバル | fr | Survie du match le plus long | Cela indique la durée de survie d'un joueur dans n'importe quel match. |
| 4 | 収集したゴールドの合計 | es | Oro total recolectado | La jugadora recoge monedas mientras juega en un partido |
| 4 | 収集したゴールドの合計 | fr | または total collecté | Le joueur collecte des pièces en jouant un match |
アイコン ファイル
CSV ファイルで参照するアイコンは、インポートする現在の ZIP アーカイブに含まれている必要があります。
アイコンの検証ルールは次のとおりです。
| 検証プロパティ | 適用された制約 / ルール |
|---|---|
| 最大ファイルサイズ | アイコン ファイル 1 つあたり最大 1 MB(1,048,576 バイト)。 |
| サイズ | 512 × 512 ピクセル(幅 = 512、高さ = 512) |
| アスペクト比 | 厳密に 1:1(スクエア アスペクト比) |
| 使用できる形式 | PNG(.png)と JPEG(.jpg、.jpeg) |
| ZIP 内の配置 | ZIP ファイルのルート ディレクトリに配置する必要があります。 |
| 参照チェック | [アイコン ファイル名] 列で指定されたすべてのアイコン ファイル名が ZIP 内に存在する必要があります。 |
| 孤立したケースのチェック | ZIP 内のすべての画像ファイルは、少なくとも 1 つの統計情報で参照されている必要があります。 |
| 競合の確認 | ProgressionStatConfig.csv のアイコン ファイル名は、RepetitiveStatsConfig.csv と競合しないようにする必要があります。 |
| 重複する画像 | 重複するアイコンにはフラグが付けられます。 |
アイコンのガイドライン
アイコンは、512 x 512 の PNG、JPEG、または JPG ファイルとして作成する必要があります。背景は透明にしてください。
すべての言語 / 地域で同じアイコンが使用されるため、アイコンにテキストやローカライズされたコンテンツを含めることはおすすめしません。
単位の仕様
[Unit] 列は、プレーヤー向けに未加工の統計情報の値の形式とローカライズの方法を制御します。
数値の統計情報のプロパティ(INT64、DOUBLE)
| 使用できる単位値 | 元の値の例 |
| (空) / UNITLESS / NONE | 1234567 |
| % / PERCENTAGE / PERCENT | 0.857 |
| 距離/長さ: CENTIMETER、METER、KILOMETER、FOOT、INCH、MILE、YARD、MILLIMETER、NANOMETER | 15(キロメートル) |
| Speed: KILOMETER_PER_HOUR、METER_PER_SECOND、MILE_PER_HOUR | 60(MILE_PER_HOUR) |
期間統計情報プロパティ(DURATION)
| カテゴリ値の形式 | 使用できる単位の値 | 元の値の例 | フォーマットされた出力の例 |
| UNIT_BASED / DURATION | 必須: SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、YEAR | 5,400 秒(HOUR) | 1.5 時間 |
| COMPONENT_NUMERIC / HH:MM:SS / CLOCK | 粒度(省略可、デフォルトは WHOLE_SECONDS): WHOLE_MINUTES、WHOLE_SECONDS、MILLISECONDS_ONE_DIGIT、MILLISECONDS_TWO_DIGITS、MILLISECONDS_THREE_DIGITS | 3,661 秒 | 01:01:01 |
| COMPONENT_TEXT / TEXT | 最小単位(省略可、デフォルトは SECONDS): SECONDS、MINUTES、HOURS、DAYS、MONTHS、YEARS | 90000 秒 | 1d 1h |
数値以外の統計情報プロパティ(STRING、BOOL)
単位列は空のままにする必要があります。