跳轉至

事件設計與傳送指南

什麼是事件分類法?

事件分類法(Event Taxonomy)是將收集的事件與屬性以 一致的結構與命名規則系統化整理的分類體系

如果不加規則地收集遊戲中發生的各種行為資料(登入、購買、升級等),就會出現各團隊以不同名稱傳送相同資料,或在分析時難以判斷某筆資料代表什麼的情況。事件分類法可避免這些混亂,並協助將收集到的資料直接用於分析。


為什麼需要?

問題情境 套用分類法後
同一事件被各團隊以不同名稱傳送 可用一致名稱整合資料
不清楚某個屬性屬於哪個事件 屬性結構明確,能快速掌握分析範圍
新增事件時沒有標準而隨意定義 可依既有規則一致擴充
事後才發現資料品質問題 可依 schema 事先驗證

結構

Analytics 的事件分類法由 事件屬性 兩層構成。

事件 (Event)
├── 平台屬性 (Platform Attribute)   ← 只要串接 SDK 即自動收集
└── 事件屬性 (Event Attribute)      ← 隨事件直接傳送

什麼是事件?

事件是將使用者在遊戲內進行的特定行為記錄為資料的單位。它包含「何時、誰、做了什麼」,是分析的最基本單位。

  • 例:使用者購買道具 → 發生 item_purchase 事件
  • 例:使用者通過特定關卡 → 發生 stage_clear 事件
  • 例:使用者登入 App → 發生 login 事件

什麼是屬性?

屬性是事件發生時一起記錄的細節資訊。只有事件本身時,只能知道「發生了什麼」,但透過屬性,還能進一步掌握「在什麼條件下、以什麼值」發生。

  • 例:item_purchase 事件的屬性 → 道具 ID、付款金額、貨幣單位
  • 例:stage_clear 事件的屬性 → 關卡編號、通關時間、使用角色

屬性會依收集主體分為兩種。

  • 平台屬性:不需額外設定,只要串接 SDK,Hive 就會預設收集的屬性。包含國家、OS、App 版本、伺服器 ID 等。
  • 事件屬性:隨事件直接傳送的屬性。由您直接定義並傳送分析所需項目。

自訂事件傳送

遊戲中自行定義的事件(自訂事件)可依下列收集 schema 傳送,並在 Analytics 中用於分析。

實際資料傳送使用 Hive SDK 用戶端日誌傳送 方法。傳送所需的原始碼可在 事件[建立來源] 分頁中依語言自動產生。

在傳送事件前,可先於 事件 定義事件名稱與屬性,方便團隊內分享與管理。不過,即使未事先定義就傳送資料,Analytics 也會自動辨識收到的資料,並會在最長 1 小時內反映到事件清單中。

Note

自動辨識的事件會在事件清單中將建立者顯示為 system,且可在事件畫面中額外輸入說明・屬性資訊進行管理。

Analytics 收集 schema

傳送自訂事件時使用的基本 schema。所有事件都必須依下列格式傳送。

欄位 必填與否 說明
identifierProvider 必填 指定使用者識別碼發行系統。若已串接 Hive SDK,請輸入 hive
userId 必填 以帳號為基準的使用者識別碼。若沒有值,可接受 null
deviceId 必填 以裝置為基準的使用者識別碼。若沒有值,可接受 null
appId 必填 輸入已註冊於 Hive 控制台 > App Center 的 App ID。
dateTime 必填 事件發生的日期時間。
timezone 必填 事件發生時的時區。
category 必填 決定資料要收集到哪個資料表的區分值。自訂事件必須固定傳送為 raw_event_log。若輸入其他值,該事件資料將無法正確收集到對應資料表。
eventName 必填 用來分類事件的事件名稱。
eventAttribute 必填 與事件一起傳送的屬性集合。項目必須定義,若沒有值可接受 null
hiveAttribute 必填 由 Hive provisioning server 提供的平台屬性集合。目前仍需開發者直接設定值後傳送。項目必須定義,若沒有值可接受 null
Warning

請盡量避免讓 userIddeviceId 兩者都為 null。若兩者都沒有值,將無法辨識使用者,進而使依 cohort 的使用者分析變得困難。

事件名稱命名規則

建議 eventName 使用的事件名稱遵循以下規則。

  • 建議字元:英文字母(a–z, A–Z,區分大小寫)、數字(0–9)、底線(_)、連字號(-)
  • 分隔符號:單字之間使用底線(_)分隔,不使用空格
  • 形式:建議使用可清楚描述事件的 名詞_動詞 形式
  • 範例item_purchase, level_up, tutorial_complete, stage_start
