本文說明如何使用 Google Play 管理中心,將遊戲統計資料整合至遊戲。這份指南涵蓋必要的 CSV 和 ZIP 檔案格式,並說明如何建立、匯入及管理這些檔案。
建立事件
如要為未發布的全新遊戲建立活動,請完成下列步驟:
- 建立活動 CSV 檔案 PlayerGameEvent.csv
- 在 Google Play 管理中心選取遊戲。
- 在「Play Games 服務 - 遊戲統計資料」頁面 (依序點選「拓展使用者數量」>「Play Games 服務」>「設定與管理」>「遊戲統計資料」),選取「設定事件」。
- 在「活動設定」頁面中,拖曳 CSV 檔案即可上傳。
- 建立活動後,請設定統計資料
設定統計資料
建立活動後,請設定統計資料:
- 建立包含統計資料、本地化和圖示檔案的 ZIP 檔案。統計資料的 ZIP 檔案指南。
- 在 Google Play 管理中心選取遊戲。
- 在「Play 遊戲服務 - 遊戲統計資料」頁面 (依序點選「拓展使用者數量」>「Play 遊戲服務」>「設定與管理」>「遊戲統計資料」),選取「設定統計資料」。
- 在「遊戲統計資料設定」頁面中,拖曳 ZIP 檔案即可上傳。
- 上傳所有統計資料後,即可發布遊戲。
測試遊戲統計資料
如要確認遊戲統計資料功能是否正常運作,請按照下列步驟進行測試:
- 設定內部測試群組。
- 為測試人員新增測試帳戶至遊戲專案。
- 使用 Play Games 應用程式,為其中一個測試帳戶建立 Play Games 服務設定檔。
- 使用建立 Play 遊戲服務設定檔的測試帳戶開啟遊戲。
- 確認畫面上顯示 Play 遊戲服務「歡迎訊息」,確認遊戲啟動時已成功自動驗證。
- 測試帳戶使用者可以玩遊戲來觸發事件。檢查 API 回應,確認事件是否已記錄。
發布遊戲統計資料
測試完成後,請務必發布遊戲。 遊戲的所有事件和統計資料都會一併發布。
如要發布,請按照下列步驟操作:
- 在 Google Play 管理中心選取遊戲。
- 在「Play Games 服務 - 遊戲統計資料」頁面 (依序點選「拓展使用者數量」>「Play Games 服務」>「設定與管理」>「遊戲統計資料」),按一下「檢查並發布」。
- 在「Play Games 服務 - 發布」頁面 (依序點選「拓展使用者數量」>「Play Games 服務」>「設定與管理」>「發布」),查看動作並修正問題。
- 按一下「發布」。 所有遊戲統計資料都會發布。
刪除遊戲統計資料
遊戲統計資料發布後即無法刪除。
活動的 CSV 檔案指南
CSV 檔案的第一列是標頭列。您必須使用活動 CSV 檔案匯入活動,例如 PlayerGameEvent.csv。
PlayerGameEvent.csv 格式
CSV 檔案包含以逗號分隔值表示的已宣告事件及其屬性,順序如下:
Event Name,Property Name,Property Type
如果傳送 progressionStat 的 progressUpdate 事件,請為此事件新增資料列。這個事件必須至少包含 INT 或 STRING 類型的 currentProgress 屬性,以及您想傳送的任何其他屬性。
下表提供這些欄位的說明:
| CSV 欄標題 | 必要或選用 | 接受的值 |
|---|---|---|
| 活動名稱 | 必要 | 最多 50 個字元 只能使用英文字母、數字和底線。 如果使用特殊事件名稱 |
| 房源名稱 | 必要 | 最多 50 個字元 只能使用英文字母、數字和底線。 每個事件的屬性名稱不得重複:在同一個事件中,屬性名稱不得重複。 請勿使用下列保留關鍵字: |
| 資源類型 | 必要 | 區分大小寫的列舉字串,符合其中一種支援的資料類型:INT64、DOUBLE、STRING、BOOL
|
PlayerGameEvent.csv 檔案相關規定:
- 檔案最多可支援 20 個不重複的事件名稱,每個事件最多可有 20 個屬性。
- 檔案內容不得為空,且至少應有 1 列。
範例資料表
| 事件名稱 | 屬性名稱 | 資源類型 |
|---|---|---|
| matchCompleted | 時間長度 | DOUBLE |
| matchCompleted | kills | 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 檔案中的所有圖片檔案都必須至少由一項數據參照。
- 目錄結構:所有檔案都必須位於 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 個字元 |
| 統計資料顯示名稱 | 必要 | 最多 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 | 時間長度 | MAX | 最長相符項目存續時間 | 這代表玩家在任何比賽中的存活時間 | isWinner | = | TRUE | TRUE | 0 | 50 | stat1.png | 1 | 減少 | 秒 |
| 2 | matchCompleted | isWinner | COUNT | 勝場數 | 這代表玩家贏得的賽事數量 | isWinner | = | TRUE | TRUE | 0 | 50 | stat3.png | 2 | 提高 | |
| 3 | matchCompleted | kills | SUM | 1 對 1 對戰擊殺數 | 在 1 對 1 比賽中擊殺的次數 | matchType | = | 「1-on-1」 | FALSE | stat4.png | 4 | 提高 | |||
| 4 | itemCollected | coinsAmount | SUM | 收集的黃金總數 | 玩家在比賽中收集金幣 | weaponType | = | 「sword」 | FALSE | stat2.png | 3 | 提高 |
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 個字元 必須是 PlayerGameEvent.csv 中定義的屬性名稱。 |
| 統計資料顯示名稱 | 必要 | 名稱不得重複。 |
| 狀態說明 | 必要 | 最多 50 個字元 統計資料的預設說明。 |
| 圖示檔案名稱 | 必要 | ZIP 檔案根目錄中包含的圖示圖片檔名。 不得與重複統計資料中使用的圖示檔案名稱衝突。 |
| 經濟實惠 | 必要 | 指定值越高 INCREASING 越好,還是值越低 DECREASING 越好。
|
| 單位 | 選填 | 原始數值或時間長度值的測量單位。例如:KILOMETER、SECOND、PERCENTAGE、UNITLESS。 |
範例資料表
| 統計資料 ID | 事件屬性名稱 | 統計資料顯示名稱 | 狀態說明 | 圖示檔案名稱 | 物超所值 |
|---|---|---|---|---|---|
| 5 | currentProgress | 等級 | 玩家可透過對戰累積經驗值並升級。 | 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 個半形字元。指定語言代碼的翻譯統計資料說明。 |
範例資料表
| 統計資料 ID | 統計資料顯示名稱 | 語言代碼 | 本地化狀態名稱 (UTF-8) | 本地化狀態說明 (UTF-8) | 1 | 最長相符項目存續時間 | es | 延長對戰存活時間 | 這表示玩家在任何比賽中的存活時間。 | 1 | 最長相符項目存續時間 | fr | Survie du match le plus long | 這項指標會顯示玩家在任何賽局中的存活時間。 | 4 | 收集的黃金總數 | es | Oro total recolectado | La jugadora recoge monedas mientras juega en un partido | 4 | 收集的黃金總數 | fr | Or total collecté | Le joueur collecte des pièces en jouant un match |
圖示檔案
.csv 檔案中參照的圖示,必須包含在匯入的現有 ZIP 封存檔中。
圖示驗證規則如下:
| 驗證屬性 | 強制執行的限制 / 規則 |
|---|---|
| 檔案大小上限 | 每個圖示檔案大小上限為 1 MB (1,048,576 個位元組)。 |
| 尺寸 | 尺寸必須為 512 x 512 像素 (寬度 = 512,高度 = 512) |
| 顯示比例 | 嚴格來說是 1:1 (正方形顯示比例) |
| 允許的格式 | PNG (.png) 和 JPEG (.jpg、.jpeg) |
| ZIP 檔案中的位置 | 必須位於 ZIP 檔案的根目錄中。 |
| 參照的檢查 | 「圖示檔案名稱」欄中指定的所有圖示檔案名稱,都必須存在於 ZIP 檔案中。 |
| 孤立檢查 | ZIP 檔案中的所有圖片檔案都必須至少由一項統計資料參照。 |
| 衝突檢查 | ProgressionStatConfig.csv 中的圖示檔案名稱不得與 RepetitiveStatsConfig.csv 衝突。 |
| 重複的影像 | 系統會標示重複的圖示。 |
圖示規範
圖示大小為 512 x 512,檔案格式為 PNG、JPEG 或 JPG。
所有語言代碼都會使用相同的圖示,因此建議不要在圖示中加入任何文字或本地化內容。
單位規格
「單位」欄可控制原始統計資料值的格式,並為玩家進行本地化。
數值統計資料屬性 (INT64、DOUBLE)
| 允許的單位值 | 原始值範例 |
| (空白) / UNITLESS / NONE | 1234567 |
| % / PERCENTAGE / PERCENT | 0.857 |
| 距離/長度:公分、公尺、公里、英尺、英吋、英里、碼、公釐、奈米 | 15 (公里) |
| 速度:KILOMETER_PER_HOUR、METER_PER_SECOND、MILE_PER_HOUR | 60 (MILE_PER_HOUR) |
非數值統計資料屬性 (STRING、BOOL)
請將單元欄留空。