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

บันทึกความแปรปรวนของสินทรัพย์ v2

บันทึกนี้ถูกจัดเรียงตามความแปรผันของสินทรัพย์ของผู้ใช้ในเกม (เช่น เงินสด, เงินในเกม)

หมวดหมู่

  • ประเภทที่ระบุ/FTP
    เซิร์ฟเวอร์ทั่วไป service_metrics-asset_var_log
    เซิร์ฟเวอร์ทดสอบ service_metrics_test-asset_var_log
  • FTP ประเภท
    กฎการตั้งชื่อ asset_var_[วันที่]_[เซิร์ฟเวอร์]_[ID เพื่อหลีกเลี่ยงการซ้ำซ้อน].json เช่น asset_var_20180705_111500_GLOBAL-4.json
  • fluentd ประเภท
    เซิร์ฟเวอร์ (การกระจายโหลดไปยังสองเซิร์ฟเวอร์) analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com
    การตั้งชื่อ TAG ha2union.game.[ชื่อเกม].asset_var_log (ตัวอย่าง) ha2union.game.samplegame.asset_var_log
    ค่าฟิลด์ category [ชื่อเกม].asset_var_log เช่น {“category”:”samplegame_asset_var_log”,”aaa”:1}
    รายละเอียดเพิ่มเติม...
  • http ประเภท
    เซิร์ฟเวอร์ https://analytics-log.withhive.com
    ค่า ฟิลด์ประเภท [ชื่อเกม]_asset_var_log (ตัวอย่าง) {"category":"samplegame_asset_var_log","aaa":1}
    รายละเอียดเพิ่มเติม...

ข้อกำหนดการบันทึก

Note