Warning

不遵守上述規則的事件名稱,在分析上的使用可能會受到限制。

hiveAttribute / eventAttribute 結構範例

hiveAttributeeventAttribute 分別以 JSON 物件形式傳送。

hiveAttribute — 由 Hive provisioning server 提供的平台屬性。包含 market、server ID 等,目前需由開發者直接設定值後傳送。未來預計改為自動收集方式。

{
  "market": "GO",
  "serverId": "Asia"
}

eventAttribute — 與事件一起直接傳送的屬性。包含分析該事件所需的細節資訊。

{
  "level": "100",
  "contentsType": "dungeon"
}
Note

不論傳送形式為何,Analytics 預設都會將屬性值視為文字型。若需要以數字或日期型進行彙總的屬性,請在 事件畫面 的 [屬性] 分頁中變更該屬性的資料型別。

屬性命名規則

建議 eventAttributehiveAttribute 的 key 名稱遵循以下規則。

  • 建議字元:英文字母(a–z, A–Z,區分大小寫)、數字(0–9)、底線(_)、連字號(-)
  • 分隔符號:單字之間使用底線(_)分隔,不使用空格
  • 範例item_id, contents-type, stage_level
Warning

不遵守上述規則的屬性 key,在分析上的使用可能會受到限制。

屬性 key 轉換規則

傳送屬性時,系統會依下列規則自動轉換部分 key 名稱。請注意,實際在分析時查詢到的 key 名稱可能不同。

-Hive 後綴 (hiveAttribute)

hiveAttribute所有 key 結尾都會自動加上 -Hive

傳送 key Analytics 中顯示的 key
country country-Hive
market market-Hive

-Event 後綴 (eventAttribute)

僅當 eventAttribute 的 key 與下列 8 個共通欄位名稱重疊時,才會自動加上 -Event

  • timezone, dateTime, identifierProvider, userId, deviceId, appId, category, eventName
傳送 key 是否與共通欄位衝突 Analytics 顯示 key
category O category-Event
level X level (無轉換)
Warning

hiveAttributeeventAttribute 都會以轉換後的 key 名稱作為資料儲存基準。分析時請以轉換後的名稱(-Hive, -Event)查詢屬性。


推薦事件

以下是 Analytics 中分析價值較高的事件範例。若依 eventNameeventAttribute 傳送這些事件,可直接用 Analytics 的所有功能進行圖表・漏斗・留存等分析。

升級

eventName 說明
account_level_up 帳號升級
character_level_up 角色升級
guild_level_up 公會升級
skill_level_up 技能升級

eventAttribute(共通):

屬性 說明 範例
levelPrev 升級前等級 10
level 升級後等級 11

貨幣

eventName 說明
asset_earn 獲得貨幣
asset_spend 消耗貨幣

eventAttribute(共通):

屬性 說明 範例
assetName 貨幣名稱 diamond, gold
actionName 變動原因 inapp_purchase, quest_reward
amountPrev 變動前貨幣量 500
amountVar 變動量 100
amountCurr 變動後貨幣量 600
isPaid 是否為付費貨幣 Y, N

內容

eventName 說明
contents_start 接受・開始內容
contents_success 完成內容
contents_fail 內容失敗
contents_cancel 取消內容

eventAttribute(共通):

屬性 說明 範例
modeTypeName 內容類型 raid, quest
userLevel 使用者等級 50
playTimeSec 遊玩時間(秒) 120
Tip

若以 contents_startcontents_success / contents_fail / contents_cancel 的流程建立漏斗,可分析各內容的完成率與流失區段。

App 內商店

eventName 說明
store_view 查看商店商品詳情
store_purchase_click 點擊購買商店商品

eventAttribute(共通):

屬性 說明 範例
productLocation 商品曝光位置 package, main_shop
productType 商品類型 pay, free, advertisement
Tip

可透過 store_viewstore_purchase_click 漏斗分析各商品的點擊轉換率。

夥伴

eventName 說明
mate_earn 獲得夥伴
mate_spend 消耗・出售・刪除夥伴

eventAttribute(共通):

屬性 說明 範例
mateId 夥伴 ID pet_001
mateGrade 夥伴等級 rare, epic
mateChangeFlag 變動途徑 gacha, purchase, upgrade, sell
mateChangeAmount 變動量 1

社交活動

eventName 說明
party_action 隊伍活動(邀請・加入・退出)
friend_action 好友活動(新增・刪除)
guild_action 公會活動(加入・退出・驅逐)

相關選單

  • 事件 — 事件與屬性註冊・管理
  • 指標 — 將常用事件彙總設定儲存為指標