コンテンツにスキップ

資産スナップショットサマリーログ

資産スナップショットサマリーログは、ゲームユーザーが持っている総資産の流れを分析するのに役立ちます。ゲーム開発会社は、資産の量を検索するためにクエリを実行し、このログはクエリの結果を構成するため、生成されるログの数はゲームによって異なります。

  • キャラクターベース以外のゲームの場合
    • マーケット * レベル * アクティブユーザーを選択する期間 * ユニークな 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 hh🇲🇲ss 例: 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"
}

使い方

  • ユーザーが支出するか、ただ貯蓄するかにかかわらず、総資産の流れを分析することができます。
  • データをレベル別またはアクティブユーザー別(1日、7日、30日)に区別することができます。