← กลับไปยังบล็อกบล็อก

ตรวจสอบโครงสร้างการเก็บข้อมูลและตัวชี้วัดด้วยล็อกทดสอบ: การส่งล็อกอีเวนต์ ตอนที่ 2

Hive Analytics · 22 ตุลาคม 2569 · อ่าน 5 นาที

การส่งล็อกทดสอบก่อนพัฒนาฟังก์ชันส่งอีเวนต์ช่วยให้ตรวจสอบล่วงหน้าได้ว่าอีเวนต์และพร็อพเพอร์ตี้ถูกเก็บตามโครงสร้างและชนิดข้อมูลที่ตั้งใจไว้หรือไม่ และข้อมูลที่เก็บได้สร้างตัวชี้วัดที่ต้องการได้หรือไม่ ใน Hive Analytics ให้ส่งล็อกทดสอบด้วย ETL Simulation ใน Data > Event ตรวจสอบผลการเก็บข้อมูลใน Data Preview และ BigQuery และตรวจสอบการสร้างตัวชี้วัดใน Create หากทดสอบในสภาพแวดล้อมจริง ให้ใช้ App ID ทดสอบแยกต่างหาก และกำหนดวิธียกเว้นข้อมูลทดสอบออกจากการรวมตัวชี้วัดไว้ด้วย

ทำไมต้องตรวจสอบข้อมูลก่อนพัฒนาฟังก์ชันส่งอีเวนต์

"กำหนดโครงสร้างการเก็บล็อกด้วยเทมเพลตอีเวนต์: การส่งล็อกอีเวนต์ ตอนที่ 1" ได้อธิบายการกำหนดอีเวนต์และพร็อพเพอร์ตี้ที่จะวิเคราะห์ และการเตรียมซอร์สโค้ดสำหรับส่งล็อกไปแล้ว ตอนนี้จะส่งล็อกทดสอบก่อนขอให้พัฒนาจริง เพื่อตรวจสอบโครงสร้างการเก็บข้อมูลของอีเวนต์และความเป็นไปได้ในการนำไปใช้กับตัวชี้วัด

ก่อนพัฒนาฟังก์ชันส่งอีเวนต์ ต้องยืนยันว่าข้อมูลถูกเก็บอย่างถูกต้อง และโครงสร้างนั้นสร้างตัวชี้วัดที่ต้องการได้ แม้จะกำหนดชื่ออีเวนต์และพร็อพเพอร์ตี้ไว้แล้ว หากรูปแบบค่าหรือชนิดข้อมูลจริงไม่ตรงกับเกณฑ์การวิเคราะห์ ก็จะพบปัญหาพร็อพเพอร์ตี้ขาดหายหรือการคำนวณตัวชี้วัดผิดพลาดหลังพัฒนาเสร็จไปแล้ว

หลังส่งล็อกทดสอบ ผู้รับผิดชอบงานวิเคราะห์ข้อมูลจะตรวจสอบว่าอีเวนต์และพร็อพเพอร์ตี้ถูกเก็บตามโครงสร้างที่ตั้งใจไว้หรือไม่ และมีพร็อพเพอร์ตี้ที่ตัวชี้วัดต้องใช้ครบหรือไม่ รวมถึงตรวจชนิดข้อมูลและรูปแบบค่าของแต่ละพร็อพเพอร์ตี้ และดูว่าเมื่อนำการคำนวณและมิติมาใช้กับข้อมูลที่เก็บได้แล้ว จะสร้างตัวชี้วัดที่ต้องการได้หรือไม่

ตัวอย่างเช่น หากอีเวนต์การเล่นคอนเทนต์สำเร็จไม่มีตัวระบุผู้ใช้ ก็จะคำนวณจำนวนผู้ใช้ที่เล่นสำเร็จไม่ได้ หากตั้งเวลาเล่นเป็นชนิดข้อความหรือไม่ได้กำหนดหน่วยของค่า ก็จะตรวจสอบเวลาเล่นเฉลี่ยตามเกณฑ์ที่ตั้งใจไว้ได้ยาก การส่งข้อมูลตัวอย่างก่อนพัฒนาและตรวจสอบรูปแบบการเก็บจริงกับผลของตัวชี้วัด จะช่วยกำหนดโครงสร้างอีเวนต์และเกณฑ์การส่งให้ชัดเจนขึ้น

