การส่งบันทึกทดสอบ¶
โครงร่าง¶
คุณสามารถส่งบันทึกทดสอบเพื่อตรวจสอบว่าข้อมูลถูกรวบรวมตามที่ตั้งใจไว้หรือไม่ คุณสามารถทดสอบได้ทั้งในสภาพแวดล้อม Sandbox และสภาพแวดล้อม Production และไม่ว่าจะเป็นสภาพแวดล้อมใด การทดสอบจะดำเนินการตามขั้นตอนด้านล่าง
| ขั้นตอน | คำอธิบาย | เมนู |
|---|---|---|
| 1. ส่งบันทึกทดสอบ | ส่งบันทึกทดสอบในสภาพแวดล้อมที่ต้องการทดสอบ | ข้อมูล > เหตุการณ์ > แท็บ [การสร้างแหล่งที่มา] หรือแท็บ [ETL การจำลอง] |
| 2. ตรวจสอบการรับข้อมูล | ตรวจสอบว่าข้อมูลที่ส่งถูกรวบรวมแล้วหรือไม่ | ข้อมูล > เหตุการณ์ > แท็บ [แสดงตัวอย่างข้อมูล] หรือ BigQuery |
| 3. ตรวจสอบการกำหนดค่าเมตริก | ตรวจสอบว่าคุณสามารถสร้างเมตริกที่ต้องการด้วยข้อมูลที่รวบรวมได้หรือไม่ | Create (ชาร์ต, ช่องทาง, การเก็บรักษา, การจัดอันดับ ฯลฯ) |
สภาพแวดล้อมการทดสอบ¶
| สภาพแวดล้อม | ปลายทางการส่ง | ชุดข้อมูลที่จัดเก็บ | การสะท้อนในเมตริก |
|---|---|---|---|
| Sandbox | ที่อยู่รับข้อมูลของ Sandbox | analytics_N_sandbox | ไม่รวมอยู่ในเมตริกของ Production |
| Production | ที่อยู่รับข้อมูลของ Production | analytics_N_live | รวมอยู่ในเมตริกของ Production |
การทดสอบใน Production¶
บันทึกทดสอบที่ส่งไปยังสภาพแวดล้อม Production จะถูกรวมอยู่ในเมตริกจริง เพื่อไม่ให้ส่งผลกระทบต่อเมตริกจริง ให้เตรียมการดังต่อไปนี้ก่อนทำการทดสอบ
-
รับ appId สำหรับการทดสอบโดยเฉพาะ
ลงทะเบียนแอปทดสอบใน Hive Console > App Center เพื่อรับ appId สำหรับการทดสอบโดยเฉพาะ สำหรับรายละเอียด โปรดดูที่ การจัดการ App ID
-
ยกเว้นข้อมูลทดสอบออกจากเมตริกด้วยเมนูใดเมนูหนึ่งต่อไปนี้
เมนู วิธียกเว้น การจัดการผู้ใช้ที่ยกเว้นจากเมตริก ลงทะเบียนผู้ใช้ที่ใช้ในการทดสอบเป็นผู้ใช้ที่ยกเว้นจากเมตริก การจัดการตัวกรองเมตริก ลงทะเบียน appId ทดสอบหรือเซิร์ฟเวอร์ QA เป็นเงื่อนไขการยกเว้น การตั้งค่าเวลา ตั้งค่าวันเปิดตัวอย่างเป็นทางการเป็นวันเริ่มต้นของเมตริก เพื่อยกเว้นข้อมูลทดสอบก่อนเปิดตัว
1. ส่งบันทึกทดสอบ¶
ส่งบันทึกทดสอบในสภาพแวดล้อมที่ต้องการทดสอบ นักพัฒนาสามารถนำซอร์สโค้ดไปใช้และส่งเหตุการณ์จริงได้ ส่วนผู้ที่ไม่ใช่นักพัฒนาสามารถส่งข้อมูลตัวอย่างด้วยการจำลอง ETL ได้
| วิธี | สำหรับ | คำอธิบาย |
|---|---|---|
| การสร้างแหล่งที่มา | นักพัฒนา | นำซอร์สโค้ดที่สร้างขึ้นไปใช้กับไคลเอนต์หรือเซิร์ฟเวอร์ของแอป จากนั้นทำให้เกิดเหตุการณ์ทดสอบเพื่อส่งบันทึก |
| ETL การจำลอง | ผู้ที่ไม่ใช่นักพัฒนา | ป้อนค่าฟิลด์ในคอนโซลเพื่อส่งข้อมูลตัวอย่างโดยไม่ต้องเขียนโค้ด |
ส่งด้วยการสร้างแหล่งที่มา (นักพัฒนา)¶
- ใน ข้อมูล > เหตุการณ์ ให้เลือกเหตุการณ์ที่จะทดสอบ แล้วไปที่แท็บ [การสร้างแหล่งที่มา]
- ในแท็บ นักพัฒนาไคลเอนต์ หรือ นักพัฒนาเซิร์ฟเวอร์ ให้ตรวจสอบซอร์สโค้ดและนำไปใช้กับไคลเอนต์หรือเซิร์ฟเวอร์ของแอป
- ทำให้เกิดเหตุการณ์ทดสอบในสภาพแวดล้อมที่ต้องการทดสอบเพื่อส่งบันทึก
Note
หากส่งจากเซิร์ฟเวอร์ผ่าน Fluentd หรือ HTTP คุณต้องส่งไปยังที่อยู่รับข้อมูลของสภาพแวดล้อมที่ต้องการทดสอบ คุณสามารถดูที่อยู่รับข้อมูลของ Production และ Sandbox ได้ใน การส่งบันทึกเหตุการณ์
ส่งด้วยการจำลอง ETL (ผู้ที่ไม่ใช่นักพัฒนา)¶
- ในคอนโซล Analytics ของสภาพแวดล้อมที่ต้องการทดสอบ ให้ไปที่ ข้อมูล > เหตุการณ์ แล้วเลือกเหตุการณ์ที่จะทดสอบ
- ในแท็บ [ETL การจำลอง] ให้ป้อนค่าที่จะทดสอบลงในแต่ละฟิลด์ของตารางการรวบรวมเหตุการณ์
- คลิกปุ่ม ส่ง
สำหรับรายละเอียดเกี่ยวกับแท็บ [การสร้างแหล่งที่มา] และแท็บ [ETL การจำลอง] โปรดดูที่ เหตุการณ์
2. ตรวจสอบการรับข้อมูล¶
ตรวจสอบว่าบันทึกทดสอบที่ส่งถูกรวบรวมแล้วหรือไม่ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
ตรวจสอบในแสดงตัวอย่างข้อมูล¶
ใน ข้อมูล > เหตุการณ์ ให้เลือกเหตุการณ์ที่ทดสอบ จากนั้นในแท็บ [แสดงตัวอย่างข้อมูล] ให้ตั้งค่าช่วงเวลาการค้นหาเป็นวันที่ที่ส่งบันทึกทดสอบแล้วทำการค้นหา
- ตรวจสอบว่าบันทึกทดสอบปรากฏในรายการ
- ตรวจสอบว่าค่าแอตทริบิวต์ที่ส่งถูกรวบรวมตามที่ตั้งใจไว้
ตรวจสอบโดยตรงใน BigQuery¶
หากคุณ ขอสิทธิ์การเข้าถึง BigQuery ในคอนโซล Analytics คุณจะสามารถค้นหาข้อมูลที่จัดเก็บไว้ได้โดยตรงใน BigQuery บันทึกเหตุการณ์จะถูกจัดเก็บไว้ในตาราง t_raw_event_log
SELECT userId, deviceId, appIdGroup, appId,
DATETIME(TIMESTAMP_ADD(dateTime, INTERVAL 32400 SECOND)) AS dateTime_kst, -- แปลง dateTime ที่จัดเก็บเป็น UTC เป็น KST
SAFE_CAST(
JSON_VALUE(attributes, '$.eventAttributes.level') AS INT64
) AS level -- เมื่อส่ง level เป็นแอตทริบิวต์ของเหตุการณ์
FROM `habq-storage.analytics_N_sandbox.t_raw_event_log` -- ใช้ analytics_N_live หากทดสอบใน Production
WHERE identifierProvider = 'hive' -- ระบบที่ออกตัวระบุผู้ใช้ (เป็น hive เสมอ)
AND eventName = '{tested event name}'
AND appId = 'com.sample.test.aos' -- appId ที่ใช้ในการทดสอบ
AND JSON_VALUE(attributes, '$.hiveAttributes._dataSource') IN ('custom_server', 'custom_sdk') -- เฉพาะเหตุการณ์ที่คุณส่งโดยตรง (เซิร์ฟเวอร์, SDK)
-- เมื่อค้นหาตามเวลา KST
AND dateTime >= TIMESTAMP_SUB(TIMESTAMP('2026-09-30 00:00:00'), INTERVAL 32400 SECOND)
AND dateTime < TIMESTAMP_SUB(TIMESTAMP('2026-10-07 00:00:00'), INTERVAL 32400 SECOND)
-- เมื่อลบรายการที่ซ้ำกันตาม checksum
QUALIFY ROW_NUMBER() OVER (PARTITION BY checksum ORDER BY bigqueryRegistTimestamp DESC) = 1
LIMIT 100
t_raw_event_logเป็นตารางที่แบ่งพาร์ติชันรายวันตามdateTimeดังนั้นให้ระบุเงื่อนไขวันที่เมื่อทำการค้นหา- บันทึกที่ละเมิดกฎการส่งจะถูกจัดเก็บไว้ในตาราง rescue (
t_raw_event_log_rescue) ไม่ใช่ในt_raw_event_logหากไม่พบข้อมูลของคุณ ให้ตรวจสอบerrorReasonในตาราง rescue
สำหรับโครงสร้างตารางและสาเหตุการกักกัน โปรดดูที่ โครงสร้างการจัดเก็บเหตุการณ์
3. ตรวจสอบการกำหนดค่าเมตริก¶
เมื่อยืนยันการรับข้อมูลแล้ว ให้สร้างชาร์ต ช่องทาง การเก็บรักษา การจัดอันดับ หรือรายการอื่นที่คล้ายกันจากเมนู Create เพื่อตรวจสอบว่าคุณสามารถสร้างเมตริกที่ต้องการด้วยข้อมูลที่รวบรวมได้หรือไม่
- ตรวจสอบว่าแอตทริบิวต์ที่จะใช้เป็นค่าที่วัดและค่ามิติปรากฏในรายการให้เลือก
- ตรวจสอบว่าผลการรวมข้อมูลตรงกับข้อมูลทดสอบที่ส่ง
สำหรับวิธีใช้แต่ละฟีเจอร์ โปรดดูที่ ชาร์ต, ช่องทาง, การเก็บรักษา และ การจัดอันดับ
ข้อควรระวัง & Tips¶
เหตุการณ์ที่ไม่รองรับ Sandbox
ข้อมูลการคืนเงินและ MMP (Airbridge ฯลฯ) ไม่ได้ถูกประมวลผลโดย Hive โดยตรง แต่บุคคลที่สาม เช่น มาร์เก็ต (Google Play ฯลฯ) หรือ MMP จะเป็นผู้ส่งข้อมูลมายัง Hive
บุคคลที่สามไม่มีสภาพแวดล้อม Sandbox และส่งข้อมูลมายัง Hive จากสภาพแวดล้อม Production เท่านั้น Hive จึงไม่สามารถแยกได้ว่าข้อมูลที่รวบรวมผ่านบุคคลที่สามมาจาก Production หรือ Sandbox ด้วยเหตุนี้ ข้อมูลที่ประมวลผลใน Sandbox อาจปรากฏรวมอยู่ในข้อมูลของ Production
- บันทึกทดสอบที่ส่งไปยังสภาพแวดล้อม Production จะถูกรวมอยู่ในเมตริกจริง เมื่อทดสอบใน Production โปรดดูที่ การทดสอบใน Production เพื่อยกเว้นข้อมูลทดสอบออกจากเมตริก
- ในฟิลด์
appIdคุณต้องป้อน appId ที่ลงทะเบียนใน Hive Console > App Center หากป้อนค่าที่ไม่ถูกต้อง ข้อมูลอาจไม่ถูกรวบรวม
เมนูที่เกี่ยวข้อง¶
- เหตุการณ์ — การสร้างแหล่งที่มา การจำลอง ETL การแสดงตัวอย่างข้อมูล
- การส่งบันทึกเหตุการณ์ — ที่อยู่รับข้อมูลและวิธีการส่งของ Production และ Sandbox
- โครงสร้างการจัดเก็บเหตุการณ์ — โครงสร้างตารางและการแยกข้อมูล
- การจัดการผู้ใช้ที่ยกเว้นจากเมตริก, การจัดการตัวกรองเมตริก, การตั้งค่าเวลา — ยกเว้นข้อมูลทดสอบออกจากเมตริก