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

บันทึกการซื้อ

หมวดหมู่

  • ประเภทการเขียน
เซิร์ฟเวอร์ทั่วไป purchase_log
เซิร์ฟเวอร์ทดสอบ test_purchase_log
  • ประเภท FTP
กฎการตั้งชื่อ purchase_[วันที่][เซิร์ฟเวอร์][ID เพื่อหลีกเลี่ยงการซ้ำซ้อน].json e.g., purchase_20180705_111500_GLOBAL-4.json
  • ประเภท Fluentd (อิงตามการกำหนด Log)
เซิร์ฟเวอร์ (การกระจายโหลดไปยังสองเซิร์ฟเวอร์) analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com
กฎสำหรับการตั้งชื่อแท็ก ha2union.game.[ชื่อย่อของเกม].purchase_log เช่น ha2union.game.samplegame.purchase_log
ค่าของฟิลด์หมวดหมู่ [ชื่อย่อของเกม]_purchase_log เช่น {“category”:”samplegame_purchase_log”,”aaa”:1}
วิธีการส่งข้อมูลโดยละเอียด
  • ประเภท http (ตามการกำหนด Log)
เซิร์ฟเวอร์ https://analytics-log.withhive.com
ค่าของฟิลด์ category [ชื่อสั้นของเกม]_purchase_log เช่น {"category":"samplegame_purchase_log","aaa":1}
วิธีการส่งข้อมูลโดยละเอียด

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

Note