วิธีตรวจสอบล็อกทดสอบใน Hive Analytics

ใน Data > Event ของ Hive Analytics สามารถตรวจสอบอีเวนต์และพร็อพเพอร์ตี้ที่ลงทะเบียนไว้ และส่งล็อกทดสอบผ่าน ETL Simulation หรือการพัฒนาโค้ดได้ เมื่อใส่ค่าตัวอย่างที่เหมาะกับสถานการณ์การวิเคราะห์ในแต่ละพร็อพเพอร์ตี้ ก็จะตรวจสอบผลการเก็บข้อมูลและความเป็นไปได้ในการนำไปใช้เป็นตัวชี้วัดได้ก่อนพัฒนาฟังก์ชันส่งล็อกจริง

การตรวจสอบล็อกทดสอบดำเนินตามลำดับนี้ เตรียมสภาพแวดล้อมการส่งและ App ID ส่งล็อก แล้วตรวจสอบผลการเก็บข้อมูลและการสร้างตัวชี้วัด

  1. เลือกสภาพแวดล้อม
    เลือกสภาพแวดล้อมแซนด์บ็อกซ์หรือสภาพแวดล้อมจริงที่จะส่งล็อกทดสอบตามวัตถุประสงค์ของการตรวจสอบ เมื่อตรวจสอบผลใน Data Preview และ BigQuery ก็ต้องค้นหาข้อมูลของสภาพแวดล้อมที่ส่งล็อกไปด้วย
  2. เตรียม App ID
    เตรียม App ID ที่ลงทะเบียนไว้ใน App Center หรือการตั้งค่าโปรเจกต์ของ Hive Console

    การแยกข้อมูลทดสอบในสภาพแวดล้อมจริง
    เพื่อแยกข้อมูลทดสอบออกจากข้อมูลการให้บริการจริงอย่างชัดเจนในสภาพแวดล้อมจริง แนะนำให้ลงทะเบียนและใช้ App ID ทดสอบแยกต่างหาก หากทดสอบก่อนเปิดตัวเกม ให้ตั้งวันเปิดตัวอย่างเป็นทางการเป็นวันเริ่มต้นตัวชี้วัดใน Time Settings เพื่อยกเว้นข้อมูลที่เก็บก่อนเปิดตัวออกจากการรวมตัวชี้วัด หากเกมให้บริการอยู่แล้ว ให้ลงทะเบียน App ID ทดสอบใน Metric Filters หรือลงทะเบียนบัญชีทดสอบใน Excluded User Management เพื่อยกเว้นข้อมูลนั้นออกจากการรวมตัวชี้วัด เลือกวิธีที่เหมาะกับเกณฑ์การแยกข้อมูลทดสอบและสถานะการให้บริการ

  3. ส่งล็อกทดสอบ
    ผู้รับผิดชอบงานวิเคราะห์ส่งจาก ETL Simulation ได้โดยตรง หรือนักพัฒนานำโค้ดที่ตรวจสอบใน Source Generation ไปพัฒนาแล้วส่งก็ได้ ใส่ค่าตัวอย่างที่สมมติสถานการณ์การวิเคราะห์ในพร็อพเพอร์ตี้ของอีเวนต์ และก่อนส่งให้ตรวจสอบว่าตัวระบุผู้ใช้ ข้อมูลคอนเทนต์ และพร็อพเพอร์ตี้ตัวเลข ฯลฯ ตรงกับชนิดข้อมูลและรูปแบบค่าที่กำหนดไว้
  4. ตรวจสอบผลการเก็บข้อมูล
    ตรวจสอบใน Data Preview ว่าได้รับอีเวนต์หรือไม่ และค่าพร็อพเพอร์ตี้ที่ส่งมาเป็นอย่างไร หากต้องการดูข้อมูลดิบอย่างละเอียด ให้ค้นหาข้อมูลอีเวนต์ใน BigQuery โดยตรงเพื่อตรวจว่าค่าที่ใส่ถูกบันทึกด้วยชื่อพร็อพเพอร์ตี้และชนิดข้อมูลที่ถูกต้อง

    การขอสิทธิ์ค้นหาข้อมูลใน BigQuery
    ข้อมูลดิบของอีเวนต์และพร็อพเพอร์ตี้ที่เก็บได้สามารถค้นหาได้โดยตรงใน BigQuery การใช้ BigQuery ต้องได้รับสิทธิ์ผู้ดูแลระบบ Hive Analytics ก่อน แล้วจึงขอสิทธิ์ค้นหาข้อมูลใน BigQuery จากเมนูบัญชีของ Hive Analytics

  5. ตรวจสอบการสร้างตัวชี้วัด
    ใน Create ให้เลือกอีเวนต์ที่เก็บได้เป็นค่าที่วัด แล้วใช้การคำนวณและมิติที่จำเป็น ตรวจสอบว่าตัวเลขที่คำนวณได้ตรงกับที่คาดไว้หรือไม่ และผลถูกแบ่งตามค่าพร็อพเพอร์ตี้ตามเกณฑ์ที่ต้องการหรือไม่ เพื่อยืนยันว่าข้อมูลนั้นสร้างตัวชี้วัดที่ตรงกับวัตถุประสงค์การวิเคราะห์ได้

