บันทึกคะแนน v2
หมวดหมู่¶
- ประเภทการเขียน
เซิร์ฟเวอร์ทั่วไป | service_metrics-score2_log |
---|---|
เซิร์ฟเวอร์ทดสอบ | service_metrics_test-score2_log |
- ประเภท FTP
กฎการตั้งชื่อ | score2_[วันที่]_[เซิร์ฟเวอร์]_[ID เพื่อหลีกเลี่ยงการซ้ำซ้อน].json | เช่น, score2_20180705_111500_GLOBAL-4.json |
---|---|---|
- ประเภท Fluentd (ตามการกำหนดล็อก)
เซิร์ฟเวอร์ (การกระจายโหลดไปยังสองเซิร์ฟเวอร์) | analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com | |
กฎสำหรับการตั้งชื่อแท็ก | ha2union.game.[ชื่อย่อของเกม].score2_log | เช่น ha2union.game.samplegame.score2_log |
ค่าในฟิลด์ category | [ชื่อย่อของเกม]_score2_log | เช่น {“category”:”samplegame_score2_log”,”aaa”:1} |
วิธีการส่งข้อมูลโดยละเอียด |
- ประเภท http (ตามการกำหนด Log)
เซิร์ฟเวอร์ | https://analytics-log.withhive.com | |
ค่าของฟิลด์ หมวดหมู่ | [ชื่อสั้นของเกม]_score2_log | เช่น, {"category":"samplegame_score2_log","aaa":1} |
วิธีการส่งข้อมูลโดยละเอียด |
ข้อกำหนดการบันทึก¶
Note
ฟิลด์ที่ใช้รูปแบบ snake_case เช่น server_id
จะถูกแปลงเป็นรูปแบบ camelCase เช่น 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_score2_log" | string | Y |
timezone | UTC offset ของพารามิเตอร์เวลาในบันทึก * กำหนดค่า timezone เป็น ค่าว่างหรือ GMT+09:00 เนื่องจากค่า date จะเป็น KST เสมอเมื่อส่งการกำหนดบันทึกเป็นประเภท scribe หรือ ftp ตัวอย่าง: "GMT+09:00" * กำหนดค่า timezone อย่างยืดหยุ่นตามค่าของ dateTime เมื่อส่งการกำหนดบันทึกเป็นประเภท fluentd หรือ http ตัวอย่าง: "GMT+10:30" | string | Y |
channel | C2S: HIVE KAK: Kakao LIN: LINE WEI: Weibo | string(3) | Y |
channel_uid | รหัสประจำตัวผู้ใช้ในช่องทางการเข้าสู่ระบบ (โดยทั่วไปใช้ bigint แต่บางช่องทางอาจใช้ประเภท string) ส่ง 0 หากข้อมูลไม่ทราบ เช่น LINE | string(64) | Y |
game | ใช้ชื่อแบรนด์ของเกม (เช่น derbydays) รายการที่สามของ app_id ตัวอย่าง: com.com2us.littlelegends.kakao.freefull.apple.global.ios.universal => littlelegends * รายการที่สามของ app_id อาจไม่ตรงกันแม้ในเกมเดียวกัน ดังนั้นให้แน่ใจว่าค่าของฟิลด์เกมเป็นเอกภาพในการส่ง ตัวอย่าง: com.gamevil.basebss.android.google.global.normal ตัวอย่าง: com.gamevil.basebssent.ios.apple.global.normal => basebss | string(50) | Y |
server_id | รหัสเซิร์ฟเวอร์ อ้างอิง ตารางรหัสเซิร์ฟเวอร์ เพื่อป้อนรหัสเซิร์ฟเวอร์ (รหัส JSON Input) | string | Y |
account_id | รหัสประจำตัวบัญชีที่ไม่ซ้ำกันในเซิร์ฟเวอร์ (PK) | bigint | Y |
account_level | ระดับบัญชีของผู้ใช้ ในเกมที่ไม่มีระดับ ให้ตั้งค่าเป็น 0 | int | Y |
character_id | รหัสประจำตัวตัวละครที่ใช้ในเซิร์ฟเวอร์ ตั้งค่ารหัสประจำตัวนี้เป็น 0 หากเกมไม่มีตัวละคร | bigint | Y |
character_type_id | ค่าของประเภทตัวละครที่ใช้ในเซิร์ฟเวอร์ ตั้งค่านี้เป็น 0 หากเกมไม่มีตัวละคร | int | Y |
character_level | ระดับตัวละครที่ใช้ในเซิร์ฟเวอร์ ตั้งระดับนี้เป็น 0 หากเกมไม่มีตัวละคร | int | Y |
mode_id | รหัสประจำตัวโหมดเกม ช่วง: [1–(2^31−1)] | int | Y |
mode_name | ชื่อโหมดเกม สำหรับแสดง ims ใช้ภาษาเกาหลี | string(50) | Y |
submode_id | รหัสประจำตัวของโหมดเกมย่อย (เริ่มจาก 1) หากไม่มีโหมดย่อยให้ตั้งค่าเป็น 0 | int | Y |
submode_name | ชื่อของโหมดเกมย่อย หากไม่มีโหมดย่อยให้ตั้งค่าเป็น 0 สำหรับแสดง ims ใช้ภาษาเกาหลี | string(50) | Y |
grade_id | รหัสประจำตัวเกรด (เริ่มจาก 1) หากไม่มีเกรดให้ตั้งค่าเป็น 0 | int | Y |
grade_name | ชื่อเกรด หากไม่มีเกรดให้ตั้งค่าเป็น 0 สำหรับแสดง ims ใช้ภาษาเกาหลี | string(50) | Y |
score | คะแนนเกมของผู้ใช้ หากเกมบันทึกเฉพาะการชนะและการแพ้ คะแนนเฉลี่ยจะกลายเป็นอัตราการชนะ; 100 หมายถึงชนะ และ 0 หมายถึงแพ้ | int | Y |
client_ip | IP ของลูกค้า ค่านี้จะดึงค่าของประเทศจาก GeoIP | string(32) | Y |
server_ip | IP ของเซิร์ฟเวอร์ | string(32) | Y |
company | บริษัทเผยแพร่เกม เป้าหมายของบันทึก: ตัวอย่าง: "C2S": Com2uS, "GVI": Com2uS Holdings | string(3) | Y |
market | ข้อมูลตลาด "TS": SKT Tstore "OL": KT OllehMarket "OZ": LGU+ OzStore "AP": Apple Appstore "GO": Google Play "SA": Samsung Apps "LE": Com2us Lebi "MM": ChinaMobile MobileMarket "SN": Sina WeiboPoint "36": Qihu 360Point "MO": Momo MomoPoint "DN": DeNA MobagePoint "NA": NaverAppStore "AM": Amazon "ON": OneStore | string(2) | Y |
country | ป้อนรหัสประเทศโดยตรงหาก client_ip ไม่ได้ให้ ตัวอย่าง: KR | string(2) | N |
is_emulator | หากเชื่อมต่อกับ Emulator สำหรับ PC เช่น BlueStacks ให้คืนค่า 1; หากไม่เช่นนั้น ให้คืนค่า 0 สำหรับเวอร์ชัน PC ให้คืนค่า 2 | int | ไม่จำเป็น แต่แนะนำ |
deviceid | รหัสอุปกรณ์บน HIVE รหัสประจำตัวที่สรุปจากรหัสประจำตัวโฆษณา (Android: AdvertisingID; iOS: IDFA) | bigint | N (เพิ่มเมื่อ 12 เม.ย. 2018) |
app_id | AppID ที่ Hive SDK ใช้ เช่น ‘com.com2us.misample.normal.freefull.apple.global.ios.universal’ | string(200) | N (เพิ่มเมื่อวันที่ 25 ม.ค. 2019) |
guid | คีย์เฉพาะที่สร้างขึ้นต่อบันทึก แนะนำให้ใช้รูปแบบสุ่มเช่น uuid | varchar(64) | N |
playtime | เวลาเล่นเป็นวินาที | int | N (เพิ่มเมื่อวันที่ 4 ก.ย. 2019) |
power | พลังรวมของตัวละครในเด็คก่อนเริ่มการต่อสู้ | int | N (เพิ่มเมื่อวันที่ 11 ก.ย. 2019) |
battle_result | ใส่ WIN, LOSE, DRAW, และ GIVEUP เมื่อชนะ/แพ้/เสมอ/ยกเลิกใน pvp | string(10) | N (เพิ่มเมื่อวันที่ 10 มี.ค. 2021) |
ตัวอย่างบันทึก¶
{
"date": datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S"),
"dateTime": "2012-11-26 13:32:45",
"category": "derbyday_score2_log",
"channel": "C2S",
"channel_uid": 11111,
"game": "misample",
"account_id": 0,
"account_level": 96,
"character_id": 0,
"character_type_id": 0,
"character_level": 0,
"mode_id": 6,
"mode_name": "ub79cub529uc561uc158",
"submode_id": 9000303,
"submode_name": "lv043",
"grade_id": 1,
"grade_name": "ub2f4uae30",
"score": 100,
"market": "GO",
"server_ip": "111.111.11.111",
"client_ip": "111.111.11.111",
"country": "JP",
"company": "C2S",
"server_id": 0,
"app_id": "com.com2us.misample.normal.freefull.apple.global.ios.universal",
"guid": "ca4bd34c867f4617a819ae139d8d6670",
"playtime": 10,
"power" : 1,
"battle_result" : "GIVEUP"
}
วิธีการใช้งาน¶
- Score Log v2 ช่วยตรวจสอบความถี่ในการเล่นและตำแหน่งของผู้ใช้ตามโหมด > ซับโหมด > เกรด
- โหมดใหม่หรือโหมดเหตุการณ์สามารถใช้เพื่อวิเคราะห์ประเภทการเล่นของผู้ใช้
- โปรดตรวจสอบให้แน่ใจว่าคุณได้พูดคุยกับผู้จัดการโครงการเกม, PIC ของทีมวางแผนแพลตฟอร์ม และทีมวางแผน BI เกี่ยวกับวิธีการแยกแยะโหมด > ซับโหมด > เกรด ก่อนที่จะใช้บันทึก