QQ小游戏
本文包含友盟+QQ小游戏统计分析SDK的接入方法、集成测试、说明事项等内容。创建QQ小游戏并按以下步骤成功集成SDK后,即可查看友盟+为您QQ小游戏采集的数据,除此之外,您还可以使用友盟+提供的基于小游戏收入、关卡、等级、道具等分析的接口。
适用范围
该文档适用于QQ小游戏统计SDK 2.3.2 及以上版本
一、QQ小游戏统计SDK快速集成
1. 注册友盟+账号
登录友盟+官网,按照引导注册友盟+账号
特别提醒:我们建议开发者在注册账号时使用企业邮箱,避免使用个人邮箱注册,防止由于个人离职带来的问题,建议使用的账号形式 :umeng@企业域名、apps@企业域名、dev@企业域名
2. Appkey申请
进入小程序统计后台创建Appkey,按要求填写小程序名称及类型:
您也可通过OpenAPI批量申请Appkey,具体文档参考:https://developer.umeng.com/open-api/docs/com.umeng.umini/umeng.umini.createMiniApp/1
行业分类请参考:https://developer.umeng.com/docs/147615/detail/169442若创建应用数超过300,请联系在线客服
3. 创建QQ小游戏并接入SDK
3.1 下载SDK
SDK下载地址文档 https://developer.umeng.com/docs/147615/detail/184228推荐首次集成使用稳定版。
3.2 集成SDK
下载的文件放在QQ小游戏项目里,比如 utils 目录下。下面会假设 SDK 文件放在 utils 目录下。
在QQ小游戏项目根目录的启动文件 game.js 文件的顶部添加以下JS代码
import uma from './utils/umtrack-qqgame/uma.min.js';
uma.init({
appKey:'xxxx',
useOpenid:false,// default true
autoGetOpenid:false,
debug:true,
uploadUserInfo:true// 是否上传用户信息
});
// 主程序其他模块可通过qq.uma来引用第三步:使用 OpenID(可选)
//设置useOpenid为True
useOpenid:true// default true方法一:开发者需要额外添加代码上传openid,否则数据不会上报
//开启后必须额外添加代码上传OpenID,否则数据不会上报
qq.uma.setOpenid(openid)方法二:在友盟后台设置有效的appId及secret信息,并开启 autoGetOpenid: true
App({
umengConfig:{
appKey:'YOUR_UMENG_APPKEY',//由友盟分配的APP_KEY
useOpenid:true,//default true
// 授权友盟+通过后台自动获取openid,可防止数据统计过程中因未采集到OpenID而造成
// 数据丢失的情况。开启后请到友盟+小程序应用设置中添加appId及secret信息
autoGetOpenid:true,
uploadUserInfo:true// 是否上传用户信息
}
})第四步:设置分享参数设置分享参数时,才可以统计到小游戏的相关分享及分享回流、分享新增数据。方法一:使用以下方法来设置分享回调
qq.uma.onShareAppMessage()替代qq.onShareAppMessageqq.uma.shareAppMessage()替代qq.shareAppMessage
方法二:在qq.shareAppMessage的回调中自行调用qq.uma.trackShare上报分享事件不想使用qq.uma.shareAppMessage来调用分享?那么你可以在qq.shareAppMessage的回调中自行调用qq.uma.trackShare上报分享事件,该方法传入分享参数,返回对象中会添加分享追踪相关的query示范代码qq.shareAppMessage
var data = qq.uma.trackShare({query:"foo=bar",title:'调trackShare'});
qq.shareAppMessage(data);示范代码wx.onShareAppMessage
qq.onShareAppMessage(function(){
var share ={
title:'代码调用分享',
imageUrl:'',// 图片 URL
query:'key1=val1&key2=val2'
};
let data = qq.uma.trackShare(share);
return data;
})3.4 QQ小游戏增加友盟+数据服务域名
在QQ开发者后台添加request合法域名:https://umini.shujupie.com操作步骤:登录QQ小程序开放平台,进入小程序的 设置->开发设置->服务器域名,把 https://umini.shujupie.com 加入 request合法域名,如图:
3.5 SDK 配置项总结及注意事项
参数配置项 | 类型/值 | 首次使用默认值 | 注意事项 | 参数功能 |
|---|---|---|---|---|
useOpenid | true / false | true | 如果设置为true,但是没有设置友盟+获取openid或者没有上报openid,则用户数据不会发送 | 统计的用户标识为openid |
autoGetOpenid | true / false | true | 设置后,需要在后台「设置」功能中填写小程序的appid及appsecrect,否则也不会获取openid;注意当此配置项为true时,请一定将useOpenid 配置项设为 true | sdk进行请求获取openid;授权友盟+通过后台自动获取openid,可防止数据统计过程中因未采集到OpenID而造成数据丢失 |
uploadUserInfo | true / false | false | 暂无 | 获取用户的信息和头像,可以在「分享分析」功能中根据头像查看用户的分享排行 |
debug | true / false | true | 暂无 | 是否打开调试模式;建议打开,可以帮助在小程序端进行数据上报的debug |
二、高级功能
如需使用其他API,需要添加如下代码:
import uma from './utils/umtrack-wxgame/uma.min.js';
uma.init({
appKey:'xxxx',
useOpenid:false,// default true
autoGetOpenid:false,
debug:true,
uploadUserInfo:true// 是否上传用户信息
});
// 主程序1. setUnionid
开发者自行设置用户的unionid
qq.uma.setUnionid(id)参数:
id(string): 开发者获取到的用户unionid
返回值:
无
2. 自定义事件
友盟+为小游戏提供了基于收入、关卡、等级、道具等分析的接口,请查看文档https://developer.umeng.com/docs/147615/detail/196152
有更多自定义事件的需求,也可以参考以下自定义事件及属性的上报。
参考: 小程序自定义事件文档
3. 设置应用用户ID
当用户在您的小程序上注册以后,您的应用服务端会在用户数据库里添加一条记录并且分配一个用户ID,可以通过 setUserid 接口设置该用户ID,以便后续做数据打通或基于应用用户ID做计算时使用。
qq.uma.setUserid(userId, provider)参数:
userId(string): 您的应用为用户生成的唯一ID
provider(string): ID提供方,兼容老接口使用,无特殊需要应忽略该参数
返回值:无示例:
qq.uma.setUserid('custom_userid');4. 上传用户信息
开发者可通过在配置中添加 uploadUserInfo: true 选项来使友盟自动上报用户信息。将 uploadUserInfo 设置为 false 则取消上报用户信息。上传的用户信息为小程序平台公开可获取的用户基础信息,例如昵称、头像、性别、地区、语言等,这些信息将用于U-MiniProgram产品中与用户相关的功能统计中。示例:
import uma from './utils/umtrack-wxgame/uma.min.js';
App({
umengConfig:{
appKey:'YOUR_UMENG_APPKEY',//由友盟分配的APP_KEY
useOpenid:false,// 是否使用openid进行统计,此项为false时将使用友盟+随机ID进行用户统计。使用openid来统计微信小程序的用户,会使统计的指标更为准确,对系统准确性要求高的应用推荐使用OpenID。
autoGetOpenid:false,// 是否需要通过友盟后台获取openid,如若需要,请到友盟后台设置appId及secret
debug:true,//是否打开调试模式
uploadUserInfo:true// 自动上传用户信息,设为false取消上传,默认为false
}
});三、SDK成功接入验证方法
该方案仅提供验证是否集成成功的方法,由于在开发环境下可能会存在数据不完整的情况,请您正式发布小程序后在验证数据正确性。
按照上述描述方法引入SDK;
进入IDE打开调试工具中的console选项,若看到有 “[umeng] — 集成SDK成功”提示 即表示SDK集成成功。
四、说明事项
慎重调用qq.clearStorage()以及qq.clearStorageSync()接口!SDK会将用户相关操作数据缓存在客户端数据存储模块,在特定时间启动发送策略。若调用该接口可导致数据统计不准确的问题;
若用户在使用小程序过程强制关闭微信有可能会造成统计数据丢失的情况。