購入ログ
カテゴリー¶
- スクリプトタイプ
共通サーバー | 購入ログ |
---|---|
テストサーバー | テスト購入ログ |
- FTPタイプ
命名規則 | purchase_[日付][サーバー][重複回避のためのID].json | 例: purchase_20180705_111500_GLOBAL-4.json |
---|---|---|
- Fluentdタイプ(ログ定義に基づく)
サーバー (2つのサーバーに負荷を分散) | analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com | |
タグの命名規則 | ha2union.game.[ゲームの短い名前].purchase_log | 例: ha2union.game.samplegame.purchase_log |
カテゴリフィールドの値 | [ゲームの短い名前]_purchase_log | 例: {“category”:”samplegame_purchase_log”,”aaa”:1} |
詳細な送信方法 |
- HTTPタイプ(ログ定義に基づく)
サーバー | https://analytics-log.withhive.com | |
categoryフィールドの値 | [ゲームの短い名前]_purchase_log | 例: {"category":"samplegame_purchase_log","aaa":1} |
詳細な送信方法 |
ログ仕様¶
Note
スネークケースのフィールド、例えば server_id
は、最終ストレージ(BigQuery)に保存される際にキャメルケース、例えば serverId
に変換されます。また、serverid
のように未指定の形式で送信されたログは、その列には保存されません。
フィールド名 | 説明 | タイプ | 必須 | IAP v2 必須 |
---|---|---|---|---|
channel | C2S: HIVE KAK: Kakao LIN: LINE WEI: Weibo | string (3) | Y | N |
uid | HIVE クライアントから送信された HIVE uid (extra_uid が使用中) uid がない場合は null を入力 | bigint | Extra_uid が存在する場合は不要 | N |
extra_uid | ユーザーがゲームにアクセスする外部チャネル (例: Kakao) によって発行された一意の識別子で、HIVE ではない extra_uid がない場合は null を入力 | string (30) | uid が存在する場合は不要 | N |
did | HIVE で使用されるデバイス識別子 | bigint | Y | N |
platform | ユーザーのデバイスのプラットフォーム: "A": Android "I": iOS "B": Bada "W": Windows | string (1) | Y | N |
os_version | ユーザーのデバイスのプラットフォームバージョン 例: "5.1.1" | string (30) | Y | 必須ではないが推奨。 |
market | マーケット情報 "TS": SKT T store "OL": KT Olleh Market "OZ": LGU+ Oz Store "AP": Apple App store "GO": Google Play "SA": Samsung Apps "LE": Com2uS Lebi "MM": ChinaMobile Mobile Market "SN": Sina Weibo Point "36": Qihu 360 Point "MO": Momo Momo Point "DN": DeNA Mobage Point "NA": Naver App Store "AM": Amazon "ON": ONE store "FU": Funtap "HU": Huawei "OP": OPPO "VI": VIVO "XI": Xiaomi "TC": Tencent | string (2) | Y | N |
game_index | ビジネス部門テクニカルパートによって発行される AppID と共に発行されるアプリインデックス | smallint | Y | N |
app_id | Hive SDK が使用する AppID 例: 'com.com2us.derbyday.kakao.freefull.google. android.common' | string(200) | Y | Y |
version | ユーザーが現在使用しているゲームのバージョン 例: "2.0.1" | string(30) | Y | N |
nationality | クライアントから送信された国籍コード。この値を送信できない場合は、client_ip を送信します (DW サーバーで GeoIP を検索し、追加します) フォーマット: ISO 3166-1 alpha-2 例: "KR" 参考: 識別子ポリシー | string(2) | Y | N |
client_ip | 支払い時のユーザーデバイスの IP アドレス フォーマット: [0–255]. [0–255]. [0–255]. [0–255] | string(15) | Y | N |
transaction_id | ゲームによる課金の一意の識別子。Hive サーバーに送信する際の購入ログの重複を防ぎます このフィールドは、Hive サーバーに重複して送信された購入ログの重複を排除するためのものです。 GooglePlay: order_id (テスト支払いの場合: order_id が null を返す場合は purchasetoken を使用し、その他は order_id を使用) AppStore: transaction_id SamsungApps: payment_id 検証のないマーケット: ゲームサーバーによって発行された取引識別子 ゲームが IAP 2.0 を使用する場合は {iap 取引 id} を入力します。 | string(512) | Y | Y |
product_id | 製品識別子 例: com.com2us.tinyfarm.normal.freefull.apple. global.ios.universal.Large_Basket_of_Bells | string(512) | Y | N |
product_name | 製品名 韓国語/英語/数字/記号は20文字以内で使用可能 | string(128) | Y | N |
product_price | ユーザーが支払った製品の価格 例: 10.99 | float | Y | N |
currency | ユーザーが支払った価格の通貨 フォーマット: ISO 4217 例: USD, KRW Lebi 経由の支払いは「CNY」と表示されます (20lebi=1CNY) | string(3) | Y | N |
quantity | ユーザーが購入した商品の数 | int | Y | N |
purchase_time | ユーザーが購入のために支払った時間(KSTに基づく) スペースなしで入力 フォーマット: yyyy-mm-dd hhss 例: 2017-02-08 16:34:38 | datetime | Y | Y |
timezone | ログ内の時間パラメータのUTCオフセット
例: "GMT+09:00" 例: "GMT+10:30" | string | Y | N |
path | gs: ゲームサーバーの略称(固定) | string(2) | Y | N |
server_ip | 購入ログを送信するゲームサーバーのIPアドレス フォーマット: [0–255]. [0–255]. [0–255]. [0–255] | string(15) | Y | N |
giftee_uid | ログの対象がギフトかどうかを表示します; ギフトの場合、値は受取人のユニーク識別子(uid)を意味します null: ギフトではない。ユーザー自身の通常の購入 0: ギフトだが受取人のuidが不明 IDの値: 受取人のuid | bigint | Y | N |
device_name | ユーザーデバイスのモデル名 例: iPhone, iPad, SM-G935, LGM-G600S | string(32) | Y | N |
company | ログの対象となるゲーム出版会社: 例: "C2S": Com2uS, "GVI": Com2uS Holdings | string(3) | Y | N |
server_id | サーバーコード サーバーコードを入力するにはサーバーコードの表を参照してください(JSONエンターコード) | string | Y | Y |
server_uid | ゲームサーバーで使用されるユーザー識別子 | bigint | Y | N |
level | ゲーム内のユーザーのレベル(キャラクターが多い場合は最高レベル) | int | Y | Y |
character_id | サーバーで使用されるキャラクター識別子 ゲームにキャラクターがない場合はこの識別子を0に設定してください | bigint | Y | N |
character_type_id | サーバーで使用されるキャラクタータイプの値 ゲームにキャラクターがない場合はこの値を0に設定してください | int | Y | N |
character_level | サーバーで使用されるキャラクターレベル ゲームにキャラクターがない場合はこのレベルを0に設定してください | int | Y | N |
language | ユーザーの言語コード フォーマット: ISO 639 alpha-2(小文字) 例: "ko" | string(7) | Y | N |
game_language | クライアントから送信されたゲームの言語コード。2つの小文字 例: ko/zh-hans(簡体字中国語)、zh-hant(繁体字中国語) 参照: 識別子ポリシー | varchar | Y | N |
device_language | クライアントから送信されたデバイスの言語コード 例: ko/zh-hans(簡体字中国語)、zh-hant(繁体字中国語) 参照: 識別子ポリシー | varchar | Y | N |
vid | ログインセンターによって発行されたユーザー識別子 ログインセンターを使用しない場合、キー値を送信する必要はありません。 | bigint | Y | N |
mac_address | ユーザーデバイスのMACアドレス フォーマット: 12文字の文字列タイプ 存在しない場合は値を空にしてください 例: 482C6A1E593D | string(12) | Y | N |
item_send_ok | (Y/N) 購入したアイテムはユーザーに配信されましたか? 配信状態を確認できない場合は、空の文字列""を送信してください | string(1) | Y | Y |
is_emulator | BlueStacksなどのPC用エミュレーターに接続している場合は1を返します; そうでない場合は0を返し、PCバージョンには2を返します | tinyint(1) | N | 必須ではありませんが推奨されます。 |
guid | ログごとに生成されるユニークキー uuidのようなランダムフォーマットが推奨されます | varchar(64) | N | N |
hiveiap_purchase_test | テスト支払いステータス | varchar(100) | N | N |
ログサンプル¶
{
"channel": "C2S",
"uid": 111111111,
"did": 222222222,
"mac_address": "000000000000",
"platform": "A",
"os_version": "6.0.1",
"market": "GO",
"game_index": "2414",
"app_id": "com.com2us.misample",
"version": "2.4.1",
"level": 21,
"nationality": "us",
"language": "en",
"ip": "112.114.245.232",
"transaction_id": "GPA.3333-8449-4747-11111",
"product_id": "com.com2us.misample.normal.freefull.google.global.android.common.cash01",
"product_name": "uc9c0",
"product_price": "1.99",
"quantity": 1,
"currency": "USD",
"purchase_time": "2018-05-01 11:22:33",
"path": "gs",
"server_ip": "114.114.245.239",
"device_name": "samsung SM-G920P",
"company": "C2S",
"game_language": "en",
"device_language": "ko",
"server_id": "KR-2",
"guid": "ca4bd34c867f4617a819ae139d8d6670"
}