スコアログ 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 hhss 例: 2012-01-19 16:24:00 Scribe/FTPタイプでは必須、Fluentdタイプではオプション | string | N |
dateTime | ログを保存する時間 フォーマット: yyyy-mm-dd hhss 例: 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企画チームとモード > サブモード > グレードを区別する方法について話し合うことを確認してください。