ตรวจสอบอีเวนต์ด้วยล็อกทดสอบ contents_success

หากต้องการวิเคราะห์จำนวนผู้ใช้ที่เล่นคอนเทนต์สำเร็จ เวลาเล่นเฉลี่ย และคะแนนสูงสุด ต้องตรวจสอบว่าอีเวนต์ contents_success ถูกเก็บตามโครงสร้างที่ตั้งใจไว้ ขั้นตอนตั้งแต่เลือกสภาพแวดล้อมจนถึงตรวจสอบการสร้างตัวชี้วัดมีดังนี้

1. เลือกสภาพแวดล้อม

เพื่อตรวจสอบโครงสร้างข้อมูลที่จะใช้ในการให้บริการจริง ให้ดำเนินการตรวจสอบในสภาพแวดล้อมจริง เข้าสู่คอนโซล Hive Analytics ของสภาพแวดล้อมจริง เลือกอีเวนต์ contents_success ใน Data > Event แล้วไปที่แท็บ ETL Simulation

2. เตรียม App ID

ตรวจสอบว่า App ID ทดสอบที่จะใช้ในสภาพแวดล้อมจริงลงทะเบียนไว้ใน App Center หรือการตั้งค่าโปรเจกต์ของ Hive Console แล้ว

3. ส่งล็อกทดสอบ

ล็อกทดสอบส่งได้ทั้งโดยผู้รับผิดชอบงานวิเคราะห์จาก ETL Simulation โดยตรง หรือโดยนักพัฒนาที่นำโค้ดจาก Source Generation ไปใช้กับเกม ไม่ว่าวิธีใดต้องใส่พร็อพเพอร์ตี้บังคับสำหรับการส่งล็อก ได้แก่ userId, deviceId, identifierProvider, appId, eventTime และ eventName ใส่ hive ใน identifierProvider และใส่ App ID ทดสอบที่เตรียมไว้ใน appId ส่วน appIdGroup จะถูกสร้างอัตโนมัติเมื่อใส่ appId จึงไม่ต้องใส่แยก

3.1 ส่งจาก ETL Simulation

ตรวจสอบพร็อพเพอร์ตี้และชนิดข้อมูลที่กำหนดไว้สำหรับอีเวนต์ แล้วเปลี่ยนค่าของพร็อพเพอร์ตี้บังคับทั้ง 6 รายการ จากนั้นเปลี่ยน characterLv, modeTypeId, modeTypeName, score และ playTimeSec เป็นค่าตัวอย่างที่เหมาะกับสถานการณ์การวิเคราะห์ แล้วส่งล็อกทดสอบ

