ส่งคุณสมบัติกิจกรรม¶
ภาพรวม¶
บันทึกเหตุการณ์ของเกมประกอบด้วยคุณสมบัติที่จำเป็นและคุณสมบัติที่ผู้ใช้กำหนด หากคุณลิงก์ Hive SDK v4 คุณสมบัติที่รวบรวมโดยอัตโนมัติจะถูกเพิ่มโดยไม่มีการส่งแยกต่างหาก
แอตทริบิวต์ที่จำเป็น¶
คุณสมบัตินี้ ต้องรวมไว้ เมื่อส่งบันทึกเหตุการณ์ของเกม
หลักการตั้งชื่อแอตทริบิวต์ที่จำเป็น
ชื่อแอตทริบิวต์ที่จำเป็นจะต้องส่งในรูปแบบ camel case (camelCase) หรือ ตัวพิมพ์เล็ก (lowercase) หากคุณส่งไปที่เคสงู (snake_case) เช่น user_id มันจะถูกประมวลผลไม่ถูกต้องและจะถูก แยกลงในตาราง rescue
| ชื่อแอตทริบิวต์ | คำอธิบาย | ชนิดข้อมูล | ตัวอย่าง |
|---|---|---|---|
userId | ตัวระบุผู้ใช้ตามบัญชี | STRING | 100001 |
deviceId | ตัวระบุผู้ใช้ที่ใช้เทอร์มินัล | STRING | 100000 |
identifierProvider | ระบบการออกตัวระบุผู้ใช้ แก้ไข hive | STRING | hive |
appId | Hive คอนโซล > Project ID ลงทะเบียนใน App Center | STRING | com.com2us.game.ios |
appIdGroup | Hive Console > Game ออกโดย App Center 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: เพียงส่งappIdappIdGroupถูกสร้างขึ้นโดยอัตโนมัติ - หากคุณไม่ทราบ
appId: ส่งappIdGroupโดยตรง - หากคุณส่งสองค่าพร้อมกัน
appIdGroupจะถูกสร้างใหม่ตามappIdดังนั้นอย่ารวมappIdGroupเมื่อส่งappId
ข้อควรระวังในการส่งแอตทริบิวต์ที่จำเป็น
บันทึกเหตุการณ์ ถูกแยกลงในตาราง 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 และต้องมีข้อมูลโซนเวลา
รูปร่าง:
ตัวอย่างที่ยอมรับได้:
20-07-2026T14:01:01+09:00 (KST, เวลามาตรฐานของเกาหลี)
2026-07-20T05:01:01Z (UTC)
20-07-2026T14:01:01.123+09:00 (รวมมิลลิวินาที)
20-07-2026T23:01:01-05:00 (เวลาตะวันออกของสหรัฐอเมริกา)
ไม่อนุญาตให้ใช้ตัวอย่าง:
2026-07-20 14:01:01 (ไม่มีโซนเวลา → กักกัน)
20-07-2026 (ไม่มีเวลา → กักกัน)
1719835261 (Unix timestamp → กักกัน)
14:01:01 น. (ไม่มีวันที่ → กักกัน)
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 ค่า playerId ของ AuthV4.getPlayerInfo() | 100001 |
deviceId | ตัวระบุผู้ใช้ที่ใช้เทอร์มินัล เมื่อลิงก์ Hive SDK ค่า did ของ AuthV4.getPlayerInfo() | 100000 |
identifierProvider | ระบบการออกตัวระบุผู้ใช้ ปัจจุบัน รองรับเฉพาะการรวม Hive และ SDK เท่านั้น ดังนั้น hive จึงได้รับการแก้ไข | hive |
appId | Hive คอนโซล > Project ID ลงทะเบียนใน App Center | com.com2us.game.ios |
appIdGroup | Hive Console > Game ออกโดย App Center 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 | รหัสประเทศที่กำหนดโดยเซิร์ฟเวอร์ Hive ตามการเชื่อมต่อ IP เมื่อใช้ 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 จะถูกแยกออก
- สำหรับข้อมูลเกี่ยวกับวิธีการตรวจสอบและส่งบันทึกที่ถูกกักกันอีกครั้ง โปรดดูที่ การแยกข้อมูล
เมนูที่เกี่ยวข้อง¶
- การส่งผ่านกิจกรรม — คำแนะนำเกี่ยวกับแนวคิดเกี่ยวกับกิจกรรม/ทรัพย์สิน
- เทมเพลตกิจกรรม — รายการกิจกรรมเริ่มต้นที่รวบรวมโดยอัตโนมัติตามหมวดหมู่
- การส่งบันทึกเหตุการณ์ — วิธีการส่งข้อมูลผ่าน Hive SDK v4, Hive Axyl, Fluentd, HTTP
- โครงสร้างการจัดเก็บข้อมูลเหตุการณ์ — โครงสร้างตาราง คุณสมบัติโดยละเอียด attributes การแยกข้อมูล