ฟิลด์ที่ใช้ snake_case เช่น server_id จะถูกแปลงเป็น camel case เช่น serverId เมื่อถูกเก็บในที่เก็บข้อมูลสุดท้าย (BigQuery) และบันทึกที่ส่งในรูปแบบที่ไม่ได้ระบุ เช่น serverid จะไม่ถูกบันทึกในคอลัมน์ของมัน

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น จำเป็นสำหรับ IAP v2
channel C2S: HIVE
KAK: Kakao
LIN: LINE
WEI: Weibo
string (3) Y N
uid HIVE uid ที่ส่งจาก HIVE Client (extra_uid กำลังใช้งาน)
หากไม่มี uid ให้ใส่ null
bigint ไม่จำเป็นหาก Extra_uid มีอยู่ N
extra_uid รหัสประจำตัวที่ไม่ซ้ำกันที่ออกโดยช่องทางภายนอก (เช่น Kakao) ซึ่งผู้ใช้เข้าถึงเกมจาก ไม่ใช่ HIVE
หากไม่มี extra_uid ให้ใส่ null
string (30) ไม่จำเป็นหาก uid มีอยู่ N
did รหัสประจำตัวอุปกรณ์ที่ใช้ใน HIVE bigint Y N
platform แพลตฟอร์มของอุปกรณ์ผู้ใช้:
"A": Android
"I": iOS
"B": Bada
"W": Windows
string (1) Y N
os_version เวอร์ชันแพลตฟอร์มของอุปกรณ์ผู้ใช้
เช่น "5.1.1"
string (30) Y ไม่จำเป็น แต่แนะนำ
market ข้อมูลตลาด
"TS": SKT T store
"OL": KT Olleh Market
"OZ": LGU+ Oz Store
"AP": Apple App store
"GO": Google Play
"SA": Samsung Apps
"LE": Com2uS Lebi
"MM": ChinaMobile Mobile Market
"SN": Sina Weibo Point
"36": Qihu 360 Point
"MO": Momo Momo Point
"DN": DeNA Mobage Point
"NA": Naver App Store
"AM": Amazon
"ON": ONE store
"FU": Funtap
"HU": Huawei
"OP": OPPO
"VI": VIVO
"XI": Xiaomi
"TC": Tencent
string (2) Y N
game_index ออกโดยแผนกธุรกิจ Techpart
ดัชนีแอปที่ออกพร้อมกับ AppID
smallint Y N
app_id AppID ที่ Hive SDK ใช้
เช่น 'com.com2us.derbyday.kakao.freefull.google.
android.common'
string(200) Y Y
version เวอร์ชันของเกมที่ผู้ใช้กำลังใช้งานอยู่
เช่น "2.0.1"
string(30) Y N
nationality รหัสสัญชาติที่ส่งจากไคลเอนต์ หากไม่สามารถส่งค่านี้ได้ ให้ส่ง client_ip แทน (ค้นหา GeoIP บนเซิร์ฟเวอร์ DW และเพิ่มเข้าไป) รูปแบบ: ISO 3166-1 alpha-2
เช่น "KR"
อ้างอิง: นโยบายตัวระบุ
string(2) Y N
client_ip ที่อยู่ IP ของอุปกรณ์ผู้ใช้ในขณะชำระเงิน
รูปแบบ: [0–255]. [0–255]. [0–255]. [0–255]
string(15) Y N
transaction_id รหัสประจำตัวที่ไม่ซ้ำกันของการชาร์จโดยเกม มันป้องกันการทำซ้ำของบันทึกการซื้อเมื่อส่งไปยัง Hive Server
ฟิลด์นี้ใช้เพื่อกำจัดการทำซ้ำเมื่อส่งบันทึกการซื้อไปยัง Hive Server
GooglePlay: order_id (ในการชำระเงินทดสอบ: หาก order_id คืนค่า null ให้ใช้ purchasetoken และอื่น ๆ ใช้ order_id)
AppStore: transaction_id
SamsungApps: payment_id
ตลาดที่ไม่มีการตรวจสอบ: รหัสประจำตัวการทำธุรกรรมที่ออกโดยเซิร์ฟเวอร์เกม
หากเกมใช้ IAP 2.0 ให้ใส่ {iap transaction id}.
string(512) Y Y
product_id รหัสประจำตัวผลิตภัณฑ์
เช่น com.com2us.tinyfarm.normal.freefull.apple.
global.ios.universal.Large_Basket_of_Bells
string(512) Y N
product_name ชื่อผลิตภัณฑ์
Kor/Eng/Num/Sign สามารถใช้ได้ภายใน 20 ตัวอักษร
string(128) Y N
product_price ราคาผลิตภัณฑ์ที่ผู้ใช้ชำระ
เช่น 10.99
float Y N
currency สกุลเงินของราคาที่ผู้ใช้ชำระ
รูปแบบ: ISO 4217
เช่น USD, KRW
การชำระเงินผ่าน Lebi จะแสดงเป็น “CNY” (20lebi=1CNY)
string(3) Y N
quantity จำนวนผลิตภัณฑ์ที่ผู้ใช้ซื้อ int Y N
purchase_time เวลาที่ผู้ใช้ชำระเงินสำหรับการซื้อ (ตามเวลา KST)
ป้อนโดยไม่มีช่องว่าง
รูปแบบ: yyyy-mm-dd hh🇲🇲ss
เช่น, 2017-02-08 16:34:38
datetime Y Y
timezone UTC offset ของพารามิเตอร์เวลาในบันทึก
  • กำหนดค่า timezone เป็น ช่องว่างหรือ GMT+09:00 เนื่องจากค่าของวันที่จะเป็น KST เสมอเมื่อส่งการกำหนดบันทึกเป็นประเภท scribe หรือ ftp.

  •   เช่น, "GMT+09:00"
  • ตั้งค่าของ timezone อย่างยืดหยุ่นตามค่าของ dateTime เมื่อส่งการกำหนดบันทึกเป็นประเภท fluentd หรือ http.

  •   เช่น, "GMT+10:30"
