Skip to content

Purchase log

Category

  • Scribe type
Common Server purchase_log
Test Server test_purchase_log
  • FTP type
Naming Rule purchase_[Date][Server][ID for avoiding duplication].json e.g., purchase_20180705_111500_GLOBAL-4.json
  • Fluentd Type (Based on Log definition)
Server (Balancing loads to two servers) analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com
Rule for naming tag ha2union.game.[short name of game].purchase_log e.g., ha2union.game.samplegame.purchase_log
Value of category field [short name of game]_purchase_log e.g., {“category”:”samplegame_purchase_log”,”aaa”:1}
Detailed transmission method
  • http type (Based on Log definition)
Server https://analytics-log.withhive.com
Value of category field [short name of game]_purchase_log e.g., {"category":"samplegame_purchase_log","aaa":1}
Detailed transmission method

Log specification

Note

The snake-cased field, like server_id, is transformed to camel case, like serverId, when it stores in the final storage (BigQuery), and the log sent in the unspecified form, such as serverid, is not saved in its column.

Field Name Description Type Required IAP v2 Required
channel C2S: HIVE
KAK: Kakao
LIN: LINE
WEI: Weibo
string (3) Y N
uid HIVE uid sent from HIVE Client (extra_uid is in use)
Without uid, input null
bigint Unnecessary if Extra_uid exists N
extra_uid Unique identifier issued by external external channel (e.g. Kakao) where user accesses games from, not HIVE
Without extra_uid, input null
string (30) Unnecessary if uid exists N
did Device identifier used in HIVE bigint Y N
platform Platform of the user device:
"A": Android
"I": iOS
"B": Bada
"W": Windows
string (1) Y N
os_version Platform version of the user device
e.g., "5.1.1"
string (30) Y Not required, but recommended.
market Market information
"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 Issued by Business Department Techpart
App Index issued with AppID
smallint Y N
app_id AppID which Hive SDK uses
e.g., 'com.com2us.derbyday.kakao.freefull.google.
android.common'
string(200) Y Y
version The version of game which user currently uses
e.g., "2.0.1"
string(30) Y N
nationality Nationality code sent from the client. If this value is unable to send, just send client_ip (Search GeoIP on DW server and add it) Format: ISO 3166-1 alpha-2
e.g., "KR"
Reference: Identifier Policy
string(2) Y N
client_ip IP address of user device at the time of payment
Format: [0–255]. [0–255]. [0–255]. [0–255]
string(15) Y N
transaction_id Unique identifier of charge by game. It prevents duplication of purchase log when sending to Hive Server
This field is to get rid of duplication when sent purchase logs in duplicated to the Hive Server.
GooglePlay: order_id (In test payment : if order_id returns null, use purchasetoken, and others use order_id)
AppStore: transaction_id
SamsungApps: payment_id
Market without verification: Transaction identifier issued by game server
If a game use IAP 2.0, enters {iap transaction id}.
string(512) Y Y
product_id Product identifier
e.g., com.com2us.tinyfarm.normal.freefull.apple.
global.ios.universal.Large_Basket_of_Bells
string(512) Y N
product_name Product name
Kor/Eng/Num/Sign are available within 20 characters
string(128) Y N
product_price Product price paid by user
e.g., 10.99
float Y N
currency Currency of the price paid by user
Format: ISO 4217
e.g., USD, KRW
Payment via Lebi is displayed as “CNY” (20lebi=1CNY)
string(3) Y N
quantity The number of products purchased by user int Y N
purchase_time The time user pays for the purchase (on the basis of KST)
Input without spaces
Format: yyyy-mm-dd hh🇲🇲ss
e.g., 2017-02-08 16:34:38
datetime Y Y
timezone UTC offset of time parameter in the log
  • Fix the value of timezone as a blank or GMT+09:00 as the value of date is always KST when sending log definition as scribe or ftp type.

  •   e.g., "GMT+09:00"
  • Set the value of timezone flexiblely in accordance with the value of dateTime when sending log definition as fluentd or http type.

  •   e.g., "GMT+10:30"
string Y N
path gs: Abbreviation of game server (fixed) string(2) Y N
server_ip IP address of game server which sends purchase log
Format: [0–255]. [0–255]. [0–255]. [0–255]
string(15) Y N
giftee_uid It displays whether the target of log is a gift or not; if a gift, the value means a unique identifier of the receiver (uid)
null: Not for a gift. Normal purchase for user itself
0: A gift, but receiver’s uid is unclear
Value of ID: uid of the receiver
bigint Y N
device_name Model name of user device
e.g., iPhone, iPad, SM-G935, LGM-G600S
string(32) Y N
company Game publishing company, the target of log:
e.g., "C2S": Com2uS, "GVI": Com2uS Holdings
string(3) Y N
server_id Server code
Refer to Table of Server Code to input server code (JSON Enter Code)
string Y Y
server_uid User identifier used in game server bigint Y N
level The level of user in the game (The highest level if character is many) int Y Y
character_id Character identifier used in server
Set this identifier as 0 if the game has no character
bigint Y N
character_type_id The value of character type used in server Set this value as 0 if the game has no character int Y N
character_level Character level used in server
Set this level as 0 if the game has no character
int Y N
language Language code of user
Format: ISO 639 alpha-2 (small letter)
e.g., "ko"
string(7) Y N
game_language Language code of the game sent from the client. 2-small letters
e.g., ko/zh-hans (simplified Chinese), zh-hant (traditional Chinese)
Reference: Identifier Policy
varchar Y N
device_language Language code of the device sent from the client
e.g., ko/zh-hans (simplified Chinese), zh-hant (traditional Chinese)
Reference: Identifier Policy
varchar Y N
vid User identifier issued by Login Center
If you don's use Login Center, sending the key value is not required.
bigint Y N
mac_address MAC address of user device
Format: String type with 12 characters
If not existed, empty the value
e.g., 482C6A1E593D
string(12) Y N
item_send_ok (Y/N) Is purchased item delivered to user?
If the delivery state is unable to confirm, send the empty string ""
string(1) Y Y
is_emulator If connecting with Emulator for PC such as BlueStacks, return 1; unless, return 0 to the PC version, return 2 tinyint(1) N Not required, but recommended.
guid Unique key generated per log
Random format such as uuid is recommended
varchar(64) N N
hiveiap_purchase_test Test Payment Status varchar(100) N N

Log sample

{
        "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"
    }