Asset snapshot summary log
Asset Snapshot Summary Log helps you analyze the flow of total assets which game users have. Game developing companies execute the query to search the amount of assets, and this log configures the result of query, so the number of generating log is different by game.
- In case of the game except character-base
- market * level * period of time selecting active user (since field) * the number of unique asset_id
- In case of character-based game
- (market * level * period of time selecting active user * the number of unique asset_id based on character * character type) + (market * level * period of time selecting active user * the number of unique asset_id based on character * account number)
HIVE Analytics is available to analyze the following status through Asset Snapshot Summary Log.
- Analyze whether users just gather the assets or consume them
- Analyze the flow from the amount of assets by level
- Analyze the flow from the amount of assets by active user for one, seven, and thirty days from the time of log generation
e.g., Action Puzzle Family
- Send respectively by (asset * since)
- The result is (market * level * asset * since) due to group by [market], [level]
- Send the query result in the log format below:
SELECT
CONVERT(CHAR(10), getdate(),120),
'KAK',
'actionpuzzlefamily',
[market],
level,
1 AS asset_id,
SUM(cash) AS cash,
COUNT(*),
30
FROM #TEMP1
WHERE
[marketcheck] = 1 AND
lastlogin >= (GETDATE()-30)
GROUP BY [market],[level]
Category¶
Common Server | service_metrics-asset_snapshot_summary_log |
---|---|
Test Server | service_metrics_test-asset_snapshot_summary_log |
Sending as FTP type¶
File Naming Convention | asset_snapshot_summary_[date]_[server]_[ID for avoiding duplication].json | e.g., asset_snapshot_summary_20180705_111500_GLOBAL-4.json |
---|---|---|
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 hhss e.g., 2012-01-19 16:24:00 | 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 STE: Steam | string(3) | 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 | string (50) | 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 |
level | The level of user in the game (The highest level if character is many) | int | Y |
since | Time gap between generating log (date field) and the last login as a criterion to extract active users 0: All users 1: Extracting users who have actively played the game one day before generating the log 7: Extracting users who have actively played the game seven days before generating the log 30: Extracting users who have actively played the game 30 days before generating the log 11: Extracting users who signed up one day before generating the log 17: Extracting users who signed up seven days before generating the log | int | Y |
asset_id | Set this value from 1 to 100 for cashable asset/social media point, and from 101 and higher for non-cashable asset Once you define, do not change it. Test is necessary (cf. If the cashable asset is what user usually gets rather than buys in games, set from 101 and higher numbers) Set the asset type as the same format of cash_var_log/noncash_var_log | int | Y |
asset_name | Brief about asset_id (e.g., bell, star, goldball, gold) | string(50) | Y |
amount | Total amount of asset relevant to asset_id | bigint | Y |
count | The number of asset relevant to asset_id | int | Y |
m_amount | The maximum amount of target asset | bigint | Y |
server_ip | Server IP stacking logs (e.g., game server IP) | 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 Refer to Table of Server Code to input server code (JSON Input Code) | string | 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 |
guid | Unique key generated per log Random format such as uuid is recommended | varchar(64) | N |
Log sample¶
{
"date": "2017-09-05 17:23:01",
"game": "test",
"market": "GO",
"level": 34,
"since": 17,
"asset_id": 801,
"asset_name": "ub9c8uc77cub9acuc9c0",
"amount": 705,
"count": 2,
"m_amount": 405,
"server_ip": "10.0.0.1",
"server_id": "GLOBAL",
"timezone": "UTC+9",
"character_type_id": 0,
"character_level": 0,
"channel": "C2S",
"company": "GVI",
"guid": "ca4bd34c867f4617a819ae139d8d6670"
}