跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

字节小游戏

本文包含字节小游戏统计分析SDK的接入方法、设定自定义事件、集成测试及相关FAQ等内容。按以下步骤成功集成字节小游戏SDK后,即可查看友盟+为您字节小游戏采集的数据,除此之外,您还可以使用友盟+提供的基于小游戏收入、关卡、等级、道具等分析的接口。

适用范围

该文档适用于友盟+字节小游戏统计SDK 2.4.0及以上版本。

一、字节小游戏统计SDK快速集成

image.png

1. 注册友盟+账号

登录友盟+官网,按照引导注册友盟+账号image.png特别提醒:我们建议开发者在注册账号时使用企业邮箱,避免使用个人邮箱注册,防止由于个人离职带来的问题,建议使用的账号形式 :umeng@企业域名、apps@企业域名、dev@企业域名

2. Appkey申请——为您的小程序申请新的Appkey

image.png

3. 创建字节小游戏并接入SDK

注:目前字节跳动小游戏支持发布抖音、头条、头条极速版等应用,但是审核等流程是分端进行的。故如果您开发了一个字节跳动小游戏,需要上到3个应用上发布,建议您创建3个应用,例如:xx小游戏-头条,xx小游戏-抖音,xx小游戏-头条极速;这样您可以在产品中看到总数据,也可以看到分端的数据。

3.1 下载SDK

SDK下载地址文档 https://developer.umeng.com/docs/147615/detail/184228推荐首次集成使用稳定版。

3.2 集成

  1. 下载的文件放在字节跳动小游戏项目里,比如 utils 目录下。下面会假设 SDK 文件放在 utils 目录下。

  2. 在字节跳动小游戏项目根目录的启动文件 game.js 文件的顶部添加以下JS代码

var uma = require('./utils/uma.min');

uma.init({
  appKey:'YOUR_UMENG_APPKEY',//由友盟分配的APP_KEY
  autoGetOpenid:true,// 是否需要通过友盟后台获取openid或匿名openid,如若需要,请到友盟后台设置appId及secret
  debug:true,//是否打开调试模式
  uploadUserInfo:true// 自动上传用户信息,设为false取消上传,默认为false
})

3.3 使用 anonymousid

请一定设置anonymousid 上报,因为 umeng统计强制依赖 anonymousid 做统计分析,如果不设置anonymousid 上报,则数据不会发送。上报方式如下两种:方法1:开启autoGetOpenid: true并在友盟后台设置有效appId及secret信息,否则获取不到 anonymousid,用户数据不会上报。填写appkey地址:产品「设置管理-应用-基础设置」,点击「修改」,即可以填写AppSecret方法2:如果您不填写appsecrect通过友盟自动获取,则 必须通过手动上报的方式来上报anonymousid 。**设置方式:

  1. 设置 autoGetOpenId 为 false

  2. 开发者需要额外添加代码上传anonymousid

  3. 代码:

    1. // 调用此方法上报anonymousid

    2. tt.uma.setAnonymousid(anonymousid)

为什么要使用anonymousid?因为字节系 APP 不强制登录也可以使用,且允许用户打开小游戏。所以字节系 APP默认提供了anonymousid 来统计设备信息。故需要设置 anonymousid 来使友盟+统计用户信息,防止不会在用户没有登录时,丢掉用户数据。

上报OpenID (可选)

openid是用户登录字节系 APP,并且打开小游戏进行授权后,可以获取到登录用户在小游戏中的唯一识别id,即openid。可以上报openid,这样在使用分群或者数据导出功能时,就可以获取到用户在小游戏中的唯一识别id,进行运营或者消息触达了。设置方式:开发者需要额外添加代码上传openid

// 调用此方法上报openid
tt.uma.setOpenid(openid)

3.4 字节小游戏增加友盟+数据服务域名

操作步骤:登录字节开发者平台,进入小游戏的 开发-> 服务器域名,把 https://umini.shujupie.com 加入 request合法域名,如图:image.png

3.5 sdk配置项及注意事项总结

参数配置项

类型/值

首次使用默认值

注意事项

参数功能

autoGetOpenid

true / false

true

设置后,需要在后台「设置」功能中填写小程序的appid及appsecrect,否则也不会获取anonymousid

sdk进行请求获取anonymousid;授权友盟+通过后台自动获取anonymousid,可防止数据统计过程中因未采集到anonymousid或者未及时上报而造成数据丢失

