跳转至

资产差异日志 v2

此日志是通过用户在游戏中的资产变动(例如现金、游戏货币)进行堆叠的。

类别

  • 订阅/FTP 类型
    常见服务器 service_metrics-asset_var_log
    测试服务器 service_metrics_test-asset_var_log
  • FTP 类型
    命名规则 asset_var_[日期]_[服务器]_[避免重复的ID].json 例如,asset_var_20180705_111500_GLOBAL-4.json
  • fluentd 类型
    服务器(将负载平衡到两个服务器) analytics-hivelog-03.withhive.com analytics-hivelog-04.withhive.com
    标签命名 ha2union.game.[游戏名称].asset_var_log (示例) ha2union.game.samplegame.asset_var_log
    类别 字段值 [游戏名称].asset_var_log 例如,{“category”:”samplegame_asset_var_log”,”aaa”:1}
    更多细节...
  • http 类型
    服务器 https://analytics-log.withhive.com
    类别 字段值 [游戏名称]_asset_var_log (例如) {"category":"samplegame_asset_var_log","aaa":1}
    更多细节...

日志规范

Note

server_id 这样的蛇形命名字段在最终存储(BigQuery)时会转换为驼峰命名,例如 serverId,而以未指定形式发送的日志,例如 serverid,不会保存在其列中。

字段名称 描述 类型 必需
date 存储日志的时间
格式:yyyy-mm-dd hh🇲🇲ss
例如:2012-01-19 16:24:00
Scribe/FTP类型必需,Fluentd类型可选
string N
dateTime 存储日志的时间
格式:yyyy-mm-dd hh🇲🇲ss
例如:2012-01-19 16:24:00
string Y
category [游戏品牌名称]_[日志名称] 游戏品牌名称是app_id的第三项
例如:"derbyday_asset_var_log"
string Y
timezone 日志中时间参数的UTC偏移
* 将时区的值固定为**空白或GMT+09:00**,因为当以scribe或ftp类型发送日志定义时,日期始终是KST。
例如:"GMT+09:00"
* 在以fluentd或http类型发送日志定义时,根据dateTime的值灵活设置时区的值。
例如:"GMT+10:30"
string Y
channel C2S: Hive, KAK: Kakao, LIN: LINE, WEI: 微博 string(3) Y
channel_uid 登录渠道的用户标识符(通常使用bigint,但某些渠道可能使用string类型)
如果信息未知(如LINE),发送0
string(64) Y
game 使用游戏的品牌名称(例如,derbydays)。app_id的第三项
例如,com.com2us.littlelegends.kakao.freefull.apple.global.ios.universal => littlelegends
* app_id的第三项即使在一个游戏中也可能不匹配,因此确保统一发送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
client_ip 客户端IP。此值从GeoIP提取国家值 string(32) Y
server_ip 服务器IP string(32) Y
company 游戏出版公司,日志的目标:
例如,"C2S": Com2uS, "GVI": Com2uS Holdings
string(3) Y
action_id 与游戏中唯一游戏货币变化相关的用户操作ID
范围:[1–(2^31−1)] API或协议区分游戏中的操作,因此游戏服务器应定义每个操作的ID 一旦定义,不要更改。需要测试
int Y
action_name 与action_id 1:1映射的值。如果action_id不同,action_name也不同(例如,喂养、收获等)
实际数据是基于action_id堆叠的。如果更改,元表会自动更新
如果更改,元表会自动更新
string(50) Y
item_id 导致资产变化的物品标识符。如果资产变化操作与物品无关,则将此值设置为0。
范围:[1–(2^31−1)]此值是从1开始的数字,因此除了值为null外,0不可用。
当操作与物品相关时,此参数是必需的。每个游戏应定义物品ID
一旦定义,不要更改。需要测试
bigint Y
item_name 与item_id 1:1映射的值。当item_id为0时输入0,所有值应有解释,除非item_id为0。
关于item_id的简要说明
string(50) Y
item2_id 用于详细分析item_id的附加item_id bigint N(于2019年9月4日添加)
item2_name 与item2_id 1:1映射的值。当item2_id为0时输入0,所有值应有解释,除非item2_id为0。
关于item2_id的简要说明
string N(于2019年9月4日添加)
asset_id 将此值设置为1到100,用于可兑现资产/社交媒体积分,101及以上用于不可兑现资产
一旦定义,请勿更改。需要测试
(例如,如果可兑现资产是用户通常在游戏中获得而不是购买的,请设置为101及以上的数字)
int Y
asset_name 关于asset_id的简要说明(例如,铃铛,星星,金球,黄金) string(50) Y
amount_prev 在与asset_id相关的资产变动之前的资产数量 bigint Y
amount_var 与asset_id相关的资产变动数量。
资产减少:负数,资产增加:正数
bigint Y
amount_curr 在与asset_id相关的资产变动之后的资产数量。
amount_curr = amount_prev + amount_var
bigint Y
amount_free_prev 在与asset_id相关的资产变动之前的免费资产数量
(由于日本资金结算法修正而增加)
bigint N (于2018年1月18日增加)
amount_free_var 与asset_id相关的免费资产变动数量
资产减少:负数,资产增加:正数(由于日本资金结算法修正而增加)
bigint N (于2018年1月18日增加)
amount_free_curr 在与asset_id相关的免费资产变动之后的资产数量
(由于日本资金结算法修正而增加) amount_free_curr = amount_free_prev + amount_free_var
bigint N (于2018年1月18日增加)
amount_paid_prev 在与asset_id相关的资产变动之前的已付资产数量
(由于日本资金结算法修正而增加)
bigint N (于2018年1月18日增加)
amount_paid_var 与asset_id相关的已付资产变动数量
资产减少:负数,资产增加:正数(由于日本资金结算法修正而增加)
bigint N (于2018年1月18日增加)
amount_paid_curr 在与asset_id相关的资产变动之后的资产数量
(由于日本资金结算法修正而增加) amount_paid_curr = amount_paid_prev + amount_paid_var
bigint N (于2018年1月18日增加)
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": 新浪微博积分
"36": 360安全卫士积分
"MO": Momo Momo积分
"DN": DeNA Mobage积分
"NA": Naver应用商店
"AM": 亚马逊
"ON": OneStore
string(2) Y
country 如果未提供client_ip,请直接输入国家代码
例如,KR
string(2) N
is_emulator 如果通过PC模拟器(如BlueStacks)连接,则返回
1;否则,返回0
对于PC版本,返回2
tinyint(1) 不要求,但推荐。
game_language 游戏中的语言,使用两个小写字母
例如,ko
参考:标识符政策
varchar 不要求,但推荐。(于2018年1月18日增加)
deviceid Hive上的设备ID。抽象广告标识符的标识符(Android:AdvertisingID;iOS:IDFA) bigint N (于2018年1月18日增加)
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
real_count 用户实际获得的资产数量
例如,当用户一次获得十个资产时,只有一个日志被保留,但资产的实际数量是十
int Y (于2019年9月4日增加)

