购买日志
类别¶
- 记录类型
公共服务器 | 购买日志 |
---|---|
测试服务器 | 测试购买日志 |
- FTP类型
命名规则 | purchase_[日期][服务器][避免重复的ID].json | 例如,purchase_20180705_111500_GLOBAL-4.json |
---|---|---|
- Fluentd 类型(基于日志定义)
服务器(将负载平衡到两个服务器) | 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 | 字符串 (3) | 是 | 否 |
uid | 从 HIVE 客户端发送的 HIVE uid(使用 extra_uid) 如果没有 uid,输入 null | bigint | 如果 Extra_uid 存在则不必要 | 否 |
extra_uid | 由外部渠道(例如 Kakao)发出的唯一标识符,用户通过该渠道访问游戏,而不是 HIVE 如果没有 extra_uid,输入 null | 字符串 (30) | 如果 uid 存在则不必要 | 否 |
did | 在 HIVE 中使用的设备标识符 | bigint | 是 | 否 |
platform | 用户设备的平台: "A": Android "I": iOS "B": Bada "W": Windows | 字符串 (1) | 是 | 否 |
os_version | 用户设备的平台版本 例如,"5.1.1" | 字符串 (30) | 是 | 不要求,但推荐。 |
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 | 字符串 (2) | 是 | 否 |
game_index | 由业务部门技术部分发出 与 AppID 一起发出的应用索引 | smallint | 是 | 否 |
app_id | Hive SDK 使用的 AppID 例如,'com.com2us.derbyday.kakao.freefull.google. android.common' | 字符串(200) | 是 | 是 |
version | 用户当前使用的游戏版本 例如,"2.0.1" | 字符串(30) | 是 | 否 |
nationality | 从客户端发送的国籍代码。如果无法发送此值,只需发送 client_ip(在 DW 服务器上搜索 GeoIP 并添加)格式:ISO 3166-1 alpha-2 例如,"KR" 参考:标识符政策 | 字符串(2) | 是 | 否 |
client_ip | 用户设备在支付时的 IP 地址 格式:[0–255]. [0–255]. [0–255]. [0–255] | 字符串(15) | 是 | 否 |
transaction_id | 游戏收费的唯一标识符。它防止在发送到 Hive 服务器时重复购买日志 此字段用于消除在发送重复购买日志到 Hive 服务器时的重复。 GooglePlay: order_id(在测试支付中:如果 order_id 返回 null,则使用 purchasetoken,其他使用 order_id) AppStore: transaction_id SamsungApps: payment_id 无需验证的市场:由游戏服务器发出的交易标识符 如果游戏使用 IAP 2.0,输入 {iap transaction id}。 | 字符串(512) | 是 | 是 |
product_id | 产品标识符 例如,com.com2us.tinyfarm.normal.freefull.apple. global.ios.universal.Large_Basket_of_Bells | 字符串(512) | 是 | 否 |
product_name | 产品名称 韩文/英文/数字/符号在 20 个字符内可用 | 字符串(128) | 是 | 否 |
product_price | 用户支付的产品价格 例如,10.99 | float | 是 | 否 |
currency | 用户支付的价格的货币 格式:ISO 4217 例如,USD, KRW 通过 Lebi 支付显示为“CNY”(20lebi=1CNY) | 字符串(3) | 是 | 否 |
数量 | 用户购买的产品数量 | int | Y | N |
购买时间 | 用户支付购买的时间(基于 KST) 输入时不带空格 格式:yyyy-mm-dd hhss 例如:2017-02-08 16:34:38 | datetime | Y | Y |
时区 | 日志中时间参数的 UTC 偏移
例如,“GMT+09:00” 例如,“GMT+10:30” | string | Y | N |
路径 | gs: 游戏服务器的缩写(固定) | string(2) | Y | N |
服务器 IP | 发送购买日志的游戏服务器的 IP 地址 格式:[0–255]. [0–255]. [0–255]. [0–255] | string(15) | Y | N |
赠品 UID | 显示日志的目标是否为礼物;如果是礼物,则值表示接收者的唯一标识符(uid) null: 不是礼物。用户本身的正常购买 0: 礼物,但接收者的 uid 不明确 ID 的值:接收者的 uid | bigint | Y | N |
设备名称 | 用户设备的型号名称 例如:iPhone, iPad, SM-G935, LGM-G600S | string(32) | Y | N |
公司 | 游戏发行公司,日志的目标: 例如:“C2S”:Com2uS,“GVI”:Com2uS Holdings | string(3) | Y | N |
服务器 ID | 服务器代码 请参考 服务器代码表 输入服务器代码(JSON 输入代码) | string | Y | Y |
服务器 UID | 游戏服务器中使用的用户标识符 | bigint | Y | N |
等级 | 用户在游戏中的等级(如果角色很多,则为最高等级) | int | Y | Y |
角色 ID | 在服务器中使用的角色标识符 如果游戏没有角色,则将此标识符设置为 0 | bigint | Y | N |
角色类型 ID | 在服务器中使用的角色类型的值 如果游戏没有角色,则将此值设置为 0 | int | Y | N |
角色等级 | 在服务器中使用的角色等级 如果游戏没有角色,则将此等级设置为 0 | int | Y | N |
语言 | 用户的语言代码 格式:ISO 639 alpha-2(小写字母) 例如:“ko” | string(7) | Y | N |
游戏语言 | 从客户端发送的游戏语言代码。2个小写字母 例如:ko/zh-hans(简体中文),zh-hant(繁体中文) 参考:标识符政策 | varchar | Y | N |
设备语言 | 从客户端发送的设备语言代码 例如:ko/zh-hans(简体中文),zh-hant(繁体中文) 参考:标识符政策 | varchar | Y | N |
用户 ID | 登录中心发放的用户标识符 如果不使用登录中心,则不需要发送键值。 | bigint | Y | N |
MAC 地址 | 用户设备的 MAC 地址 格式:12 个字符的字符串类型 如果不存在,则将值清空 例如:482C6A1E593D | string(12) | Y | N |
物品发送成功 | (Y/N) 购买的物品是否交付给用户? 如果无法确认交付状态,请发送空字符串 "" | string(1) | Y | Y |
是否为模拟器 | 如果通过蓝叠等 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"
}