uploadUserInfo

true / false

false

暂无

获取用户的信息和头像,可以在「分享分析」功能中根据头像查看用户的分享排行

debug

true / false

true

暂无

是否打开调试模式;建议打开,可以帮助在小程序端进行数据上报的debug

二、高级功能

1. 自定义事件

友盟+为小游戏提供了基于收入、关卡、等级、道具等分析的接口,请查看小游戏高级自定义事件上报及使用文档

有更多自定义事件的需求,也可以参考以下自定义事件及属性的上报。

参考: 小程序自定义事件文档

2.设置分享参数

设置分享参数时,才可以统计到小游戏的相关分享及分享回流、分享新增数据。方法一:使用以下方法来设置分享回调

  • uma.onShareAppMessage()替代tt.onShareAppMessage

  • uma.shareAppMessage()替代tt.shareAppMessage

方法二:在tt.shareAppMessage的回调中自行调用uma.trackShare上报分享事件不想使用uma.shareAppMessage来调用分享?那么你可以在tt.shareAppMessage的回调中自行调用uma.trackShare上报分享事件,该方法传入分享参数,返回对象中会添加分享追踪相关的query示范代码tt.shareAppMessage

var  data = tt.uma.trackShare({query:"foo=bar",title:'调trackShare'});
 tt.shareAppMessage(data);

示范代码tt.onShareAppMessage

tt.onShareAppMessage(function(){
var share ={
    title:'代码调用分享',
    imageUrl:'',// 图片 URL
    query:'key1=val1&key2=val2'
};
  let data = tt.uma.trackShare(share);
return data;
})

3. 设置应用用户ID

当用户在您的小游戏上注册以后,您的应用服务端会在用户数据库里添加一条记录并且分配一个用户ID,可以通过 setUserid 接口设置该用户ID,以便后续做数据打通或基于应用用户ID做计算时使用。

setUserid(userId, provider)

参数:

  • userId(string): 您的应用为用户生成的唯一ID

  • provider(string): ID提供方,兼容老接口使用,无特殊需要应忽略该参数

返回值:无示例:

tt.uma.setUserid('custom_userid');

4. 上传用户信息

开发者可通过在配置中添加 uploadUserInfo: true 选项来使友盟自动上报用户信息。将 uploadUserInfo 设置为 false 则取消上报用户信息。上传的用户信息为小游戏平台公开可获取的用户基础信息,例如昵称、头像、性别、地区、语言等,这些信息将用于U-MiniProgram产品中与用户相关的功能统计中 (注:iOS 字节跳动小游戏会在触发onhide时上报,但是Android版需要切换到多任务触发onhide时才上报)。示例:

var uma = require('./utils/uma.min');

uma.init({
    appKey:'YOUR_UMENG_APPKEY',//由友盟分配的APP_KEY
// 授权友盟+通过后台自动获取openid或匿名openid,可防止数据统计过程中因未采集到openid或匿名 openid 而造成
// 数据丢失的情况。开启后请到友盟+小程序应用设置中添加appId及secret信息
    autoGetOpenid:true,
    debug:true,//是否打开调试模式

    uploadUserInfo:true// 自动上传用户信息,设为false取消上传,默认为false
})

三、SDK成功接入验证方法

该方案仅提供验证是否集成成功的方法,由于在开发环境下可能会存在数据不完整的情况,请您正式发布小游戏后在验证数据正确性。

  1. 按照上述描述方法引入SDK;

  2. 进入IDE打开调试工具中的console选项,若看到有 [umeng] -- SDK集成成功 和 [umeng] -- 数据发送成功 提示 即表示SDK集成成功。

四、说明事项

  1. 慎重调用tt.clearStorage()以及tt.clearStorageSync()接口!SDK会将用户相关操作数据缓存在客户端数据存储模块,在特定时间启动发送策略。若调用该接口可导致数据统计不准确的问题;

  2. 若用户在使用小游戏过程强制关闭字节跳动产品有可能会造成统计数据丢失的情况。

FAQ:

  • Q: 注册应用时,提示应用名称已存在

  • A:【友盟+】后台的应用名与实际应用名和包名无关,建议命名为应用名+平台

  • Q: 我忘记我的Appkey了,在哪里能查到

  • A:进入小游戏统计-应用设置页面,可看到当前小游戏的Appkey