数据上报
数据统计 API 列表
OmniSDK 根据各渠道不同要求、数据 SDK 不同接口设计,统一数据统计接口,研发只需要接入一遍接口,并在后台配置好相关需要的数据统计配置、参数,即可实现不同数据源的上报。
必接接口
接口名 | 用途 | 场景 |
---|---|---|
onCreateRole | 上报角色数据 | 建议在玩家新创建游戏角色的时候,调用此接口,上报角色数据。 |
onEnterGame | 上报角色数据 | 建议在登录完成后,进入游戏界面时,调用此接口,上报角色数据。 |
onPayFinish | 支付成功上报信息 | 跟踪玩家的支付信息,支付成功时调用此接口。(游戏确认订单支付成功并发货后上报) |
其他接口
接口名 | 用途 | 场景 |
---|---|---|
addCommonAttribute | 向上报的数据中添加共通属性 | 向上报的数据中添加共通属性,即每条数据都包含的属性。 |
dataConsumeEvent | 自定义买量数据付费上报 | 根据投放实际需求实现。 |
onCloseAnnouncement | 用户关闭公告 | 用户关闭公告时调用该接口,发送相关信息。 |
onEvent | 自定义事件 | 游戏可以通过此接口进行自助数据上报及分析。 |
onGameLoadConfig | 游戏加载配置完成时 | 游戏加载配置完成时调用该接口,发送相关信息。 |
onGameLoadResource | 游戏加载资源完成时 | 游戏加载资源完成时调用该接口,发送相关信息。 |
onMissionBegin | 跟踪玩家的任务或关卡完成情况 | 当开始某个任务或关卡时,调用此接口。 |
onMissionFail | 跟踪玩家的任务或关卡完成情况 | 当某个任务或关卡执行失败时,调用此接口。 |
onMissionSuccess | 跟踪玩家的任务或关卡完成情况 | 当某个任务或关卡已经成功完成,调用此接口。 |
onNewUserMission | 跟踪玩家新手任务完成情况 | 用户完成新手任务时调用该接口,发送相关信息。 |
onOpenAnnouncement | 跟踪玩家打开公告情况 | 用户打开公告时调用该接口,发送相关信息。 |
onPrivateFunCodeUse | 跟踪玩家使用专用礼包码情况 | 用户使用专用的功能码(激活码、礼品码等)时,调用该接口,发送相关信息。 |
onPublicFunCodeUse | 跟踪玩家使用公用礼包码情况 | 用户使用公用的功能码(激活码、礼品码等)时,调用该接口,发送相关信息。 |
onRoleLevelUp | 角色等级升级 | 在角色等级升级时,调用此接口,上报角色数据。 |
onVirtualCurrencyConsume | 跟踪玩家的购买及消费行为 | 当玩家消费虚拟货币时,调用此接口。 |
onVirtualCurrencyPurchase | 跟踪玩家的购买及消费行为 | 当玩家通过充值获得游戏内虚拟货币时,调用此接口。 |
onVirtualCurrencyReward | 跟踪玩家的购买及消费行为 | 当玩家完成活动或任务后,系统赠送给玩家虚拟货币时,调用此接口。 |
提示
国内项目
强制接入
建议所有接口,只要游戏有对应功能就接入,不同渠道要求不一样,有些渠道是强制要求接入上报,否则审核无法通过。
海外项目
- 游戏没有角色这一特征,可以不用接入,除非渠道强制要求。
- 游戏发行的渠道里,都没有强制要接入,可以不用接入。
- 如果游戏没有对应场景,请与渠道直接商量。
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) {}
上报参数
字段 | 类型 | 说明 |
---|---|---|
roleInfo | RoleInfo | 参考 com.kingsoft.shiyou.omnisdk.api.entity. RoleInfo |
consumeNum | int | 上报付费金额 ,整型 >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格式,默认为"" |