ฟิลด์ที่ใช้รูปแบบ snake_case เช่น server_id จะถูกแปลงเป็น camel case เช่น 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_asset_var_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, 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)
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
client_ip IP ของลูกค้า ค่านี้จะดึงค่าของประเทศจาก GeoIP string(32) Y
server_ip IP ของเซิร์ฟเวอร์ string(32) Y
company บริษัทเผยแพร่เกม เป้าหมายของล็อก:
ตัวอย่าง: "C2S": Com2uS, "GVI": Com2uS Holdings
string(3) Y
action_id รหัสการกระทำของผู้ใช้ที่เกี่ยวข้องกับการเปลี่ยนแปลงในเงินเกมที่ไม่ซ้ำกันในเกม
ช่วง: [1–(2^31−1)] API หรือโปรโตคอลจะแยกแยะการกระทำในเกม ดังนั้นเซิร์ฟเวอร์เกมควรกำหนดรหัสแต่ละรหัสเกี่ยวกับการกระทำ เมื่อคุณกำหนดแล้ว ห้ามเปลี่ยนแปลง จำเป็นต้องทดสอบ
int Y
action_name ค่าที่แมพ 1:1 กับ action_id หาก action_id แตกต่างกัน action_name ก็จะแตกต่างกัน (เช่น Feeding, Harvesting, เป็นต้น)
ข้อมูลจริงจะถูกจัดเก็บตาม action_id หากมีการเปลี่ยนแปลง เมตาเทเบิลจะถูกอัปเดตโดยอัตโนมัติ
หากมีการเปลี่ยนแปลง เมตาเทเบิลจะถูกอัปเดตโดยอัตโนมัติ
string(50) Y
item_id รหัสประจำตัวสินค้าที่ทำให้เกิดการเปลี่ยนแปลงสินทรัพย์ กำหนดค่านี้เป็น 0 หากการกระทำการเปลี่ยนแปลงสินทรัพย์ไม่เกี่ยวข้องกับสินค้า
ช่วง: [1–(2^31−1)] ค่านี้เป็นหมายเลขที่เริ่มต้นจาก 1 ดังนั้น 0 จึงไม่สามารถใช้ได้เว้นแต่ค่าเป็น null
พารามิเตอร์นี้จำเป็นเมื่อการกระทำเกี่ยวข้องกับสินค้า แต่ละเกมควรกำหนดรหัสสินค้าของตน
เมื่อคุณกำหนดแล้ว ห้ามเปลี่ยนแปลง จำเป็นต้องทดสอบ
bigint Y
item_name ค่าที่แมพ 1:1 กับ item_id ป้อน 0 เมื่อ item_id เป็น 0 และค่าทั้งหมดควรมีคำอธิบายเว้นแต่ item_id เป็น 0
คำอธิบายเกี่ยวกับ item_id
string(50) Y
item2_id รหัสสินค้ารายการเพิ่มเติมสำหรับการวิเคราะห์ item_id อย่างละเอียด bigint N (เพิ่มเมื่อ 04 ก.ย. 2019)
item2_name ค่าที่แมพ 1:1 กับ item2_id ป้อน 0 เมื่อ item2_id เป็น 0 และค่าทั้งหมดควรมีคำอธิบายเว้นแต่ item2_id เป็น 0
คำอธิบายเกี่ยวกับ item2_id
string N (เพิ่มเมื่อ 04 ก.ย. 2019)
asset_id ตั้งค่านี้จาก 1 ถึง 100 สำหรับสินทรัพย์ที่สามารถแลกเป็นเงินสด/คะแนนโซเชียลมีเดีย และจาก 101 ขึ้นไปสำหรับสินทรัพย์ที่ไม่สามารถแลกเป็นเงินสด
เมื่อคุณกำหนดแล้ว อย่าเปลี่ยนแปลงมัน การทดสอบเป็นสิ่งจำเป็น
(ดูเพิ่มเติม: หากสินทรัพย์ที่สามารถแลกเป็นเงินสดคือสิ่งที่ผู้ใช้มักจะได้รับแทนที่จะซื้อในเกม ให้ตั้งค่าจาก 101 ขึ้นไป)
int Y
asset_name ข้อมูลสั้น ๆ เกี่ยวกับ asset_id (เช่น ระฆัง, ดาว, ลูกบอลทอง, ทอง) string(50) Y
amount_prev จำนวนสินทรัพย์ก่อนการเปลี่ยนแปลงสินทรัพย์ที่เกี่ยวข้องกับ asset_id bigint Y
amount_var จำนวนการเปลี่ยนแปลงสินทรัพย์ที่เกี่ยวข้องกับ asset_id
สินทรัพย์ลดลง: หมายเลขลบ, สินทรัพย์เพิ่มขึ้น: หมายเลขบวก
bigint Y
amount_curr จำนวนสินทรัพย์หลังจากการเปลี่ยนแปลงสินทรัพย์ที่เกี่ยวข้องกับ asset_id
amount_curr = amount_prev + amount_var
bigint Y
amount_free_prev จำนวนสินทรัพย์ฟรีก่อนการเปลี่ยนแปลงสินทรัพย์ที่เกี่ยวข้องกับ asset_id
(เพิ่มขึ้นตามพระราชบัญญัติการชำระเงินในญี่ปุ่นที่แก้ไข)
bigint N (เพิ่มเมื่อ 18 ม.ค. 2018)
amount_free_var จำนวนการเปลี่ยนแปลงสินทรัพย์ฟรีที่เกี่ยวข้องกับ asset_id
สินทรัพย์ลดลง: หมายเลขลบ, สินทรัพย์เพิ่มขึ้น: หมายเลขบวก (เพิ่มขึ้นตามพระราชบัญญัติการชำระเงินในญี่ปุ่นที่แก้ไข)
bigint N (เพิ่มเมื่อ 18 ม.ค. 2018)
amount_free_curr จำนวนสินทรัพย์หลังจากการเปลี่ยนแปลงสินทรัพย์ฟรีที่เกี่ยวข้องกับ asset_id
(เพิ่มขึ้นตามพระราชบัญญัติการชำระเงินในญี่ปุ่นที่แก้ไข) amount_free_curr = amount_free_prev + amount_free_var
bigint N (เพิ่มเมื่อ 18 ม.ค. 2018)
amount_paid_prev จำนวนสินทรัพย์ที่ชำระเงินก่อนการเปลี่ยนแปลงสินทรัพย์ที่เกี่ยวข้องกับ asset_id
(เพิ่มขึ้นตามพระราชบัญญัติการชำระเงินในญี่ปุ่นที่แก้ไข)
bigint N (เพิ่มเมื่อ 18 ม.ค. 2018)
amount_paid_var จำนวนการเปลี่ยนแปลงสินทรัพย์ที่ชำระเงินที่เกี่ยวข้องกับ asset_id
สินทรัพย์ลดลง: หมายเลขลบ, สินทรัพย์เพิ่มขึ้น: หมายเลขบวก (เพิ่มขึ้นตามพระราชบัญญัติการชำระเงินในญี่ปุ่นที่แก้ไข)
bigint N (เพิ่มเมื่อ 18 ม.ค. 2018)
amount_paid_curr จำนวนสินทรัพย์หลังจากการเปลี่ยนแปลงสินทรัพย์ที่ชำระเงินที่เกี่ยวข้องกับ asset_id
(เพิ่มขึ้นตามพระราชบัญญัติการชำระเงินในญี่ปุ่นที่แก้ไข) amount_paid_curr = amount_paid_prev + amount_paid_var
bigint N (เพิ่มเมื่อ 18 ม.ค. 2018)
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
tinyint(1) ไม่จำเป็น แต่แนะนำ
game_language ภาษาในเกมด้วยตัวอักษรเล็กสองตัว
เช่น ko
อ้างอิง: นโยบายตัวระบุ
varchar ไม่จำเป็น แต่แนะนำ (เพิ่มเมื่อ 18 ม.ค. 2018)
deviceid รหัสอุปกรณ์บน Hive ตัวระบุที่สรุปตัวระบุโฆษณา (Android: AdvertisingID; iOS: IDFA) bigint N (เพิ่มเมื่อ 18 ม.ค. 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
real_count จำนวนสินทรัพย์ที่ผู้ใช้ได้รับจริง
เช่น เมื่อผู้ใช้ได้รับสินทรัพย์สิบรายการในครั้งเดียว จะมีเพียงบันทึกเดียวที่เหลืออยู่ แต่จำนวนจริงของสินทรัพย์คือสิบ
int Y (เพิ่มเมื่อ 4 ก.ย. 2019)

ตัวอย่างบันทึก

{
   "date": "2018-03-19 15:11:39",
   "dateTime": "2018-03-19 15:11:39",
   "category": "derbyday_asset_var_log",
   "channel": "C2S",
   "channel_uid": "100123456",
   "game": "misample",
   "server_id": "GLOBAL",
   "account_id": 301611,
   "account_level": 2,
   "character_id": 0,
   "character_type_id": 0,
   "character_level": 0,
   "action_id": 330,
   "action_name": "uc774ubca4ud2b8",
   "item_id": 330063,
   "item_name": "ub808ubca8uc5c5ubcf4uc0c1",
   "item2_id": 10001,
   "item2_name": "ub809uc5c5ubcf4uc0c1",
   "asset_id": 2,
   "asset_name": "uc18cuc6b8uace8ub4dc",
   "amount_prev": 122,
   "amount_var": 244,
   "amount_curr": 366,
   "amount_free_prev": 111,
   "amount_free_var": 222,
   "amount_free_curr": 333,
   "amount_paid_prev": 11,
   "amount_paid_var": 22,
   "amount_paid_curr": 33,
   "game_language":"JP",
   "deviceid":123456,
   "market": "GO",
   "client_ip": "221.234.20.174",
   "server_ip": "10.3.68.53",
   "company": "C2S",
   "app_id": "com.com2us.misample.normal.freefull.apple.global.ios.universal",
   "guid": "ca4bd34c867f4617a819ae139d8d6670",
   "real_count": 10
} 

วิธีการใช้งาน

  • บันทึกความแปรปรวนของสินทรัพย์ช่วยตรวจสอบสถานะการจัดส่ง/การเรียกคืนสินค้าตามสินทรัพย์และตรวจสอบอัตราการเรียกคืน สัดส่วนการขายขึ้นอยู่กับอัตราการเรียกคืน
  • ประเภทสินค้าที่สามารถแยกแยะได้และการกระทำของผู้ใช้ในเกมแสดงให้เห็นว่าสินค้าถูกจัดส่ง/เรียกคืนอย่างไร
  • สามารถตรวจสอบรายละเอียดการขายสินค้าพิเศษหรือสินทรัพย์ฟรีตามประเภทของเหตุการณ์ต่างๆ
  • โปรดหารือกับผู้จัดการโครงการเกม, PIC ของทีมวางแผนแพลตฟอร์ม และทีมวางแผน BI เกี่ยวกับวิธีการแยกแยะสินทรัพย์/การกระทำ/สินค้า ก่อนที่จะใช้บันทึก