スコアログ v2
カテゴリー¶
- 書記タイプ
| 共通サーバー | service_metrics-score2_log | 
|---|---|
| テストサーバー | service_metrics_test-score2_log | 
- FTPタイプ
| 命名規則 | score2_[日付][サーバー][重複回避のためのID].json | 例: score2_20180705_111500_GLOBAL-4.json | 
|---|---|---|
- Fluentd タイプ (ログ定義に基づく)
| サーバー (2つのサーバーへの負荷分散) | analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com | |
| タグの命名ルール | ha2union.game.[ゲームの短い名前].score2_log | 例: ha2union.game.samplegame.score2_log | 
| フィールドのcategoryの値 | [ゲームの短い名前]_score2_log | 例: {“category”:”samplegame_score2_log”,”aaa”:1} | 
| 詳細な送信方法 | ||
- HTTPタイプ(ログ定義に基づく)
| サーバー | https://analytics-log.withhive.com | |
| フィールドcategoryの値 | [ゲームの短い名前]_score2_log | 例: {"category":"samplegame_score2_log","aaa":1} | 
| 詳細な送信方法 | ||
ログ仕様¶
Note
スネークケースのフィールド、例えば server_id は、最終ストレージ(BigQuery)に保存される際にキャメルケース、例えば serverId に変換されます。また、serverid のように未指定の形式で送信されたログは、そのカラムに保存されません。
| フィールド名 | 説明 | タイプ | 必須 | 
|---|---|---|---|
| date | ログを保存する時間 フォーマット: yyyy-mm-dd hh 例: 2012-01-19 16:24:00 Scribe/FTPタイプでは必須、Fluentdタイプではオプション | string | N | 
| dateTime | ログを保存する時間 フォーマット: yyyy-mm-dd hh 例: 2012-01-19 16:24:00 | string | Y | 
| category | [ゲームのブランド名]_[ログ名] ゲームのブランド名はapp_idの3番目の項目です 例: "derbyday_score2_log" | string | Y | 
| timezone | ログ内の時間パラメータのUTCオフセット * ログ定義をscribeまたはftpタイプとして送信する際、日付の値は常にKSTであるため、タイムゾーンの値を**空白またはGMT+09:00**に固定します。 例: "GMT+09:00" * ログ定義をfluentdまたはhttpタイプとして送信する際、dateTimeの値に応じてタイムゾーンの値を柔軟に設定します。 例: "GMT+10:30" | string | Y | 
| channel | C2S: HIVE KAK: Kakao LIN: LINE WEI: Weibo | string(3) | Y | 
| channel_uid | ログインチャネルのユーザー識別子 (一般的にbigintが使用されますが、一部のチャネルではstringタイプを使用する場合があります) LINEなどの情報が不明な場合は0を送信します | string(64) | Y | 
| game | ゲームのブランド名を使用します (例: derbydays)。app_idの3番目の項目です 例: com.com2us.littlelegends.kakao.freefull.apple.global.ios.universal => littlelegends * app_idの3番目の項目は、1つのゲーム内でも一致しない場合があるため、送信するgameフィールドの値を統一することを確認してください。 例: com.gamevil.basebss.android.google.global.normal 例: com.gamevil.basebssent.ios.apple.global.normal => basebss | string(50) | Y | 
| server_id | サーバーコード サーバーコードを入力するにはサーバーコードの表を参照してください (JSON入力コード) | string | Y | 
| account_id | サーバー内のユニークアカウント識別子 (PK) | bigint | Y | 
| account_level | ユーザーのアカウントレベル。レベルのないゲームでは0を設定します | int | Y | 
| character_id | サーバーで使用されるキャラクター識別子 ゲームにキャラクターがない場合はこの識別子を0に設定します | bigint | Y | 
| character_type_id | サーバーで使用されるキャラクタータイプの値 ゲームにキャラクターがない場合はこの値を0に設定します | int | Y | 
| character_level | サーバーで使用されるキャラクターレベル ゲームにキャラクターがない場合はこのレベルを0に設定します | int | Y | 
| mode_id | ゲームモード識別子 範囲: [1–(2^31−1)] | int | Y | 
| mode_name | ゲームモード名 imsを表示するために。韓国語を使用します | string(50) | Y | 
| submode_id | サブゲームモードの識別子 (1から始まります)。サブモードがない場合は0を設定します | int | Y | 
| submode_name | サブゲームモードの名前。サブモードがない場合は0を設定します imsを表示するために。韓国語を使用します | string(50) | Y | 
| grade_id | グレードIDの識別子 (1から始まります)。グレードがない場合は0を設定します | int | Y | 
| grade_name | グレード名。グレードがない場合は0を設定します imsを表示するために。韓国語を使用します | string(50) | Y | 
| score | ユーザーのゲームスコア ゲームが勝ちと負けのみを記録する場合、平均スコアは勝率になります; 100は勝ち、0は負けを意味します | int | Y | 
| client_ip | クライアントIP。この値はGeoIPから国の値を抽出します | string(32) | Y | 
| server_ip | サーバーIP | string(32) | Y | 
| company | ゲーム出版会社、ログの対象: 例: "C2S": Com2uS, "GVI": Com2uS Holdings | string(3) | 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 | 
| country | client_ipが指定されていない場合、国コードを直接入力します 例: KR | string(2) | N | 
| is_emulator | BlueStacksなどのエミュレーターで接続している場合は1を返します; そうでない場合は0を返します PC版には2を返します | int | 必須ではありませんが、推奨されます。 | 
| deviceid | HIVE上のデバイスID。広告識別子を抽象化する識別子 (Android: AdvertisingID; iOS: IDFA) | bigint | N (2018年4月12日に追加) | 
| app_id | Hive SDK が使用する AppID 例: ‘com.com2us.misample.normal.freefull.apple.global.ios.universal’ | string(200) | N (2019年1月25日追加) | 
| guid | ログごとに生成されるユニークキー uuid のようなランダム形式が推奨されます | varchar(64) | N | 
| playtime | 秒単位のプレイ時間 | int | N (2019年9月4日追加) | 
| power | バトル開始前のデッキ内キャラクターの総パワー。 | int | N (2019年9月11日追加) | 
| battle_result | pvp で勝利/敗北/引き分け/放棄する際に WIN、LOSE、DRAW、GIVEUP を入力 | string(10) | N (2021年3月10日追加) | 
ログサンプル¶
{
        "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": "ub79cub529uc561uc158",
        "submode_id": 9000303,
        "submode_name": "lv043",
        "grade_id": 1,
        "grade_name": "ub2f4uae30",
        "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"
    }
使い方¶
- スコアログ v2 は、モード > サブモード > グレードに応じて、プレイの頻度とユーザーの位置を調べるのに役立ちます。
- 新しいモードまたはイベントモードは、ユーザーのプレイタイプを分析するために利用可能です。
- ログを使用する前に、ゲームプロジェクトマネージャー、プラットフォーム企画チームのPIC、BI企画チームとモード > サブモード > グレードを区別する方法について話し合うことを確認してください。