跳到主要内容

数据上报

数据统计 API 列表

OmniSDK 根据各渠道不同要求、数据 SDK 不同接口设计,统一数据统计接口,研发只需要接入一遍接口,并在后台配置好相关需要的数据统计配置、参数,即可实现不同数据源的上报。

必接接口

接口名用途场景
onCreateRole上报角色数据建议在玩家新创建游戏角色的时候,调用此接口,上报角色数据。
onEnterGame上报角色数据建议在登录完成后,进入游戏界面时,调用此接口,上报角色数据。
onPayFinish支付成功上报信息跟踪玩家的支付信息,支付成功时调用此接口。(游戏确认订单支付成功并发货后上报)

其他接口

接口名用途场景
addCommonAttribute向上报的数据中添加共通属性向上报的数据中添加共通属性,即每条数据都包含的属性。
dataConsumeEvent自定义买量数据付费上报根据投放实际需求实现。
onCloseAnnouncement用户关闭公告用户关闭公告时调用该接口,发送相关信息。
onEvent自定义事件游戏可以通过此接口进行自助数据上报及分析。
onGameLoadConfig游戏加载配置完成时游戏加载配置完成时调用该接口,发送相关信息。
onGameLoadResource游戏加载资源完成时游戏加载资源完成时调用该接口,发送相关信息。
onMissionBegin跟踪玩家的任务或关卡完成情况当开始某个任务或关卡时,调用此接口。
onMissionFail跟踪玩家的任务或关卡完成情况当某个任务或关卡执行失败时,调用此接口。
onMissionSuccess跟踪玩家的任务或关卡完成情况当某个任务或关卡已经成功完成,调用此接口。
onNewUserMission跟踪玩家新手任务完成情况用户完成新手任务时调用该接口,发送相关信息。
onOpenAnnouncement跟踪玩家打开公告情况用户打开公告时调用该接口,发送相关信息。
onPrivateFunCodeUse跟踪玩家使用专用礼包码情况用户使用专用的功能码(激活码、礼品码等)时,调用该接口,发送相关信息。
onPublicFunCodeUse跟踪玩家使用公用礼包码情况用户使用公用的功能码(激活码、礼品码等)时,调用该接口,发送相关信息。
onRoleLevelUp角色等级升级在角色等级升级时,调用此接口,上报角色数据。
onVirtualCurrencyConsume跟踪玩家的购买及消费行为当玩家消费虚拟货币时,调用此接口。
onVirtualCurrencyPurchase跟踪玩家的购买及消费行为当玩家通过充值获得游戏内虚拟货币时,调用此接口。
onVirtualCurrencyReward跟踪玩家的购买及消费行为当玩家完成活动或任务后,系统赠送给玩家虚拟货币时,调用此接口。
提示

国内项目

  1. 强制接入

  2. 建议所有接口,只要游戏有对应功能就接入,不同渠道要求不一样,有些渠道是强制要求接入上报,否则审核无法通过。

海外项目

  1. 游戏没有角色这一特征,可以不用接入,除非渠道强制要求。
  2. 游戏发行的渠道里,都没有强制要接入,可以不用接入。
  3. 如果游戏没有对应场景,请与渠道直接商量。

1.激活

上报时机:onCreate()
OmniSDK.getInstance().onCreate(this, savedInstanceState);

2.账号相关事件

上报时机:创建角色 onCreateRole
OmniSDK.getInstance().onCreateRole(roleInfo);

方法原型:

fun onCreateRole(@NonNull roleInfo: RoleInfo)

3.游戏相关事件

上报时机:进入游戏 onEnterGame
OmniSDK.getInstance().onEnterGame(roleInfo);

方法原型:

