支付宝小程序 SDK 使用指南

本指南将会为您介绍如何使用 支付宝小程序 SDK 接入您的项目,建议在接入开始前,先阅读数据规则一章,在了解TA数据规则后再进行接入。

最新版本为:1.0.0

更新时间为:2019-02-26

支付宝小程序 SDK已停止后续开发,项目转移至小程序\小游戏 SDK,本文档仅供老版本的用户进行参考

1. 引入支付宝小程序SDK

1.下载支付宝小程序 SDK

2.解压压缩包,并把thinkingdata.jsthinkingdata_conf.js置入您的项目中,本文档以置入utils文件夹为例

3.配置thinkingdata_conf.js里的参数:

var conf ={
  appid: 'APPID',
  server_url: 'SERVER_URL'
};
  • appid是您的项目的APP_ID,需要进行配置,在您申请项目时会给出,请在此处填入
  • server_url为数据传输URL,需要进行配置
请在支付宝小程序后台的`httpRequest接口请求域名白名单`中,将数据传输URL加入到服务器域名的 request

如果您使用的是云服务,请输入以下URL:

https://receiver.ta.thinkingdata.cn

如果您使用的是私有化服务,需要注意的是支付宝小程序SDK强制使用https协议,因此需要您自行配制https证书,绑定TA私有化服务器。

2.载入支付宝小程序SDK

app.js中引入小程序SDK,本文档以SDK置入utils文件夹为例

import thinkingSDK from './util/thinkingdata.js';

App({
  onLaunch(options) {
    //在 App onLaunch 中添加以下代码
    this.thinkingSDK = thinkingSDK;
  }
})

在其他页面中可使用getApp()方法取得小程序实例,即可调用SDK的各方法

var app = getApp();
app.thinkingSDK.login("thinkingdata");

3. 设置用户ID

在SDK载入完成之后,SDK将会自动生成一个ID作为每个用户的默认访客ID,该ID将会作为用户在未登录状态下的身份识别,如果您希望以openid作为用户标识,可使用authorizeOpenID设置。如果您的用户存在账号ID,请使用login设置用户的账号ID。

a) 以OpenID作为访客ID

如果您希望以openid作为用户标识,则可以使用以下方法将openid作为用户标识:

//传入值为openid
app.thinkingSDK.authorizeOpenID("openid");

需要注意以下几点:

  1. 设置后的OpenID将会被设置为访客ID#distinct_id,如果使用login传入账号ID,则根据用户识别规则,会优先以账号ID为准
  2. 如果需要传入OpenID,请在上传数据之前调用本方法,以免出现重复计算用户的现象

b) 设置账号ID

在用户产生登录行为时,可调用login来设置用户的账号ID。TA平台优先以账号ID作为身份标识,设置后的账号ID将会被保存,多次调用login将会覆盖先前的账号ID:

//用户的登录唯一标识,此数据对应上报数据里的#account_id,此时"#account_id"的值为"login123"
app.thinkingSDK.login("login123");

//再次调用login调整账号ID,此时"#account_id"的值为"loginabc"
app.thinkingSDK.login("loginabc");

请注意,该方法不会上传用户登录的事件

c) 清除账号ID

在用户产生登出行为之后,可调用logout来清除账号ID,在下次调用login之前,将会以访客ID作为身份识别ID:

//去除上报数据里的#account_id,之后的数据将不带有"#account_id"
app.thinkingSDK.logout();

请注意,该方法不会上传用户登出的事件

3. 发送事件

您可以直接调用track上传自定义事件,建议您根据先前梳理的文档来设置事件的属性以及发送信息的条件,此处以购买商品为范例:

