このドキュメントでは、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 ストア アプリを開きます。
- Google Play ストア アプリで Play Games プロフィールにログインします。
- ゲーマー プロフィールでゲームの統計データを確認する。
デバイスでログを表示する
ゲームの統計データが設計どおりに機能することを確認するには、デバイスでログを有効にします。
デバイスで 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 サービス] > [設定と管理] > [ゲームの統計データ])に移動します。
- イベントを削除するには:
- [イベントの構成] セクションで、イベントを選択します。
- [予定を削除] をクリックします。
- 統計情報を削除するには:
- [ゲームの統計データの設定] で、削除する統計データを選択します。
- [ゲームの統計データを削除] をクリックします。
イベントの CSV ファイルのガイドライン
CSV ファイルの最初の行はヘッダー行です。イベントは、イベント 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 | キル | 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 個(CSV 3 個、アイコン 50 個)です。
- 結合された統計情報の上限:
ProgressionStatConfig.csvとRepetitiveStatsConfig.csvの合計で最大 50 個の統計情報。 - サポートされている CSV ファイル:
ProgressionStatConfig.csv、RepetitiveStatsConfig.csv、StatLocalizations.csv(省略可)。進行状況の統計情報のみをアップロードする場合は、繰り返し統計情報の CSV ファイルを ZIP に含めないでください。含めると、コンソールでエラーが発生します。繰り返し統計情報のみをアップロードする場合も同様です。 - アイコン画像ファイル: 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 で定義されているプロパティ名にする必要があります。 |
| フィルタ演算子 | 省略可 | =, !=, >, <, >=, <=フィルタ比較演算子。 |
| フィルタ値 | 省略可 | フィルタ プロパティと比較します。
フィルタ値は 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 | キル | 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 | 最長マッチのサバイバル | 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 | または合計回収額 | Le joueur collecte des pièces en jouant un match |
アイコン ファイル
CSV ファイルで参照するアイコンは、インポートする現在の ZIP アーカイブに含まれている必要があります。
アイコンの検証ルールは次のとおりです。
| 検証プロパティ | 適用された制約 / ルール |
|---|---|
| 最大ファイルサイズ | アイコン ファイルあたり最大 1 MB(1,048,576 バイト)。 |
| サイズ | 512 × 512 ピクセル(幅 = 512、高さ = 512) |
| アスペクト比 | 厳密に 1:1(スクエア アスペクト比) |
| 使用可能な形式 | PNG(.png)と JPEG(.jpg、.jpeg) |
| ZIP 内のプレースメント | ZIP ファイルのルート ディレクトリに配置する必要があります。 |
| 参照チェック | [Icon File Name] 列で指定したすべてのアイコン ファイル名が 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(キロメートル) |
| 速度: 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 | 90,000 秒 | 1 日 1 時間 |
数値以外の統計プロパティ(STRING、BOOL)
単位列は空白のままにする必要があります。