fun onEnterGame(@NonNull roleInfo: RoleInfo)
上报时机:角色升级 onRoleLevelUp
OmniSDK.getInstance().onRoleLevelUp(roleInfo);
上报时机:用户打开公告时调用该接口,发送相关信息。 onOpenAnnouncement
方法原型:
fun onOpenAnnouncement()
上报时机:用户关闭公告时调用该接口,发送相关信息。 onCloseAnnouncement
方法原型:
fun onCloseAnnouncement()
上报时机:游戏加载配置完成时调用该接口,发送相关信息。 onGameLoadConfig
fun onGameLoadConfig()
上报时机:游戏加载资源完成时调用该接口,发送相关信息。 onGameLoadResource
fun onGameLoadResource()
上报时机:跟踪玩家的任务或关卡完成情况。当开始某个任务或关卡时,调用此接口 onMissionBegin
fun onMissionBegin(
@NonNull roleInfo: RoleInfo,
@NonNull missionId: String,
@NonNull missionName: String,
doMissionTimes: Int,
roleCurrentPower: Int,
@NonNull customParams: String = ""
)

上报参数:

字段说明类型
roleInfo角色信息
missionId任务 ID
missionName任务名称
doMissionTimes次数,第几次执行该任务/关卡就传几
roleCurrentPower角色当前体力值
customParams扩展参数,JSON 格式,默认为""
上报时机:跟踪玩家的任务或关卡完成情况。当某个任务或关卡执行失败时,调用此接口 onMissionFail
fun onMissionFail(
@NonNull roleInfo: RoleInfo,
@NonNull missionId: String,
@NonNull missionName: String,
doMissionTimes: Int,
roleCurrentPower: Int,
@NonNull customParams: String = ""
)

上报参数:

字段说明类型
roleInfo角色信息
missionId任务 ID
missionName任务名称
doMissionTimes次数,第几次执行该任务/关卡就传几
roleCurrentPower角色当前体力值
customParams扩展参数,JSON 格式,默认为""
上报时机:跟踪玩家的任务或关卡完成情况。当某个任务或关卡已经成功完成,调用此接口 onMissionSuccess
fun onMissionSuccess(
@NonNull roleInfo: RoleInfo,
@NonNull missionId: String,
@NonNull missionName: String,
doMissionTimes: Int,
roleCurrentPower: Int,
@NonNull customParams: String = ""
)

上报参数:

字段说明类型
roleInfo角色信息
missionId任务 ID
missionName任务名称
doMissionTimes次数,第几次执行该任务/关卡就传几
roleCurrentPower角色当前体力值
customParams扩展参数,JSON 格式,默认为""
上报时机:用户完成新手任务时调用该接口,发送相关信息。 onNewUserMission
fun onNewUserMission(@NonNull roleInfo: RoleInfo)
上报时机:用户使用专用的功能码(激活码、礼品码等)时,调用该接口,发送相关信息。 onPrivateFunCodeUse
fun onPrivateFunCodeUse(
@NonNull roleInfo: RoleInfo,
@NonNull funCode: String,
@NonNull funCodeDesc: String,
@NonNull funCodeType: String,
@NonNull funCodeBatchId: String
)

上报参数:

字段说明类型
roleInfo角色信息
funCode码值
funCodeDesc码的描述
funCodeType码的类型
funCodeBatchId码的批号
上报时机:用户使用公用的功能码(激活码、礼品码等)时,调用该接口,发送相关信息。 onPublicFunCodeUse
fun onPublicFunCodeUse(
@NonNull roleInfo: RoleInfo,
@NonNull funCode: String,
@NonNull funCodeDesc: String,
@NonNull funCodeType: String,
@NonNull funCodeBatchId: String
)

上报参数:

字段说明类型
roleInfo角色信息
funCode码值
funCodeDesc码的描述
funCodeType码的类型
funCodeBatchId码的批号
上报时机:跟踪玩家的购买及消费行为。当玩家消费虚拟货币时,调用此接口 onVirtualCurrencyConsume
fun onVirtualCurrencyConsume(
@NonNull roleInfo: RoleInfo,
amount: Int,
@NonNull virtualCurrencyType: String,
virtualCurrencyTotal: Int,
@NonNull itemName: String,
itemNum: Int,
@NonNull itemType: String
)