app.thinkingSDK.track(
  'Purchase', //追踪事件的名称
  {
    "Goods_id":"ID_123",
    "Goods_price":25
  } //需要上传的事件属性
);
  • track接口共有两个参数,第一个参数为事件的名称,第二个参数为事件的属性
  • 事件的名称是字符串,只能以字母开头,可包含数字,字母和下划线“_”,长度最大为50个字符,对字母大小写不敏感。
  • 事件的属性是JSON对象,其中每个元素代表一个属性。
  • 元素的key对应属性的名称,规定只能以字母开头,包含数字,字母和下划线“_”,长度最大为50个字符,对字母大小写不敏感。
  • 元素的value为该属性的值,支持StringNumberBooleanDate

4. 用户属性

a) 设置用户属性(userSet

对于一般的用户属性,您可以调用userSet来进行设置,使用该接口上传的属性将会覆盖原有的属性值,如果之前不存在该用户属性,则会新建该用户属性

//设置用户属性
app.thinkingSDK.userSet({"user_name":"userName"});

与上传事件时的事件属性一致,此处传入的用户属性也是JSON对象,key对应属性的名称,规定只能以字母开头,包含数字,字母和下划线“_”,长度最大为50个字符,对字母大小写不敏感,value为该属性的值,支持StringNumberBooleanDate

b) 初始化用户属性(userSetOnce

如果您要上传的用户属性只要设置一次,则可以调用userSetOnce来进行设置,当该属性之前已经有值的时候,将会忽略这条信息。

//以设置用户名为例,如果用户名已设置,则忽略本次设置,如果不存在,则设置为传入值
app.thinkingSDK.userSetOnce({ "user_name":"userNameABC" });

与上传事件时的事件属性一致,此处传入的用户属性也是JSON对象,key对应属性的名称,规定只能以字母开头,包含数字,字母和下划线“_”,长度最大为50个字符,对字母大小写不敏感,value为该属性的值,支持StringNumberBooleanDate

c) 累加用户属性(userAdd

当您要上传数值型的属性时,您可以调用userAdd来对该属性进行累加操作,如果该属性还未被设置,则会赋值0后再进行计算

//以付费为例,用户每次付费时调用此接口,则累计付费金额'total_revenue'字段每次会做加累加操作
app.thinkingSDK.userAdd({"total_revenue":50});

与上传事件时的事件属性一致,此处传入的用户属性也是JSON对象,key对应属性的名称,规定只能以字母开头,包含数字,字母和下划线“_”,长度最大为50个字符,对字母大小写不敏感,value为该属性需要累加的值,只支持Number类型,传入负数相当于做减法。

d) 删除用户(userDel

如果您要删除某个用户,可以调用userDel将这名用户删除,您将无法再查询该名用户的用户属性,但该用户产生的事件仍然可以被查询到

app.thinkingSDK.userDel();

5. 相关预置属性

5.1 所有事件带有的预置属性

以下预置属性,是支付宝小程序 SDK中所有事件(包括自动采集事件)都会带有的预置属性

属性名 中文名 说明
#ip IP地址 用户的IP地址,TA将以此获取用户的地理位置信息
#country 国家 用户所在国家,根据IP地址生成
#country_code 国家代码 用户所在国家的国家代码(ISO 3166-1 alpha-2,即两位大写英文字母),根据IP地址生成
#province 省份 用户所在省份,根据IP地址生成
#city 城市 用户所在城市,根据IP地址生成
#device_model 设备型号 用户设备的型号,如iPhone 8等
#screen_height 屏幕高度 用户设备的屏幕高度,如1920等
#screen_width 屏幕宽度 用户设备的屏幕高度,如1080等
#manufacturer 设备制造商 用户设备的制造商,如Apple,vivo等
#os_version 操作系统版本 iOS 11.2.2、Android 8.0.0等
#os 操作系统 如Android、iOS等
#network_type 网络状态 上传事件时的网络状态,如WIFI、3G、4G等
#lib SDK类型 您接入SDK的类型,如Android,iOS等
#lib_version SDK版本 您接入SDK的版本
#scene 场景值 微信小程序启动时传入的场景值

results matching ""

    No results matching ""