跳轉至

事件設計與傳送指南

什麼是事件分類法?

事件分類法(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 收集 schema

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

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

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

Warning

若要在 Analytics 中將收集到的事件資料用於分析,必須在 事件 中以與 eventName 相同的名稱登錄事件。未登錄的事件均無法在 Analytics 中用於分析。

事件名稱命名規則

建議 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, contentsType, 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 公會活動(加入・退出・驅逐)

相關選單

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