資産スナップショットサマリーログ
資産スナップショットサマリーログは、ゲームユーザーが持っている総資産の流れを分析するのに役立ちます。ゲーム開発会社は、資産の量を検索するためにクエリを実行し、このログはクエリの結果を構成するため、生成されるログの数はゲームによって異なります。
- キャラクターベース以外のゲームの場合
- マーケット * レベル * アクティブユーザーを選択する期間 * ユニークな asset_id の数
- キャラクターベースのゲームの場合
- (マーケット * レベル * アクティブユーザーを選択する期間 * キャラクターに基づくユニークな asset_id の数 * キャラクタータイプ) + (マーケット * レベル * アクティブユーザーを選択する期間 * キャラクターに基づくユニークな asset_id の数 * アカウント番号)
HIVE Analyticsは、アセットスナップショットサマリーログを通じて以下のステータスを分析するために利用可能です。
- ユーザーが資産を集めるだけなのか、それとも消費するのかを分析する
- レベルごとの資産の量からの流れを分析する
- ログ生成時から1日、7日、30日のアクティブユーザーごとの資産の量からの流れを分析する
例:アクションパズルファミリー
- それぞれ (資産 * 以来) に送信
- 結果は (市場 * レベル * 資産 * 以来) であり、[市場]、[レベル] でグループ化されます
- 以下のログ形式でクエリ結果を送信:
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]
カテゴリ¶
共通サーバー | service_metrics-asset_snapshot_summary_log |
---|---|
テストサーバー | service_metrics_test-asset_snapshot_summary_log |
FTPタイプとして送信¶
ファイル命名規則 | asset_snapshot_summary_[日付]_[サーバー]_[重複回避用ID].json | 例: asset_snapshot_summary_20180705_111500_GLOBAL-4.json |
---|---|---|
ログ仕様¶
Note
スネークケースのフィールド、例えば server_id
は、最終ストレージ(BigQuery)に保存される際にキャメルケース、例えば serverId
に変換され、指定されていない形式で送信されたログ、例えば serverid
はその列に保存されません。
フィールド名 | 説明 | タイプ | 必須 |
---|---|---|---|
date | ログを保存する時間 フォーマット: yyyy-mm-dd hhss 例: 2012-01-19 16:24:00 | string | Y |
timezone | ログの時間パラメータのUTCオフセット * ログ定義をscribeまたはftpタイプとして送信する際、dateの値は常にKSTであるため、timezoneの値を**空白またはGMT+09:00**に固定してください。 例: "GMT+09:00" * ログ定義をfluentdまたはhttpタイプとして送信する際、dateTimeの値に応じてtimezoneの値を柔軟に設定してください。 例: "GMT+10:30" | string | Y |
channel | ログインチャネル C2S: HIVE KAK: Kakao Talk LIN: LINE WEI: Weibo STE: Steam | string(3) | Y |
game | ゲームのブランド名を使用します(例: derbydays)。app_idの第三項 例: com.com2us.littlelegends.kakao.freefull.apple.global.ios.universal => littlelegends | string (50) | Y |
market | マーケット情報 "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 | ゲーム内のユーザーのレベル(キャラクターが多い場合は最高レベル) | int | Y |
since | ログ生成(dateフィールド)と最後のログインの間の時間差を基準にアクティブユーザーを抽出する 0: すべてのユーザー 1: ログ生成の1日前にアクティブにゲームをプレイしたユーザーを抽出 7: ログ生成の7日前にアクティブにゲームをプレイしたユーザーを抽出 30: ログ生成の30日前にアクティブにゲームをプレイしたユーザーを抽出 11: ログ生成の1日前にサインアップしたユーザーを抽出 17: ログ生成の7日前にサインアップしたユーザーを抽出 | int | Y |
asset_id | 現金化可能な資産/ソーシャルメディアポイントの場合は1から100の値を設定し、非現金化可能な資産の場合は101以上の値を設定してください 一度定義したら、変更しないでください。テストが必要です (cf. ユーザーが通常ゲーム内で得るものであって、購入するものでない場合は101以上の数字を設定してください) asset_var_log/noncash_var_logと同じフォーマットで資産タイプを設定してください | int | Y |
asset_name | asset_idに関する簡単な説明(例: ベル、星、ゴールドボール、金) | string(50) | Y |
amount | asset_idに関連する資産の総額 | bigint | Y |
count | asset_idに関連する資産の数 | int | Y |
m_amount | 対象資産の最大額 | bigint | Y |
server_ip | ログをスタッキングするサーバーIP(例: ゲームサーバーIP) | string(32) | Y |
company | ログの対象となるゲーム出版会社: 例: "C2S": Com2uS, "GVI": Com2uS Holdings | string(3) | Y |
server_id | サーバーコード サーバーコードを入力するにはサーバーコードの表を参照してください(JSON入力コード) | string | Y |
character_type_id | サーバーで使用されるキャラクタータイプの値 ゲームにキャラクターがない場合はこの値を0に設定してください | int | Y |
character_level | サーバーで使用されるキャラクターレベル ゲームにキャラクターがない場合はこのレベルを0に設定します | int | Y |
guid | ログごとに生成されるユニークキー uuidのようなランダムな形式を推奨します | varchar(64) | N |
ログサンプル¶
{
"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"
}