Skip to content

Score log v2

Category

  • Scribe type
Common Server service_metrics-score2_log
Test Server service_metrics_test-score2_log
  • FTP type
Naming Rule score2_[Date]_[Server]_[ID for avoiding duplication].json e.g., score2_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].score2_log e.g., ha2union.game.samplegame.score2_log
Value of category field [short name of game]_score2_log e.g., {“category”:”samplegame_score2_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]_score2_log e.g., {"category":"samplegame_score2_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
date The time storing log
Format: yyyy-mm-dd hh🇲🇲ss
e.g., 2012-01-19 16:24:00
Required for Scribe/FTP type, optional for Fluentd type
string N
dateTime The time storing log
Format: yyyy-mm-dd hh🇲🇲ss
e.g., 2012-01-19 16:24:00
string Y
category [The brand name of game]_[Log name] The brand name of game is the third item of app_id
e.g., "derbyday_score2_log"
string 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
channel C2S: HIVE
KAK: Kakao
LIN: LINE
WEI: Weibo
string(3) Y
channel_uid User identifier on login channel (Generally bigint is in use, but some channels may use string type)
Send 0 if the information is unknown such as LINE
string(64) Y
game Use the brand name of game (e.g., derbydays). The third item of app_id
e.g., com.com2us.littlelegends.kakao.freefull.apple.global.ios.universal => littlelegends
* The third item of app_id can be unmatched even in one game, so make sure to unify the values of game field to send.
e.g., com.gamevil.basebss.android.google.global.normal
e.g., com.gamevil.basebssent.ios.apple.global.normal
=> basebss
string(50) Y
server_id Server Code
Refer to Table of Server Code to input server code (JSON Input Code)
string Y
account_id Unique account identifier in server (PK) bigint Y
account_level Account level of user. In the game without level, set as 0 int Y
character_id Character identifier used in server
Set this identifier as 0 if the game has no character
bigint Y
character_type_id The value of character type used in server
Set this value as 0 if the game has no character
int Y
character_level Character level used in server
Set this level as 0 if the game has no character
int Y
mode_id Game mode identifier
Range: [1–(2^31−1)]
int Y
mode_name Game mode name
For displaying ims. Use Korean
string(50) Y
submode_id Identifer of sub-game mode (starts from 1). Without sub-mode, set as 0 int Y
submode_name The name of sub-game mode. Without sub-mode, set as 0 For displaying ims. Use Korean string(50) Y
grade_id Identifier of grade ID (starts from 1). Without grade, set as 0 int Y
grade_name Grade name. Without grade, set as 0
For displaying ims. Use Korean
string(50) Y
score Game score of user
If game records only win and loss, the average score becomes win ratio; 100 means win, and 0 means loss
int Y
client_ip Client IP. This value extracts the value of country from GeoIP string(32) Y
server_ip Server IP string(32) Y
company Game publishing company, the target of log:
e.g., "C2S": Com2uS, "GVI": Com2uS Holdings
string(3) Y
market Market information
"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 Input the country code directly if client_ip is not given
e.g., KR
string(2) N
is_emulator If connecting with Emulator for PC such as BlueStacks, return 1; unless, return 0
to the PC version, return 2
int Not required, but recommended.
deviceid Device ID on HIVE. The identifier which abstracts advertising identifier (Android: AdvertisingID; iOS: IDFA) bigint N (added on Apr.12.2018)
app_id AppID which Hive SDK uses
e.g., ‘com.com2us.misample.normal.freefull.apple.global.ios.universal’
string(200) N (added on Jan.25.2019)
guid Unique key generated per log
Random format such as uuid is recommended
varchar(64) N
playtime playtime by second int N (added on Sep.04.2019)
power The total power of characters in a deck prior to battle start. int N (added on Sep.11.2019)
battle_result Enter WIN, LOSE, DRAW, and GIVEUP when winning/losing/drawing/abandoning in pvp string(10) N (added on Mar.10.2021)

Log sample

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

How to use

  • Score Log v2 helps examine the frequency of play and the location of the users depending on the Mode > Submode > Grade.
  • New mode or event mode is available to analyze the play type of users.
  • Make sure to discuss with game project manager, PIC of platform planning team and BI planning team about how to distinguish Mode > Submode > Grade before using the log.