string Y N
path gs: ตัวย่อของเซิร์ฟเวอร์เกม (คงที่) string(2) Y N
server_ip ที่อยู่ IP ของเซิร์ฟเวอร์เกมที่ส่งบันทึกการซื้อ
รูปแบบ: [0–255]. [0–255]. [0–255]. [0–255]
string(15) Y N
giftee_uid แสดงว่าตัวเป้าหมายของบันทึกเป็นของขวัญหรือไม่; หากเป็นของขวัญ ค่าจะหมายถึงตัวระบุที่ไม่ซ้ำกันของผู้รับ (uid)
null: ไม่ใช่ของขวัญ การซื้อปกติสำหรับผู้ใช้เอง
0: ของขวัญ แต่ uid ของผู้รับไม่ชัดเจน
ค่าของ ID: uid ของผู้รับ
bigint Y N
device_name ชื่อรุ่นของอุปกรณ์ผู้ใช้
เช่น, iPhone, iPad, SM-G935, LGM-G600S
string(32) Y N
company บริษัทเผยแพร่เกม เป้าหมายของบันทึก:
เช่น, "C2S": Com2uS, "GVI": Com2uS Holdings
string(3) Y N
server_id รหัสเซิร์ฟเวอร์
อ้างอิงจาก ตารางรหัสเซิร์ฟเวอร์ เพื่อป้อนรหัสเซิร์ฟเวอร์ (JSON Enter Code)
string Y Y
server_uid ตัวระบุผู้ใช้ที่ใช้ในเซิร์ฟเวอร์เกม bigint Y N
level ระดับของผู้ใช้ในเกม (ระดับสูงสุดหากมีตัวละครหลายตัว) int Y Y
character_id ตัวระบุตัวละครที่ใช้ในเซิร์ฟเวอร์
ตั้งค่าตัวระบุตัวนี้เป็น 0 หากเกมไม่มีตัวละคร
bigint Y N
character_type_id ค่าของประเภทตัวละครที่ใช้ในเซิร์ฟเวอร์ ตั้งค่านี้เป็น 0 หากเกมไม่มีตัวละคร int Y N
character_level ระดับตัวละครที่ใช้ในเซิร์ฟเวอร์
ตั้งระดับนี้เป็น 0 หากเกมไม่มีตัวละคร
int Y N
language รหัสภาษาของผู้ใช้
รูปแบบ: ISO 639 alpha-2 (ตัวพิมพ์เล็ก)
เช่น, "ko"
string(7) Y N
game_language รหัสภาษาของเกมที่ส่งจากไคลเอนต์. 2 ตัวพิมพ์เล็ก
เช่น, ko/zh-hans (จีนตัวย่อ), zh-hant (จีนตัวเต็ม)
อ้างอิง: นโยบายตัวระบุ
varchar Y N
device_language รหัสภาษาของอุปกรณ์ที่ส่งจากไคลเอนต์
เช่น, ko/zh-hans (จีนตัวย่อ), zh-hant (จีนตัวเต็ม)
อ้างอิง: นโยบายตัวระบุ
varchar Y N
vid ตัวระบุผู้ใช้ที่ออกโดย Login Center
หากคุณไม่ใช้ Login Center การส่งค่า key ไม่จำเป็นต้องทำ
bigint Y N
mac_address ที่อยู่ MAC ของอุปกรณ์ผู้ใช้
รูปแบบ: สตริงประเภทที่มี 12 ตัวอักษร
หากไม่มี ให้เว้นค่า
เช่น, 482C6A1E593D
string(12) Y N
item_send_ok (Y/N) สินค้าที่ซื้อถูกส่งไปยังผู้ใช้หรือไม่?
หากไม่สามารถยืนยันสถานะการจัดส่งได้ ให้ส่งสตริงว่าง ""
string(1) Y Y
is_emulator หากเชื่อมต่อกับ Emulator สำหรับ PC เช่น BlueStacks ให้คืนค่า 1; มิฉะนั้น ให้คืนค่า 0 สำหรับเวอร์ชัน PC ให้คืนค่า 2 tinyint(1) N ไม่จำเป็น แต่แนะนำ
guid คีย์ที่ไม่ซ้ำกันที่สร้างขึ้นต่อบันทึก
แนะนำให้ใช้รูปแบบสุ่มเช่น uuid
varchar(64) N N
hiveiap_purchase_test สถานะการชำระเงินทดสอบ varchar(100) N N

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

{
        "channel": "C2S",
        "uid": 111111111,
        "did": 222222222,
        "mac_address": "000000000000",
        "platform": "A",
        "os_version": "6.0.1",
        "market": "GO",
        "game_index": "2414",
        "app_id": "com.com2us.misample",
        "version": "2.4.1",
        "level": 21,
        "nationality": "us",
        "language": "en",
        "ip": "112.114.245.232",
        "transaction_id": "GPA.3333-8449-4747-11111",
        "product_id": "com.com2us.misample.normal.freefull.google.global.android.common.cash01",
        "product_name": "uc9c0",
        "product_price": "1.99",
        "quantity": 1,
        "currency": "USD",
        "purchase_time": "2018-05-01 11:22:33",
        "path": "gs",
        "server_ip": "114.114.245.239",
        "device_name": "samsung SM-G920P",
        "company": "C2S",
        "game_language": "en",
        "device_language": "ko",
        "server_id": "KR-2",
        "guid": "ca4bd34c867f4617a819ae139d8d6670"
    }