1. 上报数据的修改

因为淘宝小程序不能直接调用 API 发送,需要使用淘宝自身的云函数或者云应用发送。所以需要如下方式手动编写请求发送的代码。

1.1. 引入插件进行数据上报

因为淘宝小程序只能通过云函数或者云应用来上报数据,我们 SDK 本身不能发送。SDK 提供了云函数和云应用的配置插件。

因为发送功能是淘宝自己提供的云 API 的功能,神策不能保证淘宝提供的稳定性,上线前请先经过充分的测试,测试有问题及时与我们沟通。

  • plugin/taobao-send-adapter.min.js 文件放入小程序项目中;
  • app.js 文件中通过 import 方式引入 。

1.1.1. 云函数上报

淘宝小程序对使用云函数对外上报的方式要求严格,因此需要具体域名和字段需要与我们沟通确认后由开发主体申请白名单 参考文档

import sensors from './mp-taobao/index.js';
import TaobaoSendAdapter from './mp-taobao/plugin/taobao-send-adapter.min.js';  

//云函数配置方式:
sensors.use(TaobaoSendAdapter,{
  cloudFuncSend: true,     // 是否使用云函数进行数据发送,默认为 false
  cloudFuncName: '',      // 调用的云函数名称
  cloudFuncHandler: ''  // 指定云函数的 handler,默认为 main
});

sensors.init({...});
JS

1.1.2. 云应用上报上报

无需申请白名单。

import sensors from './mp-taobao/index.js';
import TaobaoSendAdapter from './mp-taobao/plugin/taobao-send-adapter.min.js';  

//云应用配置方式:
sensors.use(TaobaoSendAdapter,{
  cloudAppId: '',  // 云应用 Id,无默认值
  path: '/sa?project=xx'',  // 数据接收地址后面的 path
  exts: {
    domain:'https://sc.xxx.cn',  // 数据接收地址前面的 doamain。 这里的 domain + 上面的 path 就是 server_url
  }
});

sensors.init({...});
JS

如果在调用淘宝云应用 cloud.application.httpRequest 时候,还有其他额外的参数,可以直接加在  exts 中。

  • 淘宝小程序 taobao-send-adapter 插件需要在 sensors.init() 之前注册。
  • 需要指定为云函数方式或者为云应用配置方式。