日志示例

{
   "date": "2018-03-19 15:11:39",
   "dateTime": "2018-03-19 15:11:39",
   "category": "derbyday_asset_var_log",
   "channel": "C2S",
   "channel_uid": "100123456",
   "game": "misample",
   "server_id": "GLOBAL",
   "account_id": 301611,
   "account_level": 2,
   "character_id": 0,
   "character_type_id": 0,
   "character_level": 0,
   "action_id": 330,
   "action_name": "uc774ubca4ud2b8",
   "item_id": 330063,
   "item_name": "ub808ubca8uc5c5ubcf4uc0c1",
   "item2_id": 10001,
   "item2_name": "ub809uc5c5ubcf4uc0c1",
   "asset_id": 2,
   "asset_name": "uc18cuc6b8uace8ub4dc",
   "amount_prev": 122,
   "amount_var": 244,
   "amount_curr": 366,
   "amount_free_prev": 111,
   "amount_free_var": 222,
   "amount_free_curr": 333,
   "amount_paid_prev": 11,
   "amount_paid_var": 22,
   "amount_paid_curr": 33,
   "game_language":"JP",
   "deviceid":123456,
   "market": "GO",
   "client_ip": "221.234.20.174",
   "server_ip": "10.3.68.53",
   "company": "C2S",
   "app_id": "com.com2us.misample.normal.freefull.apple.global.ios.universal",
   "guid": "ca4bd34c867f4617a819ae139d8d6670",
   "real_count": 10
} 

如何使用

  • 资产差异日志有助于检查资产的物品交付/取回状态,并检查取回率。销售额取决于取回率。
  • 可区分的物品类型和用户在游戏中的行为显示了物品交付/取回的活跃执行情况。
  • 可以通过各种类型的事件检查额外物品销售或免费资产的详细信息。
  • 在使用日志之前,请确保与游戏项目经理、平台规划团队的负责人和BI规划团队讨论如何区分资产/行动/物品。