本文說明如何使用 Google Play 管理中心,將遊戲統計資料整合至遊戲。內容涵蓋基本的 CSV 和 ZIP 檔案格式,並說明如何建立、匯入及管理這些檔案。
建立或匯入活動
新手透過 Google Play 管理中心新增活動的方式有兩種:
建立事件
如要為遊戲建立活動,請完成下列步驟:
- 在 Google Play 管理中心選取遊戲。
- 在「Play 遊戲服務 - 遊戲統計資料」頁面 (依序點選「開發更多使用者」>「Play 遊戲服務」>「設定與管理」>「遊戲統計資料」),選取「新增事件」>「建立事件」。
- 在「建立活動」頁面中填寫表單。
- 按一下 [儲存變更]。
匯入活動
如要一次新增多個遊戲事件,請按照下列步驟操作:
- 建立事件 CSV 檔案 PlayerGameEvent.csv。
- 在 Google Play 管理中心選取遊戲。
- 在「Play Games 服務 - 遊戲統計資料」頁面 (依序點選「開發更多使用者」>「Play Games 服務」>「設定與管理」>「遊戲統計資料」),選取「新增事件」>「透過 CSV 匯入」。
- 在「活動設定」頁面中,拖曳 CSV 檔案即可上傳。
- 建立活動後,請設定統計資料。
建立或匯入統計資料
新手透過 Google Play 管理中心新增統計資料的方式有兩種:
建立統計資料
如要為遊戲建立統計資料,請完成下列步驟:
- 在 Google Play 管理中心選取遊戲。
- 在「Play Games 服務 - 遊戲統計資料」頁面 (依序點選「開發更多使用者」>「Play Games 服務」>「設定與管理」>「遊戲統計資料」),選取「新增統計資料」>「建立統計資料」。
- 在「建立統計資料」頁面中填寫表單。
- 按一下 [儲存變更]。
- 建立統計資料後,請發布遊戲。
匯入統計資料
如要匯入統計資料,請按照下列步驟操作:
- 請按照統計資料的 ZIP 檔案指南,建立包含統計資料、在地化內容和圖示檔案的 ZIP 檔案。
- 在 Google Play 管理中心選取遊戲。
- 在「Play 遊戲服務 - 遊戲統計資料」頁面 (依序點選「開發更多使用者」>「Play 遊戲服務」>「設定與管理」>「遊戲統計資料」),選取「新增統計資料」>「透過 ZIP 匯入」。
- 在「遊戲統計資料設定」頁面中,拖曳 ZIP 檔案即可上傳。
- 上傳所有統計資料後,請發布遊戲。
測試遊戲統計資料
如要確認遊戲統計資料功能是否正常運作,請按照下列步驟進行測試:
- 在 Play 管理中心設定內部測試群組。
- 為測試人員新增測試帳戶至遊戲專案。
- 使用 Play Games 應用程式,為其中一個測試帳戶建立 Play Games 服務設定檔。
- 使用建立 Play 遊戲服務設定檔的測試帳戶開啟遊戲。
- 確認畫面上是否顯示 Play 遊戲服務「歡迎訊息」,確認遊戲啟動時已成功自動驗證。
- 測試帳戶使用者可以玩遊戲來觸發事件。檢查 API 回應,確認事件是否已記錄。
在裝置上管理遊戲統計資料的顯示設定,以便進行測試
在 Play 管理中心開放測試人員存取遊戲後,請按照下列步驟在裝置上查看「遊戲統計資料」:
清除 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 管理中心選取遊戲。
- 在「Play 遊戲服務 - 遊戲統計資料」頁面 (依序點選「開發更多使用者」>「Play 遊戲服務」>「設定與管理」>「遊戲統計資料」),按一下「檢查並發布」。
- 在「Play 遊戲服務 - 發布」頁面 (依序點選「開發更多使用者」>「Play 遊戲服務」>「設定與管理」>「發布」),查看動作並修正問題。
- 按一下「發布」。 所有遊戲統計資料都會發布。
編輯遊戲統計資料
如要編輯現有的遊戲統計資料,請按照下列步驟操作:
- 在 Google Play 管理中心選取遊戲。
- 前往「Play Games 服務 - 遊戲統計資料」頁面 (依序點選「開發更多使用者」>「Play Games 服務」>「設定與管理」>「遊戲統計資料」)。
- 如要編輯活動:
- 在「事件設定」部分,選取事件。
- 您可以新增或刪除事件屬性。
- 您無法編輯「活動名稱」。
- 按一下 [儲存變更]。
- 如要編輯「狀態」:
- 在「遊戲統計資料設定」部分中,選取一項統計資料。
- 您可以編輯「統計資料名稱」、「統計資料說明」和「圖示檔案名稱」欄位。
- 您無法編輯「統計資料 ID」和「進展方向」。 統計單元和相關事件詳細資料。
- 按一下 [儲存變更]。
- 在「Play Games 服務 - 遊戲統計資料」頁面中,編輯後的統計資料會處於「可供測試人員使用」狀態。
- 測試完畢後,請按一下「檢查並發布」。 這會重新發布遊戲以及所有更新過的統計資料。
刪除遊戲統計資料
遊戲統計資料發布後即無法刪除。
您可以刪除「可供測試人員使用」狀態的事件或統計資料。
- 在 Google Play 管理中心選取遊戲。
- 前往「Play Games 服務 - 遊戲統計資料」頁面 (依序點選「開發更多使用者」>「Play Games 服務」>「設定與管理」>「遊戲統計資料」)。
- 如要刪除活動:
- 在「事件設定」部分,選取事件。
- 按一下「刪除活動」。
- 如要刪除「統計資料」:
- 在「遊戲統計資料設定」中,選取要刪除的統計資料。
- 按一下「刪除遊戲統計資料」。
活動的 CSV 檔案指南
CSV 檔案的第一列是標題列。您必須使用活動 CSV 檔案匯入活動,例如 PlayerGameEvent.csv。
PlayerGameEvent.csv 格式
CSV 檔案包含以半形逗號分隔的已聲明事件及其屬性,順序如下:
Event Name,Property Name,Property Type
如果您傳送 progressUpdate 事件以進行 progressionStat,請為這個事件新增一列。這個事件至少須包含 INT 或 STRING 類型的 currentProgress 屬性,以及您想傳送的任何其他屬性。
下表提供這些欄位的說明:
| CSV 欄標題 | 必要或選用 | 接受的值 |
|---|---|---|
| 活動名稱 | 必填 | 最多 50 個半形字元 只能使用英文字母、數字和底線。 如果使用特殊事件名稱 |
| 房源名稱 | 必填 | 最多 50 個半形字元 只能使用英文字母、數字和底線。 每個事件的屬性名稱不得重複:在同一個事件中,屬性名稱不得重複。 請勿使用下列保留關鍵字: |
| 資源類型 | 必填 | 區分大小寫的列舉字串,與其中一種支援的資料類型相符:
INT64、DOUBLE、STRING、BOOL
|
PlayerGameEvent.csv 檔案相關規定:
- 檔案最多可包含 20 個不重複的事件名稱,每個事件最多可有 20 個屬性。
- 檔案內容不得為空白,且至少須包含 1 列。
範例資料表
| 事件名稱 | 屬性名稱 | 資源類型 |
|---|---|---|
| matchCompleted | 時間長度 | 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 個檔案 (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 個字元 只能使用英文字母、數字和底線。遊戲中所有統計資料的 ID 不得重複。 |
| 活動名稱 | 必填 | 最多 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 | 時間長度 | MAX | 最長的相符項目存續時間 | 這表示玩家在任何比賽中的存活時間 | isWinner | = | TRUE | TRUE | 0 | 50 | stat1.png | 減少 | 秒 |
| 2 | matchCompleted | isWinner | COUNT | 勝場數 | 這表示玩家贏得的賽事數量 | isWinner | = | TRUE | TRUE | 0 | 50 | stat3.png | 提高 | |
| 3 | matchCompleted | 擊殺數 | SUM | 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 個字元 只能使用英文字母、數字和底線。遊戲中所有統計資料的 ID 不得重複。 |
| 事件屬性名稱 | 必填 | 最多 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 個字元 只能使用英文字母、數字和底線。遊戲中所有統計資料的 ID 不得重複。 |
| 統計資料顯示名稱 | 必填 | 名稱不得重複。 |
| 語言代碼 | 必填 | 語言代碼,例如 en-US。 請先翻譯遊戲內容,再指定語言。請注意,您無法指定預設語言。 如要查看支援的語言代碼,請參閱 支援的語言清單。 |
| 在地化統計資料顯示名稱 | 選填 | 長度上限為 50 個半形字元。指定語言代碼的統計資料顯示名稱翻譯版本。 |
| 在地化統計資料說明 | 選填 | 長度上限為 500 個半形字元。指定語言的翻譯統計資料說明。 |
範例資料表
| 統計資料 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 | 這表示玩家在任何比賽中的存活時間。 |
| 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 MB (1,048,576 個位元組)。 |
| 尺寸 | 確切為 512 × 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) |
時間長度統計資料屬性 (DURATION)
| 格式類別值 | 允許的單位值 | 原始值範例 | 格式化輸出內容範例 |
| 以單位為準 / 時間長度 | 必要:SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、YEAR | 5400 秒 (小時) | 1.5 小時 |
| COMPONENT_NUMERIC / HH:MM:SS / CLOCK | 精細程度 (選用,預設為 WHOLE_SECONDS): WHOLE_MINUTES、WHOLE_SECONDS、MILLISECONDS_ONE_DIGIT、MILLISECONDS_TWO_DIGITS、MILLISECONDS_THREE_DIGITS | 3661 秒 | 01:01:01 |
| COMPONENT_TEXT / TEXT | 最小單位 (選用,預設為 SECONDS): SECONDS、MINUTES、HOURS、DAYS、MONTHS、YEARS | 90000 秒 | 1d 1h |
非數值統計資料屬性 (STRING、BOOL)
單位欄位必須留空。