หน้าจอ ETL Simulation ของ contents_success ที่ตั้งค่าพร็อพเพอร์ตี้เลเวลตัวละคร ประเภทคอนเทนต์ คะแนน และเวลาเล่น
ใน ETL Simulation ของสภาพแวดล้อมจริง ให้ใส่ App ID ทดสอบและค่าพร็อพเพอร์ตี้เพื่อส่งล็อกทดสอบ contents_success

3.2 ส่งด้วยซอร์สโค้ดที่สร้างขึ้น

นักพัฒนาตรวจสอบโค้ดที่เหมาะกับสภาพแวดล้อมการพัฒนาใน Source Generation แล้วเชื่อมพร็อพเพอร์ตี้บังคับทั้ง 6 รายการและค่าพร็อพเพอร์ตี้รายละเอียดของอีเวนต์เข้ากับข้อมูลเกมจริง หลังจากใช้โค้ดให้อีเวนต์ contents_success เกิดขึ้นเมื่อการเล่นคอนเทนต์สำเร็จได้รับการยืนยัน ให้รันฟังก์ชันที่พัฒนาเพื่อส่งล็อกทดสอบ ดูวิธีพัฒนาโดยละเอียดได้ในคู่มือการส่งอีเวนต์บนเว็บไซต์ Hive Developers

ข้อควรระวังในการส่งล็อก
หากไม่ปฏิบัติตามกฎต่อไปนี้ ล็อกจะไม่ถูกเก็บตามปกติ และจะถูกบันทึกไว้ในตารางกักแยก t_raw_event_log_rescue

  • ใส่ eventTime ในรูปแบบ RFC 3339 ที่มีเขตเวลา และอยู่ในช่วงตั้งแต่ 10 ปีก่อนถึง 5 ปีหลังจากเวลาปัจจุบัน หากรูปแบบไม่ถูกต้องหรืออยู่นอกช่วงที่อนุญาต ล็อกจะถูกกักแยก
  • ใส่ App ID ที่ลงทะเบียนไว้ใน App Center หรือการตั้งค่าโปรเจกต์ของ Hive Console ใน appId หากใส่ค่าที่ไม่ได้ลงทะเบียนหรือไม่ถูกต้อง ล็อกจะถูกกักแยก

4. ตรวจสอบผลการเก็บข้อมูล

4.1 ตรวจสอบใน Data Preview

หลังส่งแล้ว ให้ตรวจสอบใน Data Preview ว่าได้รับ contents_success หรือไม่ และดูตัวระบุผู้ใช้และอุปกรณ์ App ID ชื่ออีเวนต์ รวมถึงค่าพร็อพเพอร์ตี้ใน attributes ไปพร้อมกัน

หน้าจอ Data Preview ของ contents_success ที่แสดงล็อกทดสอบที่ได้รับและค่าพร็อพเพอร์ตี้
ตรวจสอบใน Data Preview ว่าได้รับ contents_success หรือไม่ และค่าพร็อพเพอร์ตี้ที่ส่งมาเป็นอย่างไร

4.2 ตรวจสอบใน BigQuery

หากต้องการดูข้อมูลดิบอย่างละเอียดขึ้น ให้ค้นหาข้อมูลใน BigQuery โดยใช้ App ID ทดสอบและชื่ออีเวนต์เป็นเงื่อนไข แล้วตรวจสอบว่า characterLv, modeTypeId, modeTypeName, score และ playTimeSec ที่ส่งไปถูกบันทึกด้วยค่าและชนิดข้อมูลที่ตั้งใจไว้

หน้าจอผลการค้นหาใน BigQuery ที่แสดงเลเวลตัวละคร ประเภทคอนเทนต์ คะแนน และเวลาเล่นของล็อกทดสอบ contents_success
ค้นหาใน BigQuery โดยตรงเพื่อตรวจว่าค่าพร็อพเพอร์ตี้และชนิดข้อมูลของล็อกทดสอบถูกบันทึกตามโครงสร้างที่ตั้งใจไว้

