傳送事件屬性¶
概述¶
遊戲事件日誌由必要的屬性和使用者定義的屬性組成。 **如果連結Hive SDK v4,將會新增自動收集的屬性,無需單獨傳輸。 **
必要屬性¶
傳輸遊戲事件日誌時**必須包含該屬性**。
必要的屬性命名約定
必要的屬性名稱必須以 駝峰式 (camelCase) 或 小寫 (lowercase) 格式傳送。 如果您像 user_id 那樣將其發送到蛇箱 (snake_case),它將無法正確處理,並且將被隔離到 rescue 表中。
| 屬性名稱 | 描述 | 資料類型 | 範例 |
|---|---|---|---|
userId | 基於帳戶的使用者識別碼 | STRING | 100001 |
deviceId | 基於終端機的使用者識別碼 | STRING | 100000 |
identifierProvider | 使用者識別碼發布系統。已修正 hive | STRING | hive |
appId | Hive 控制台 > Project ID 已在應用中心註冊 | STRING | com.com2us.game.ios |
appIdGroup | Hive 控制台 > App Center 發放的 Game ID。傳送 appId 時自動產生 | STRING | com.com2us.game |
eventTime | 事件發生的時間。 RFC 3339 國際標準(含時區) | STRING | 2026-07-20T14:01:01+09:00 |
eventName | 對事件進行分類的事件名稱 | STRING | asset_drop |
appId / appIdGroup 傳輸規則
發送事件時,必須包含 appId 或 appIdGroup。
- 如果您知道
appId:只需發送appId。appIdGroup是自動產生的。 - 如果您不知道
appId:直接發送appIdGroup。 - 如果同時發送兩個值,
appIdGroup會根據appId重新生成,所以發送appId時不要包含appIdGroup。
傳輸所需屬性時的注意事項
若滿足下列任一條件,則事件日誌**隔離至表 rescue**:
- 如果
appId和appIdGroup皆不存在 - 如果任何剩餘的必要屬性(
userId、identifierProvider、deviceId、eventTime、eventName)遺失或具有空值。 - 即使該值未知,也不要留空,而是填入一個隨機值,例如
"0"或"unknown"並發送。
eventName 命名約定¶
建議用於eventName的事件名稱按照以下規則編寫。
- 建議字元:英文字母(a–z、A–Z,區分大小寫)、數字 (0–9)、底線 (
_) - 分隔符號:單字之間用底線 (
_) 分隔,而不是空格。 - 格式:建議使用能清楚說明事件的英文
noun_verb格式。 - 範例:
item_purchase、level_up、tutorial_complete、stage_start
Warning
不符合上述規則的事件名稱在分析中的使用可能會受到限制。
eventTime 格式規則 (RFC 3339)¶
eventTime 遵循格式 RFC 3339 且必須包含時區資訊。
形式:
可接受的範例:
2026-07-20T14:01:01+09:00(KST,韓國標準時間)
2026-07-20T05:01:01Z (UTC)
2026-07-20T14:01:01.123+09:00(包括毫秒)
2026-07-20T23:01:01-05:00(美國東部時間)
不允許的範例:
eventTime¶
eventTime會在管線中**轉換為 UTC**,並儲存在資料表的dateTime欄位中。原始值會原樣保留在attributes.eventAttributes.eventTime中。
傳送eventTime時的注意事項
eventTime 僅接受基於當前時間的**過去 31 天到未來 31 天**範圍內的值。超出此範圍,事件日誌將隔離到表 rescue。
使用者定義的屬性¶
遊戲中想要傳輸的資訊由屬性名稱和屬性值組成,並與所需的屬性一起直接傳輸。
屬性名稱規則¶
| 規則 | 描述 | 範例 |
|---|---|---|
| 起始信 | 必須以 小寫或大寫字母 開頭 | level、Stage |
| 區分大小寫 | 自訂屬性區分大小寫 | market != Market != MARket |
| 允許的特殊字元 | 僅允許使用底線 (_) 作為特殊字元 | item_name |
不能使用的屬性名稱(保留字)¶
發送自訂屬性時的注意事項
如果您使用下面的保留字作為屬性名稱,它們將被**隔離到 rescue 表中**。無論情況如何,這都同樣適用。
| 保留字 | 備註 |
|---|---|
attributes | 不論大小寫(例如 Attributes、ATTRIBUTES) |
eventAttributes | 大小寫無關 |
hiveAttributes | 大小寫無關 |
屬性取值規則¶
屬性值格式註意事項
只能傳輸兩種類型的屬性值:數字類型**和**字元類型。 當以 JSON 物件、JSON 陣列或 JSON 類型字串的形式傳輸時,它是**隔離到 rescue 表中**。
| 資料型別 | 描述 | 範例 |
|---|---|---|
| 數字 | 整數或小數。寄送時不含引號 | "level": 10、"exp": 1.5 |
| 字元類型 | 發送前請務必將其用雙引號 ("") 括起來 | "character_name": "AA" |
若屬性值的形式為物件JSON、陣列JSON或JSON形式的字串,則**隔離至表格rescue**。
// JSON 物件(不允許)
"info": {"key": "value"}
// JSON 陣列(不允許)
"items": [1, 2, 3]
// 形式為 JSON 的字串(不允許)
"data": "{\"key\": \"value\"}"
相同屬性名稱的重複傳輸¶
如果傳輸兩個或多個相同的屬性名稱,則隨機選擇屬性值並且**僅儲存一個屬性值**。
Hive SDK v4 自動收集的屬性¶
僅當客戶端將事件日誌傳送到 Hive SDK v4 時自動收集。
- 如果使用者直接發送具有相同屬性名稱的值,則儲存**使用者發送的值**,而不是SDK自動收集的值。
- 以下屬性儲存在表中的
attributes.eventAttributes中。
Hive SDK v4 如果您使用事件日誌傳輸功能,SDK 是直接從客戶端裝置收集和傳輸的屬性。
必需的屬性¶
必需屬性中,SDK和v4是自動收集的屬性。 (不包括 eventName)
| 屬性名稱 | 說明 | 範例 |
|---|---|---|
userId | 基於帳戶的使用者識別碼。連結 Hive SDK 時,AuthV4.getPlayerInfo() 的 playerId 值 | 100001 |
deviceId | 基於終端機的使用者識別碼。連結 Hive SDK 時,AuthV4.getPlayerInfo() 的 did 值 | 100000 |
identifierProvider | 使用者識別碼發布系統。目前僅支援 Hive 和 SDK 集成,因此 hive 已修復 | hive |
appId | Hive 控制台 > Project ID 已在應用中心註冊 | com.com2us.game.ios |
appIdGroup | Hive 控制台 > Game 應用中心下發 ID. appId 傳輸時自動產生 | com.com2us.game |
eventTime | 事件發生的時間。 RFC 3339 國際標準(含時區) | 2026-07-20T14:01:01+09:00 |
使用者/帳戶識別訊息¶
| 屬性名稱 | 描述 | 域 | 範例 |
|---|---|---|---|
vid | 為每個項目(遊戲)頒發的唯一使用者帳號識別碼(與userId相同)。登入完成後有效。 | Hive 平台(驗證) | 136910540 |
uid | 這是註冊 Hive 會員時頒發的唯一帳戶標識符,是優於 vid 的概念。 | Hive 平台(會員) | 223786026 |
did | 安裝應用程式時為每個裝置頒發的唯一識別碼(與 deviceId 相同)。重新安裝應用程式後,將發出一張新卡。 | Hive 平台(設定) | 938743951 |
vid_type | vid的發行方案與帳戶類型。 | Hive 平台(應用中心) | v4 |
analytics_id | UUID.,由客戶端創建並保留用於設備跟踪,一直保留到應用刪除,並與 MMP 跟踪器共享相同的值。 | Hive 平台(設定) | 1qIXG3uDT4WzhV1e46GIYQ== |
時間/身分資訊¶
| 屬性名稱 | 描述 | 域 | 範例 |
|---|---|---|---|
dateTime | 這是傳送事件日誌時產生的事件的日期和時間。 (yyyy-MM-dd HH | Hive SDK(核心) | 2026-01-01 00:00:00 |
guid | UUID(連字號已刪除)每次傳送事件日誌時產生。用於事件日誌的唯一識別和重複資料刪除。 | Hive SDK (核心) | ecbfbd7fcdc340e1b8a433999c5290c1 |
is_hive_time | 標記事件日誌中的時間戳記是否Hive與伺服器時間同步。 (Y/N) | Hive SDK(核心) | Y |
timezone | dateTime 該值所依據的時區偏移資訊。 | Hive SDK (核心) | GMT+09:00 |
is_url_encode | 傳送事件日誌時是否套用URL編碼的標誌。 (Y 已修復) | Hive SDK (核心) | Y |
裝置資訊¶
| 屬性名稱 | 描述 | 域 | 範例 |
|---|---|---|---|
model | 裝置的硬體型號識別碼。 | 設備 | iPhone17,3 |
os | 這是裝置的作業系統識別碼。 (iOS: I, Android: A) | 裝置 | I |
os_version | 您设备的操作系统版本。 | 設備 | 26.5.2 |
cpu | 设备的CPU架构。 | 設備 | arm64 |
language | 使用者在裝置上設定的首選語言和區域設定代碼。 | 設備 | ko-KR |
device_country | 基於設備區域設定的國家代碼。 | 設備 | KR |
hive_country | 根據連線 IP 由 Hive 伺服器判定的國家代碼。使用 VPN 時可能與裝置設定不同,無法判定時記錄為 UNKNOWN。 | Hive 平台(核心) | KR |
SDK/應用程式建置訊息¶
| 屬性名稱 | 描述 | 域 | 範例 |
|---|---|---|---|
app_version | 應用程式的內部建置版本。 | Hive SDK (建置) | 1.0.32 |
app_version_display | 這是商店中顯示的應用程式發布版本。 | Hive SDK (建置) | 1.0.32 |
sdk_version | 目前專案套用的 Hive SDK 版本。 | Hive SDK (建置) | 4.26.4.0 |
interface_version | 目前應用的SDK介面版本。 | Hive SDK (建置) | 4.26.4.0 |
build_time | 應用了 Hive 和 SDK 的建置時間戳記。 | Hive SDK (建置) | 202605281104 |
SDK 設定訊息¶
| 屬性名稱 | 描述 | 域 | 範例 |
|---|---|---|---|
server_id | 客戶端設定的遊戲伺服器識別碼為API。 | Hive SDK (設定) | kr |
game_language | 標準遊戲內語言代碼設定為 API。如果未設置,它將被設備語言取代。 | Hive SDK (設定) | ko |
channel | 基於設定檔的平台通道分隔符號。 | Hive SDK (設定) | HIVE |
market | 這是發布應用程式的市場代碼。 (Apple: AP, Google: GO) | Hive SDK (設定) | AP |
company | 標識為應用程式提供服務的發布者或公司的字串。 | Hive 平台(應用中心) | hive |
companyIndex | 為應用程式提供服務的發布者或公司的索引。 | Hive 平台(應用中心) | 3 |
age_gate_u13 | 13 歲以下人士的年齡限制 (COPPA)。 SDK 初始化前,可能是null。 | Hive SDK (設定) | false |
接收伺服器訊息¶
| 屬性名稱 | 描述 | 域 | 範例 |
|---|---|---|---|
clientIp | 從接收伺服器中提取發送事件日誌 IP. 的客戶端的實際連接,並在保存時屏蔽最後一個八位元組。 | 接收伺服器 (WAS) | 123.123.123.0 |
注意事項 & Tips¶
- 必需的屬性名稱必須以駝峰大小寫或小寫形式發送,如果以蛇形大小寫 (
user_id) 發送,它們將被隔離到 rescue 表中。 - 必須包含
appId或appIdGroup,否則將被隔離。 eventTime只能採用 RFC 3339 格式(包括時區),如果基於當前時間超過過去或未來 31 天,則會被隔離。attributes、eventAttributes和hiveAttributes不能用作使用者定義的屬性名稱(不區分大小寫)。- 屬性值僅允許數字和字元類型,JSON物件、陣列、JSON形式的字串被隔離。
- 有關如何檢查和重新發送隔離日誌的信息,請參閱資料隔離。