上报参数:

字段说明类型
roleInfo角色信息
amount虚拟货币数量,如:10、100、100
virtualCurrencyType虚拟货币名称,如:元宝、金币等
virtualCurrencyTotal虚拟货币总量,如:100、1000、10000
itemName消费项目(比如十连抽,购买体力等)
itemNum消费项目的数量,如1、2、3
itemType消费类型 比如道具
上报时机:跟踪玩家的购买及消费行为。当玩家通过充值获得游戏内虚拟货币时,调用此接口 onVirtualCurrencyPurchase
fun onVirtualCurrencyPurchase(
@NonNull roleInfo: RoleInfo,
amount: Int,
@NonNull virtualCurrencyType: String,
virtualCurrencyTotal: Int,
@NonNull gameTradeNo: String
)

上报参数:

字段说明类型
roleInfo角色信息
amount虚拟货币数量,如:10、100、100
virtualCurrencyType虚拟货币名称,如:元宝、金币等
virtualCurrencyTotal虚拟货币总量,如:100、1000、10000
gameTradeNo游戏传入的订单号,如 trade123456789
上报时机:跟踪玩家的购买及消费行为。当玩家完成活动或任务后,系统赠送给玩家虚拟货币时,调用此接口 onVirtualCurrencyReward
fun onVirtualCurrencyReward(
@NonNull roleInfo: RoleInfo,
amount: Int,
@NonNull virtualCurrencyType: String,
virtualCurrencyTotal: Int,
@NonNull gainChannel: String,
@NonNull gainChannelType: String,
@NonNull gameTradeNo: String
)

上报参数:

字段说明类型
roleInfo角色信息
amount虚拟货币数量,如:10、100、100
virtualCurrencyType虚拟货币名称,如:元宝、金币等
virtualCurrencyTotal虚拟货币总量,如:100、1000、10000
gainChannel货币来源,比如(每日登录奖励,抽宝箱等)
gainChannelType货币来源类型比如日常任务、闯关等
gameTradeNo游戏传入的订单号,如 trade123456789

4.付费事件

上报时机:支付完成 onPayFinish
OmniSDK.getInstance().onPayFinish(payInfo);

5.自定义付费事件

上报时机:根据投放实际需求实现
OmniSDK.getInstance().dataConsumeEvent(roleInfo, consumeNum);

接口

public void dataConsumeEvent( RoleInfo roleInfo, @NotNull int consumeNum) {}

上报参数

字段类型说明
roleInfoRoleInfo参考 com.kingsoft.shiyou.omnisdk.api.entity. RoleInfo
consumeNumint上报付费金额 ,整型 >0单位元。比如 要上报2元的付费事件,consumeNum = 2

调用时机

除了支付完成 onPayFinish 的其他事件,有需要上报付费事件的场景,具体看运营需求。

举例:玩家角色升级 50 级,上报付费为10 元的付费事件

//在玩家角色达到 50 级时,调用
OmniSDK.getInstance().dataConsumeEvent(roleInfo, 10);

6.向上报的数据中添加共通属性

方法原型

fun addCommonAttribute(@NonNull key: String, @NonNull value: String)

上报参数

字段说明类型
key字段名称
value字段值

7.自定义事件

自定义事件,游戏可以通过此接口进行自助数据上报及分析

方法原型

fun onEvent(
@NonNull roleInfo: RoleInfo,
@NonNull eventId: String,
@NonNull eventDesc: String,
eventVal: Int,
@NonNull eventBody: String
)

上报参数

字段说明类型
roleInfo角色信息
eventId事件类型
eventDesc事件描述:比如:初始化成功、登录成功等
eventVal事件数值。XGSDK 的统计平台可以对此数值进行 sum/max/min/avg 等操作
eventBody事件详细定义,JSON格式,默认为""