บันทึกผู้ใช้ใหม่
บันทึกนี้จะถูกเก็บเมื่อเกมมีผู้เล่นใหม่ นั่นหมายความว่าเมื่อเซิร์ฟเวอร์เกมแต่ละตัว (server_id) มีบัญชีใหม่ (user_id)
Note
ตรวจสอบให้แน่ใจว่าได้ส่งบันทึกผู้ใช้ใหม่รวมถึงบันทึกการเข้าสู่ระบบไปยัง Hive Server.
อย่าส่งบันทึกนี้เมื่อผู้ใช้เริ่มต้นบัญชีเพราะ user_id ไม่เปลี่ยนแปลง
หมวดหมู่¶
- ประเภทของ Scribe
เซิร์ฟเวอร์ทั่วไป | new_user_log |
---|---|
เซิร์ฟเวอร์ทดสอบ | test_new_user_log |
- ประเภท FTP
กฎการตั้งชื่อ | new_user_[วันที่]_[เซิร์ฟเวอร์]_[ID เพื่อหลีกเลี่ยงการซ้ำซ้อน].json | เช่น new_user_20180705_111500_GLOBAL-4.json |
---|---|---|
- ประเภท Fluentd (ตามการกำหนด Log)
เซิร์ฟเวอร์ (การกระจายโหลดไปยังสองเซิร์ฟเวอร์) | analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com | |
กฎสำหรับการตั้งชื่อแท็ก | ha2union.game.[ชื่อย่อของเกม].new_user_log | เช่น ha2union.game.samplegame.new_user_log |
ค่าในฟิลด์ category | [ชื่อย่อของเกม]_new_user_log | เช่น {"category":"samplegame_new_user_log","aaa":1} |
วิธีการส่งข้อมูลโดยละเอียด |
- ประเภท http (ตามการกำหนด Log)
เซิร์ฟเวอร์ | https://analytics-log.withhive.com | |
ค่าฟิลด์ category | [ชื่อเกม]_new_user_log | (ตัวอย่าง) {"category":"samplegame_new_user_log","aaa":1} |
วิธีการส่งข้อมูลโดยละเอียด |
ข้อกำหนดการบันทึก¶
Note
ฟิลด์ที่ใช้รูปแบบ snake_case เช่น server_id
จะถูกแปลงเป็น camel case เช่น serverId
เมื่อถูกเก็บในที่เก็บข้อมูลสุดท้าย (BigQuery) และล็อกที่ส่งในรูปแบบที่ไม่ได้ระบุ เช่น serverid
จะไม่ถูกบันทึกในคอลัมน์นั้น
ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น |
---|---|---|---|
date | เวลาที่เก็บบันทึก รูปแบบ: yyyy-mm-dd hhss ตัวอย่าง: 2012-01-19 16:24:00 จำเป็นสำหรับประเภท Scribe/FTP, ไม่จำเป็นสำหรับประเภท Fluentd | string | N |
dateTime | เวลาที่เก็บบันทึก รูปแบบ: yyyy-mm-dd hhss ตัวอย่าง: 2012-01-19 16:24:00 | string | Y |
category | [ชื่อแบรนด์ของเกม]_[ชื่อบันทึก] ชื่อแบรนด์ของเกมคือรายการที่สามของ app_id ตัวอย่าง: "derbyday_new_user_log" | string | Y |
timezone | UTC offset ของพารามิเตอร์เวลาในบันทึก * กำหนดค่าของ timezone เป็น ค่าว่างหรือ GMT+09:00 เนื่องจากค่าของวันที่จะเป็น KST เสมอเมื่อส่งการกำหนดบันทึกเป็นประเภท scribe หรือ ftp ตัวอย่าง: "GMT+09:00" * กำหนดค่าของ timezone อย่างยืดหยุ่นตามค่าของ dateTime เมื่อส่งการกำหนดบันทึกเป็นประเภท fluentd หรือ http ตัวอย่าง: "GMT+10:30" | string | Y |
channel | ช่องทางการเข้าสู่ระบบ C2S: HIVE KAK: Kakao Talk LIN: LINE WEI: Weibo GVL: Gamevile Live | string(3) | Y |
user_id | รหัสประจำตัวผู้ใช้ที่ใช้กับฟิลด์ช่องทางที่กำหนด C2S: vid ในกรณีของเกมที่ใช้ Hive UI และศูนย์เข้าสู่ระบบ KAK: รหัสประจำตัวผู้ใช้ที่ออกโดย App Center LIN: รหัสประจำตัวผู้ใช้ที่ออกโดย App Center | bigint | Y |
app_id | AppID ที่ Hive SDK ใช้ ตัวอย่าง: 'com.com2us.derbyday.kakao.freefull.google.global.android.common' | string(200) | Y |
did | รหัสอุปกรณ์ที่ Hive SDK ใช้ | bigint | Y |
client_ip | IP ของลูกค้า ค่านี้จะดึงค่าของประเทศจาก GeoIP | string(32) | Y |
server_ip | IP ของเซิร์ฟเวอร์ | string(32) | Y |
device_name | รุ่นอุปกรณ์ของผู้ใช้ ตัวอย่าง: iPhone, iPad, SM-G935, LGM-G600S | string(32) | Y |
company | บริษัทเผยแพร่เกม เป้าหมายของบันทึก: ตัวอย่าง: "C2S": Com2uS, "GVI": Com2uS Holdings | string(3) | Y |
server_id | รหัสเซิร์ฟเวอร์ ดู ตารางรหัสเซิร์ฟเวอร์ เพื่อป้อน 'รหัสข้อมูล JSON' | string | Y |
server_uid | รหัสประจำตัวผู้ใช้ที่ใช้ในเซิร์ฟเวอร์เกม | bigint | Y |
country | ป้อนรหัสประเทศโดยตรงหาก client_ip ไม่ได้ให้ อ้างอิง: นโยบายการระบุ ตัวอย่าง: KR | string(2) | N |
os_version | ข้อมูลเวอร์ชัน OS ตัวอย่าง: 9.2.1 | string(10) | ไม่จำเป็น แต่แนะนำ. |
game_language | ภาษาในเกมที่ตั้งไว้ด้วยตัวอักษรเล็กสองตัว อ้างอิง: นโยบายการระบุ ตัวอย่าง: ko | varchar | ไม่จำเป็น แต่แนะนำ. |
is_emulator | หากเชื่อมต่อกับ Emulator สำหรับ PC เช่น BlueStacks ให้คืนค่า 1; มิฉะนั้น ให้คืนค่า 0 สำหรับเวอร์ชัน PC ให้คืนค่า 2 | int | ไม่จำเป็น แต่แนะนำ. |
guid | คีย์เฉพาะที่สร้างขึ้นต่อบันทึก รูปแบบสุ่มเช่น uuid เป็นที่แนะนำ | varchar(64) | N |
ตัวอย่างบันทึก¶
- ตัวอย่าง 1
{
"date": "2012-12-19 16:28:38",
"dateTime": "2012-11-26 13:32:45",
"category": "derbyday_new_user_log",
"channel": "KAK",
"user_id": 88334245359848288,
"app_id": "com.com2us.homerunking.kakao.freefull.apple.global.ios.universal",
"client_ip": "110.70.30.199",
"server_ip": "112.175.60.47",
"guid": "ca4bd34c867f4617a819ae139d8d6670"
}
- ตัวอย่าง 2
{
"date": "2012-12-19 16:28:41",
"dateTime": "2012-11-26 13:32:45",
"category": "derbyday_new_user_log",
"app_id": "com.com2us.tinypang.kakao.freefull.google.global.android.common",
"channel": "KAK",
"user_id": 88517016292546192,
"server_ip": "112.175.107.41",
"client_ip": "121.185.37.212",
"server_id": 1,
"guid": "ca4bd34c867f4617a819ae139d8d6670"
}
วิธีการใช้งาน¶
- บันทึกไม่ได้แสดง server_id (ระบุเซิร์ฟเวอร์) ดังนั้นจึงใช้ตาราง NEWUSER_LOG
- server_id จะแตกต่างกันไปตามเกม แต่โดยปกติจะแบ่งออกเป็นดังนี้:
1 (เกาหลี); 2 (ญี่ปุ่น); 3 (จีน); 4 (ทั่วโลก) - การนำบันทึกที่ซ้อนกันบนเซิร์ฟเวอร์ทุกชั่วโมง จะให้สถานะของผู้เล่นแบบเรียลไทม์โดยการใช้ openQuery
- ช่วยให้คุณตรวจสอบจำนวนผู้ใช้ได้ทันทีผ่านการปล่อยใหม่หรือการตลาดในเกม