ข้ามไปที่เนื้อหา

บันทึกคะแนน 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 hh🇲🇲ss
ตัวอย่าง: 2012-01-19 16:24:00
จำเป็นสำหรับประเภท Scribe/FTP, ไม่จำเป็นสำหรับประเภท Fluentd
string N
dateTime เวลาที่เก็บบันทึก
รูปแบบ: yyyy-mm-dd hh🇲🇲ss
ตัวอย่าง: 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 เกี่ยวกับวิธีการแยกแยะโหมด > ซับโหมด > เกรด ก่อนที่จะใช้บันทึก