小游戏高级自定义事件上报及使用文档
友盟+小游戏支持QQ小游戏,微信小游戏,字节小游戏等平台的高级自定义事件上报。本文档将向您介绍各平台小游戏SDK的接入方式,营收、关卡、等级等高级自定义事件的上报,与其他平台的兼容情况。
适用范围
支持平台:QQ小游戏、微信小游戏、字节小游戏、快游戏
SDK接入
1. 下载
sdk地址:https://developer.umeng.com/docs/147615/detail/184228
注:请注意下载小游戏sdk后查看下版本,游戏接口仅支持 2.4.11及以上版本
2. 集成
集成文档: https://developer.umeng.com/docs/147615/cate/186823
游戏分析事件使用
提供特定方法,用来分析 营收、关卡、等级等,您可以调用相关方法;调用相关方法后,我们会上报为游戏方案事件及属性。
第一步:友盟后台点击创建游戏看板
第二步:使用如下接口上报数据
第三步:进入「分析-自制看板」查看和分析数据。
第一步:友盟后台使用小游戏方案
点击「统计-自定义事件-立即使用看板」


点击后,会生成相应的事件、属性、报表以及预置看板,大概预计2分钟左右。

生成成功后,在「我的看板」中即可查看相关的小游戏数据

第二步:SDK中使用接口上报游戏分析数据
事件根据接口会自动转到相应的自定义事件中,属性会上传时自动识别。
营收
玩家消费成功后调用此接口进行金额上报
接口
uma.revenue
参数
参数/Key | 描述 | 参数类型 | 是否必传 | 规则 |
|---|---|---|---|---|
group | 固定字段 | sting | 是 | 该字段固定值为default,不可随意更改 |
money | 付费金额 | number | 是 | 请注意值格式,传错不能进行金额计算 |
name | 付费项目 | sting | 是 | — |
desc | 描述 | string | 否 | — |
示例
wx.uma.revenue({
group:'default',//该字段名称不可修改,必传
money:100,// 付费金额 (该字段必传) 格式:数值型,number;请注意值格式,传错不能进行金额计算
name:"充值",// 付费项目(该字段必传,字符格式, 例如:充值、广告、复活等
desc:"个人中心进行充值充值"// 描述(非必选) String
})关卡
追踪玩家关卡的过关、道具使用情况
1. 关卡开始
接口
uma.stage.onStart
参数
参数/Key | 描述 | 参数类型 | 是否必传 | 规则 |
|---|---|---|---|---|
stageId | 关卡ID | sting | 是 | 该字段必传,且必须传为string类型 |
stageName | 关卡名称 | sting | 是 | — |
示例
wx.uma.stage.onStart({
stageId:'stage1',//该字段名称不可修改,必传
stageName:'新手第一关',// 付费金额 (该字段必传) 格式:数值型,number;请注意值格式,传错不能进行金额计算
})2. 关卡结束
接口
uma.stage.onEnd
参数
参数/Key | 描述 | 参数类型 | 是否必传 | 规则 |
|---|---|---|---|---|
stageId | 关卡ID | sting | 是 | 该字段必传,且必须传为string类型 |
stageName | 关卡名称 | sting | 是 | — |
event | 关卡结束结果 | string | 是 | 请按照以下两个字段上传,complete/ fail (关卡完成/关卡失败) |
_um_sdu | 关卡耗时(毫秒) | number | 否 | 关卡耗时(毫秒) |
友盟sdk会在根据本地关卡缓存数据,计算关卡的耗时自动上报;如果希望自己统计耗时,也可以自行统计上报,上报格式为数值型,单位为毫秒
示例
wx.uma.stage.onEnd({
stageId:'stage1',//该字段名称不可修改,必传
stageName:'新手第一关',// 付费金额 (该字段必传) 格式:数值型,number;请注意值格式,传错不能进行金额计算
event:"complete"
})wx.uma.stage.onEnd({
stageId:'stage1',//该字段名称不可修改,必传
stageName:'新手第一关',// 付费金额 (该字段必传) 格式:数值型,number;请注意值格式,传错不能进行金额计算
event:"fail"
})关卡中行为
接口
uma.stage.onRunning
参数
参数/Key | 描述 | 参数类型 | 是否必传 | 规则 |
|---|---|---|---|---|
stageId | 关卡ID | sting | 是 | 该字段必传,且必须传为string类型 |
stageName | 关卡名称 | sting | 是 | — |
event | 事件类型 | string | 是 | 请按照以下两个字段上传,tools/ award 使用道具/关卡中获得奖励 |
params | 事件参数 | object | ||
params.itemName | 商品/道具名称 | string | 是 | 例如:“麒麟坐骑” |
params.itemId | 商品/道具ID | string | 否 | — |
params.itemCount | 商品/道具数量 | number | 否 | 一次消耗5个道具,传 5 |
params.itemMoney | 商品/道具单价 | number | 否 | 传输商品单价 |
params.desc | 描述 | string | 否 | — |
示例
// 在关卡中使用道具
wx.uma.stage.onRunning({
stageId :"stage1",
stageName :"第二阶段-第1关",
event:"tools"
params:{
itemName :"火力加强"
}
})// 在关卡中获得奖励
wx.uma.stage.onRunning({
stageId :"stage1",
stageName :"第二阶段-第1关",
event:"award"
params:{
itemName :"麒麟坐骑"
}
})3. 关卡付费
接口
uma.revenue
参数
参数/Key | 描述 | 参数类型 | 是否必传 | 规则 |
|---|---|---|---|---|
group | 固定字段 | sting | 是 | 该字段固定值为stage,不可随意更改 |
money | 付费金额 | number | 是 | — |
name | 付费项目 | sting | 是 | — |
stageId | 关卡ID | sting | 是 | 该字段必传,且必须传为string类型 |
stageName | 关卡名称 | sting | 是 | 必传 |
desc | 描述 | string | 否 | — |
示例
wx.uma.revenue({
group:'stage',// 该字段为关卡付费固定字段不可修改 (该字段必传)
stageId:"stage1",// 关卡id (该字段必传) String
stageName:"新手关",// 关卡名称 (该字段必传) String
money:100,// 付费金额 (该字段必传) Number
name:"复活机会",// 付费项目(该字段必传) String
desc:"在关卡中使用火力增强,增加实力",// 描述(可选) String
})等级
上报情景 | 上报事件 |
|---|---|
app.onShow | uma.level.onInitLevel |
升级 | uma.level.onSetLevel |
1. 等级初始化上报
接口
uma.level.onInitLevel //初始化上报(init)
参数
参数/Key | 描述 | 参数类型 | 是否必传 | 规则 |
|---|---|---|---|---|
levelId | 等级id | sting | 是 | 字符 |
levelName | 等级名称 | number | 是 | 字符 |
示例
// app onShow
wx.uma.level.onInitLevel({
levelId :'level1',// 等级id 必传
levelName :'等级1',// 等级名称 必传
});2. 升级
接口
uma.level.onSetLevel // 升级
参数
参数/Key | 描述 | 参数类型 | 是否必传 | 规则 |
|---|---|---|---|---|
levelId | 等级id | sting | 是 | 字符 |
levelName | 等级名称 | number | 是 | 字符 |
示例
// 升级
wx.uma.level.onSetLevel({
levelId :'level1',// 等级id 必传
levelName :'等级1',// 等级名称 必传
});3. 等级付费
接口
uma.revenue
参数
参数/Key | 描述 | 参数类型 | 是否必传 | 规则 |
|---|---|---|---|---|
group | 固定字段 | sting | 是 | 该字段固定值为grade,不可随意更改 |
money | 付费金额 | number | 是 | — |
name | 付费项目 | sting | 是 | — |
levelId | 等级ID | sting | 是 | 该字段必传,且必须传为string类型 |
levelName | 等级名称 | sting | 是 | — |
desc | 描述 | string | 否 | — |
示例
wx.uma.revenue({
group:'grade',// 该字段为关卡付费固定字段不可修改 (该字段必传)
levelId:"level1",// 关卡id (该字段必传) String
levelName:"等级1",// 关卡名称 (该字段必传) String
money:100,// 付费金额 (该字段必传) Number
name:"复活机会",// 付费项目(该字段必传) String
desc:"在关卡中使用火力增强,增加实力",// 描述(可选) String
})第三步:查看和分析数据
使用分析-事件分析功能
注:图表数据为测试数据,主要用来示意事件分析设置后的图表结果,仅供参考。
关卡完成
事件:关卡进入次数,关卡完成次数;选择按照次数统计分组:选择关卡名称
关卡通关
事件:关卡进入,选择「次数」,;事件:关卡完成,选择「次数」,同时加入“筛选条件”,过滤出关卡完成状态=「complete」分组:选择关卡名称
关卡耗时
事件:关卡进入次数,选择自定义参数中,选择「关卡耗时」,计算平均值分组:选择关卡名称

