# 小程序/小游戏
最新版本为: 2.2.1
更新时间为: 2023-04-21
资源下载:小程序 SDK (opens new window)、小游戏 SDK (opens new window)、 源代码 (opens new window)
小程序/小游戏 SDK 为常见小程序平台、快应用、小游戏平台的提供了一套标准的 API 接口以实现数据上报功能。目前,支持的平台及对应的文件如下:
小程序:
- 微信小程序: thinkingdata.wx.min.js
- 百度小程序: thinkingdata.swan.min.js
- 字节跳动小程序: thinkingdata.tt.min.js
- 支付宝小程序: thinkingdata.my.min.js
- 钉钉小程序: thinkingdata.dd.min.js
- 快手小程序: thinkingdata.ks.min.js
- 快应用: thinkingdata.quick.min.js
- QQ 小程序:thinkingdata.qq.min.js
- 京东小程序:thinkingdata.jd.min.js
- 360 小程序:thinkingdata.qh.min.js
小游戏:
- 微信小游戏: thinkingdata.mg.wx.min.js
- QQ 小游戏: thinkingdata.mg.qq.min.js
- 字节跳动小游戏: thinkingdata.mg.tt.min.js
- 百度小游戏: thinkingdata.mg.swan.min.js
- 哔哩哔哩小游戏: thinkingdata.mg.bl.min.js
- 华为快游戏: thinkingdata.mg.huawei.min.js
- OPPO 快游戏: thinkingdata.mg.oppo.min.js
- VIVO 快游戏: thinkingdata.mg.vivo.min.js
- 魅族快游戏: thinkingdata.mg.mz.min.js
- 小米快游戏: thinkingdata.mg.xiaomi.min.js
- H5 小游戏
- UC 小游戏
- Facebook 小游戏
# 一、集成 SDK
注意
在上报数据之前,请先在微信公众平台或其他平台的开发设置中,将数据传输 URL 加入到服务器域名的 request 列表中.
# 二、常用功能
在使用常用功能之前,建议你先了解用户识别规则;SDK 默认会生成随机数作为访客 ID,并持久化存储访客 ID 在本地;用户未登录之前,会以访客 ID 作为身份识别 ID。注意:访客 ID 在用户清理缓存 以及更换设备时将会变更
# 2.1 设置账号 ID
在用户进行登录时,可调用 login
来设置用户的账号 ID, TA 平台将会以账号 ID 作为身份识别 ID,并且设置的账号 ID 将会在调用 logout
之前一直保留。多次调用 login
将覆盖先前的账号 ID
// 用户的登录唯一标识,此数据对应上报数据里的#account_id,此时#account_id的值为TA
ta.login("TA");
该方法不会上传登录事件
# 2.2 设置公共事件属性
公共事件属性指的就是每个事件都会带有的属性,您可以调用 setSuperProperties
来设置公共事件属性,我们推荐您在发送事件前,先设置公共事件属性。对于一些重要的属性,譬如用户的会员等级、来源渠道等,这些属性需要设置在每个事件中,此时您可以将这些属性设置为公共事件属性。
var superProperties = {
channel: "ta", //字符串
age: 1, //数字
isSuccess: true, //布尔
birthday: new Date(), //对象
object: { key: "value" }, //对象
object_arr: [{ key: "value" }], //对象组
arr: ["value"], //数组
};
ta.setSuperProperties(superProperties); //设置公共事件属性
公共事件属性将会被保存到缓存中,无需每次启动时调用。如果调用 setSuperProperties
上传了先前已设置过的公共事件属性,则会覆盖之前的属性。
- Key 为该属性的名称,为字符串类型,规定只能以字母开头,包含数字,字母和下划线 "_",长度最大为 50 个字符,对字母大小写不敏感,TA 会统一转化为小写字母
- Value 为该属性的值,支持字符串、数字、布尔、时间、对象、对象组、数组
事件属性、用户属性的要求与公共事件属性保持一致
# 2.3 发送事件
您可以调用 track
来上传事件,建议您根据先前梳理的埋点文档来设置事件的属性以及发送信息的条件,此处以用户购买某商品作为范例:
ta.track(
"product_buy", // 事件名称
{ product_name: "商品名" } //事件属性
);
事件的名称是字符串类型,只能以字母开头,可包含数字,字母和下划线 "_",长度最大为 50 个字符。
# 2.4 设置用户属性
对于一般的用户属性,您可以调用 userSet
来进行设置,使用该接口上传的属性将会覆盖原有的属性值,如果之前不存在该用户属性,则会新建该用户属性,类型与传入属性的类型一致,此处以设置用户名为例:
//此时username为TA
ta.userSet({ username: "TA" });
//此时userName为TE
ta.userSet({ username: "TE" });
# 三、最佳实践
以下示例代码包含以上所有操作,我们推荐按照如下步骤使用