5. ตรวจสอบการสร้างตัวชี้วัด

หากผลการเก็บข้อมูลไม่มีปัญหา ให้เลือกอีเวนต์ contents_success ใน Create แล้วสร้างตัวชี้วัดดังนี้

  • ใช้การคำนวณ COUNT DISTINCT กับ userId เพื่อดูจำนวนผู้ใช้ที่เล่นคอนเทนต์สำเร็จ
  • ใช้การคำนวณ AVG กับ playTimeSec เพื่อดูเวลาเล่นเฉลี่ย
  • ใช้การคำนวณ MAX กับ score เพื่อดูคะแนนสูงสุด
  • เลือก characterLv และ modeTypeName เป็นมิติ เพื่อเปรียบเทียบผลตามเลเวลตัวละครและตามคอนเทนต์
หน้าจอกราฟที่สร้างจากข้อมูลทดสอบ contents_success แสดงจำนวนผู้ใช้ที่เล่นสำเร็จ เวลาเล่นเฉลี่ย และคะแนนสูงสุด
สร้างจำนวนผู้ใช้ที่เล่นสำเร็จ เวลาเล่นเฉลี่ย และคะแนนสูงสุดจากข้อมูลทดสอบที่เก็บได้ แล้วตรวจสอบผล

หากสร้างจำนวนผู้ใช้ที่เล่นสำเร็จ เวลาเล่นเฉลี่ย และคะแนนสูงสุดได้ และผลถูกแบ่งตามเลเวลตัวละครและคอนเทนต์ แสดงว่าอีเวนต์พร้อมสำหรับวัตถุประสงค์การวิเคราะห์แล้ว หากค่าขาดหายหรือผลไม่ตรงกับที่คาดไว้ ให้ตรวจสอบชื่อพร็อพเพอร์ตี้ ชนิดข้อมูล และค่าตัวอย่างอีกครั้ง แก้ไขส่วนที่จำเป็นแล้วส่งล็อกทดสอบใหม่ และสร้างซอร์สโค้ดสำหรับพัฒนาใหม่ให้สะท้อนการตั้งค่าอีเวนต์ที่เปลี่ยนไป

เมื่อตรวจสอบเสร็จแล้ว ให้ส่งซอร์สโค้ดที่ยืนยันแล้ว เวลาที่อีเวนต์ควรเกิดขึ้น และค่าที่จะส่งในแต่ละพร็อพเพอร์ตี้ให้นักพัฒนา เพื่อขอให้พัฒนาฟังก์ชันส่งล็อกจริง

วิธีนำโค้ดส่งอีเวนต์ไปใช้กับเกมจริงและส่งข้อมูล ดูได้ในตอนถัดไป "ส่งข้อมูลเกมเป็นล็อกอีเวนต์: การส่งล็อกอีเวนต์ ตอนที่ 3"

เริ่มต้นใช้งาน Hive Analytics

การส่งล็อกทดสอบหลังตั้งค่าอีเวนต์และพร็อพเพอร์ตี้ ช่วยให้ตรวจสอบโครงสร้างการเก็บข้อมูลและความเป็นไปได้ในการใช้เป็นตัวชี้วัดได้ก่อนขอให้เริ่มพัฒนา นำสิ่งที่พบระหว่างการตรวจสอบมาปรับเพื่อยืนยันการตั้งค่าอีเวนต์และซอร์สโค้ด แล้วส่งต่อให้นักพัฒนา

Hive Analytics เป็นโซลูชันวิเคราะห์ข้อมูลเฉพาะสำหรับเกมที่วิเคราะห์พฤติกรรมผู้ใช้และตัวชี้วัดของเกมจากอีเวนต์เกมที่เก็บผ่าน Hive SDK ลองส่งล็อกทดสอบใน Hive Analytics ได้เลยวันนี้ แล้วตรวจสอบว่าข้อมูลที่เก็บได้สร้างตัวชี้วัดที่ต้องการได้หรือไม่