支付宝小程序SDK接入指南
前置条件
配置request合法域名:进入支付宝开放平台后台→选择对应支付宝小程序→开发者设置→服务器域名白名单,添加request 合法域名:https://cdp.linkflowtech.com。
小程序基础库支持:版本不低于2.0。
配置环境
引入SDK
引入js
在app.js文件顶部(其他代码之前)添加如下代码:
var linkflow = require("./utils/lf-alipay-miniapp.min.js");
var sdk = linkflow.setup({
name: 'lfsdk', //SDK 使用的一个默认的全局变量名,会注册在 App 全局函数中,默认为 LFAPP
token: 'MS1mYzE3ODQxYS1hNDUwLTQ5MjQtOWQxMC03YTQ3ODFlMjY5OTA=', //必填,用于识别埋点小程序的连接
defaultPath: 'pages/index/index',
server_url: 'https://cdp.linkflowtech.com', //必填,埋点数据收集的后端服务器地址
auto_track: {
app_launch: true, //自动追踪onAppLaunch事件,默认值为true
app_show: true, //自动追踪onAppShow事件,默认值为true
app_hide: true, //自动追踪onAppHide事件,默认值为true
page_show: true, //自动追踪onPageShow事件,默认值为true
page_share: true, //自动追踪onPageShare事件,默认值为true
page_leave: true, //自动追踪离开页面事件,默认值为false
}
});
开始开发(埋点)
识别联系人(identify)
作用
实名联系人,标识该用户是谁,带有何种标识、特征等,例如:姓名、性别等。
更新用户属性。
与同一开放平台下其他生活号或者小程序打通:同一个终端用户支付宝内的userid一致,查到则发生合并。
调用时机
【进入小程序】:用户进入小程序,判断localStorage是否存有用户信息;
——如果有,调用identify;
——如果没有,获取用户信息,再调用identify,并且用户信息存入localStorage。
【更新用户信息】:包括但不限于用户授权、完善用户信息等所有可能获取到用户信息的时候,例如:用户授权手机号、在用户信息页完善个人信息时。
示例代码
var identities = [{
id: 'lexon20220223',
type: 'ali.userId'
},
{
id: '18811119999',
type: 'mobilePhone'
}
];
lfsdk.addIdentities(identities, function () {
// success
}, function () {
// fail
});
var profile = {
name: "lx",
nickname: 'lexon',
mobilePhone: '18811119999',
gender: 'male',
dateOfBirthday: '1999-11-11',
avatar: 'https://pre-cdp-app.m-hero.com/assets/image/favicon.png',
email: 'lexon@163.com',
state: '上海',
city: '上海市',
street: '徐家汇',
props: {
lexon_test_name: "alipayTest"
}
};
lfsdk.setProfile(profile);
// 在 `app.js` 中
linkflow.sdk.setIdentities(identities
)
linkflow.sdk.setProfile(profile
)
// 在页面文件 `page.js` 中
var lfsdk = getApp().lfsdk
lfsdk.setIdentities(identities)
lfsdk.setProfile(profile)
发送事件(sendEvent)
前置条件
示例代码
lfsdk=getApp().linkflow
var message = {
"event": "demo_lx_alipay",//事件ID
"props": {//事件属性
demo_number: 5513.1123,
demo_date: "2023-02-24 15:20:29",
demo_str: "Helow my friend",
demo_bool: true,
demo_long: 5513
}
}
lfsdk.track(message, function () {
console.log("sendEvent")
}, function () {
});
参数说明
字段名 | 属性名称 | 数据类型 | 是否必传 | 备注说明 |
nickname | 昵称 | 字符串 | ||
mobilePhone | 手机号 | 字符串 | ||
avatar | 头像 | 字符串 | ||
gender | 性别 | 字符串 | male 男 ; female 女 | |
birthday | 出生年月 | 日期 | 如:1990-11-01 | |
name | 姓名 | 字符串 | ||
country | 国家 | 字符串 | ||
state | 省 | 字符串 | ||
city | 市 | 字符串 | ||
street | 街道 | 字符串 | ||
props | 自定义属性 | 对象 |
验证
SDK配置验证
小程序SDK正常初始化之后,用户打开小程序之后,SDK会自动追踪如下事件(请以支付宝官网文档为准:https://opendocs.alipay.com/mini/framework/app-detail):
- 启动小程序——当小程序初始化完成时触发,全局只触发一次。
- 展示小程序——当小程序启动,或从后台进入前台显示时触发。
- 隐藏小程序——当当前页面被隐藏时触发,例如跳转、按下设备 Home 键离开。
- 打开小程序页面——当小程序启动,或从后台进入前台显示时触发。
- 分享小程序页面——点击页面菜单右上角的分享按钮时。
前台/后台定义:
- 一般情况下,小程序用户点击右上角关闭,或者按下设备 Home 键离开支付宝时,小程序并不会直接销毁,而是进入后台。
- 当用户再次进入支付宝或再次打开小程序时,小程序会从后台进入前台。
- 只有当小程序进入后台 5 分钟后,或占用系统资源过高,才会被真正销毁。
- 小程序是否销毁、是否进入后台,也与小程序自身业务逻辑、当前内存资源占用有关。
可登录linkflow连接云,在主页右侧时间轴查看是否收到这些事件。如正常收到,则SDK配置无问题;否则,可查看
识别联系人
查找到该联系人:通过联系人页面搜索姓名、昵称或者手机号。
查看用户画像:仔细核对页面左侧用户信息,确认是否与小程序端上传的数据一致。
发送事件
查找到该联系人:通过联系人页面搜索姓名、昵称或者手机号。
查看时间轴:进入人物画像,点击时间轴,在时间轴中找到该事件,并仔细核对事件属性,确保事件属性与小程序端发送的事件一致。