道具消耗
事件:道具发放,自定义参数中,选择「道具数量」,计算累加值事件:道具消耗,自定义参数中,选择「道具数量」,计算累加值分组:选择关卡名称
不同关卡的道具消耗
事件:道具消耗,自定义参数中,选择「道具数量」,计算累加值分组:选择关卡名称、道具名称
不同关卡的付费分析
事件:付费充值,自定义参数中,选择「付费金额」,计算累加值事件:付费充值,选择「用户数」分组:选择关卡名称
注:图表数据为测试数据,主要用来示意事件分析设置后的图表结果,仅供参考。
其他自定义事件接入
1. 添加自定义事件
进入U-MiniProgram后台“自定义事件”页面,点击“事件管理”;
点击“添加事件”,输入小程序埋点的事件ID和名称;
2. 自定义事件代码:
trackEvent(eventId, params)
参数:
id(string): 事件ID需在官网申请,长度在128个字符内
params(object|string):
object不能为数组
当params为object类型时,每个key长度不能超过256个字符
当params为object类型时,其携带key的个数不能超过100个
存在规则不合法情况时,丢弃整条事件
返回值:
无
2.1 仅统计事件,无属性时,使用如下方法:
代码:
wx.uma.trackEvent('事件ID');2.2 统计带属性的事件时,使用如下方法:
代码:
wx.uma.trackEvent('事件ID', { '属性1':'属性值1','属性2':'属性值2' });// 字符型属性值wx.uma.trackEvent('ViewProductDetails', { 'Category':'家电','ItemName':'西门子冰箱' });// 数值型属性值wx.uma.trackEvent('Pay', { 'PayAmount':6999 });说明注意: params为object类型时,属性值仅支持字符串和数值两种类型; 请在App.onLaunch之后调用事件。
兼容其他第三方平台
如果您使用了阿拉丁小游戏分析,可以参照一下demo,可以支持不更改阿拉丁的自定义事件埋点代码,同时将数据上报到友盟。https://github.com/umeng/ald2uma