Skip to content

New user log

This log is stored whenever game has new players. It means when each game server (server_id) has new account (user_id).

Note

Make sure to send new user log as well as login log to Hive Server.
Do not send this log when user initializes an account because user_id is unchanged.

Category

  • Scribe type
Common Server new_user_log
Test Server test_new_user_log
  • FTP type
Naming Rule new_user_[Date]_[Server]_[ID for avoiding duplication].json e.g., new_user_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].new_user_log e.g., ha2union.game.samplegame.new_user_log
Value of category field [short name of game]_new_user_log e.g., {"category":"samplegame_new_user_log","aaa":1}
Detailed transmission method
  • http type (Based on Log definition)
server https://analytics-log.withhive.com
category field value [game name]_new_user_log (ex) {"category":"samplegame_new_user_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_new_user_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 Login channel
C2S: HIVE
KAK: Kakao Talk
LIN: LINE
WEI: Weibo
GVL: Gamevile Live
string(3) Y
user_id User identifier used with the configured channel field
C2S: vid in the case of games using Hive UI and Login center
KAK: User identifier issued by App Center
LIN: User identifier issued by App Center
bigint Y
app_id AppID which Hive SDK uses
e.g., 'com.com2us.derbyday.kakao.freefull.google.global.android.common'
string(200) Y
did Device ID which Hive SDK uses bigint Y
client_ip Client IP. This value extracts the value of country from GeoIP string(32) Y
server_ip Server IP string(32) Y
device_name User device model
e.g., iPhone, iPad, SM-G935, LGM-G600S
string(32) Y
company Game publishing company, the target of log:
e.g., "C2S": Com2uS, "GVI": Com2uS Holdings
string(3) Y
server_id Server Code
See Server Code Table to input 'JSON Input Code'
string Y
server_uid User identifier used in game server bigint Y
country Input the country code directly if client_ip is not given
Reference: Identifier Policy
e.g., KR
string(2) N
os_version OS version information
e.g., 9.2.1
string(10) Not required, but recommended.
game_language Language set in the game with two small letters
Reference: Identifier Policy
e.g., ko
varchar Not required, but recommended.
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.
guid Unique key generated per log
Random format such as uuid is recommended
varchar(64) N

Log sample

  • Example 1
{
    "date": "2012-12-19 16:28:38",
    "dateTime": "2012-11-26 13:32:45",
    "category": "derbyday_new_user_log",
    "channel": "KAK",
    "user_id": 88334245359848288,
    "app_id": "com.com2us.homerunking.kakao.freefull.apple.global.ios.universal",
    "client_ip": "110.70.30.199",
    "server_ip": "112.175.60.47",
    "guid": "ca4bd34c867f4617a819ae139d8d6670"
}
  • Example 2
{
    "date": "2012-12-19 16:28:41",
    "dateTime": "2012-11-26 13:32:45",
    "category": "derbyday_new_user_log",
    "app_id": "com.com2us.tinypang.kakao.freefull.google.global.android.common",
    "channel": "KAK",
    "user_id": 88517016292546192,
    "server_ip": "112.175.107.41",
    "client_ip": "121.185.37.212",
    "server_id": 1,
    "guid": "ca4bd34c867f4617a819ae139d8d6670"
}

How to use

  • Log does not display server_id (identifying server), so it utilizes the table, NEWUSER_LOG.
  • server_id is different depending on games, but it usually divided as follows:
    1 (Korea); 2 (Japan); 3 (China); 4 (Global).
    • NU: The number of new user based on the user_id.
    • NU (Did): The number of new user based on the device ID.
  • Bringing the stacked logs on the server every hour, it provides the state of real-time players by implementing openQuery.
  • It helps you check the amount of users right away through new realases or marketing on games.