支付宝小程序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, function () {
      console.log('set profile success')
      // success
    }, function () {
      // fail
    });
// 在 `app.js` 中linkflow.sdk.setIdentities(identities, function() {    // success}, function(){    // fail})
linkflow.sdk.setProfile(profile, function() {    // success}, function(){    // fail})// 在页面文件 `page.js` 中
var lfsdk = getApp().lfsdk
    lfsdk.setIdentities(identities, function() {
        // success
    }, function(){
        // fail
    })
    lfsdk.setProfile(profile, function() {
        // success
    }, function(){
        // fail
    })
发送事件(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配置无问题;否则,可查看
识别联系人
查找到该联系人:通过联系人页面搜索姓名、昵称或者手机号。
查看用户画像:仔细核对页面左侧用户信息,确认是否与小程序端上传的数据一致。
发送事件
查找到该联系人:通过联系人页面搜索姓名、昵称或者手机号。
查看时间轴:进入人物画像,点击时间轴,在时间轴中找到该事件,并仔细核对事件属性,确保事件属性与小程序端发送的事件一致。

