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.comRule 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
Field Name | Description | Type | Required |
date | The time storing log Format: yyyy-mm-dd hh:mm: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:mm: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
|
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. |
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 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
{ "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": "\ub79c\ub529\uc561\uc158", "submode_id": 9000303, "submode_name": "lv043", "grade_id": 1, "grade_name": "\ub2f4\uae30", "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.