当前主流小程序均可参考本文进行SDK集成,接入并上报对应小程序的数据,主要包括:
使用npm方式安装
# 当前最新版本为 2.12.2 npm install @datarangers/sdk-mp
在 「小程序后台-开发-开发设置-服务器域名」 中进行配置,具体可以参考小程序相应的官方文档,例如,微信小程序可参考微信小程序官网文档。 不同环境配置的域名如下。
请注意,如果是SaaS-非云原生业务,升级SDK到最新版(2.x.x版本)时,需要补充将https://mcs.volceapplog.com和https://abtest.volceapplog.com添加到小程序后台的“request合法域名”中,已添加过https://mcs.ctobsnssdk.com和https://toblog.ctobsnssdk.com不要立即移除。
如果集成旧版本SDK(2.0以下版本),需要将https://mcs.ctobsnssdk.com和https://toblog.ctobsnssdk.com 添加到微信开放平台的请求白名单中。
在开始集成前,首先需要在集团中接入一个项目及应用,进行SDK集成前,您需要获取对应应用的appid信息。
私有化场景下您可以在「全局设置」->「系统设置」->「集团设置」-> 「项目列表」中查看项目详情,可查看其中的appid,详情请参见集团设置。
// 在入口页面初始化SDK // app.js import $$Rangers from '@datarangers/sdk-mp'; $$Rangers.init({ app_id: 0000, // 替换成申请的app_id,参考2.1节获取,注意类型是number而非字符串 channel_domain: "https://gator.volces.com", // 设置数据上送域名 log: true, // 开启后会控制台会打印日志,开发阶段有助于查看埋点上报过程 auto_report: true, // 开启后会上报一些预定义事件,如app_launch、app_terminate等 enable_ab_test: true, // 开启ab实验 ab_channel_domain: "https://tab.volces.com", // 分流请求域名 }); $$Rangers.config({ mp_name: 'xyz小程序', // 一些预定义属性,可以通过config进行设置mp_version: '1.1.1', mp_version: '1.1.1', }); $$Rangers.send(); App({ onLaunch: function () { this.$$Rangers = $$Rangers; // 如果想设置用户标识,比如想使用open_id来标识用户,可以在获取到open_id后把值设置给user_unique_id this.$$Rangers.config({ user_unique_id: '获取到的open_id', //可以是open_id,也可以union_id等其他业务觉的可以用来标识用户唯一性的值 }); // 调用event方法上报具体事件 this.$$Rangers.event('test_event', { from: 'launch', // 支持任意属性,值支持数字、字符串等 }); } }); // 其他页面上报事件,如: // pages/index/index.js Page({ onLoad() { getApp().$$Rangers.event('bind_view_tap', { 'title': 'chart', }); } });
// 在入口页面初始化SDK // app.js import $$Rangers from '@datarangers/sdk-mp'; $$Rangers.init({ app_id: 0000, // 替换成申请的app_id,参考2.1节获取,注意类型是number而非字符串 log: true, // 开启后会控制台会打印日志,开发阶段有助于查看埋点上报过程 auto_report: true, // 开启后会上报一些预定义事件,如app_launch、app_terminate等 enable_ab_test: true, // 开启ab实验 }); $$Rangers.config({ mp_name: 'xyz小程序', // 一些预定义属性,可以通过config进行设置 mp_version: '1.1.1', }); $$Rangers.send(); App({ onLaunch: function () { this.$$Rangers = $$Rangers; // 如果想设置用户标识,比如想使用open_id来标识用户,可以在获取到open_id后把值设置给user_unique_id this.$$Rangers.config({ user_unique_id: '获取到的open_id', //可以是open_id,也可以union_id等其他业务觉的可以用来标识用户唯一性的值 }); // 调用event方法上报具体事件 this.$$Rangers.event('test_event', { from: 'launch', // 支持任意属性,值支持数字、字符串等 }); } }); // 其他页面上报事件,如: // pages/index/index.js Page({ onLoad() { getApp().$$Rangers.event('bind_view_tap', { 'title': 'chart', }); } });
私有化业务需要明确设置数据上报域名,如您不清楚此域名,请联系您的项目经理或客户成功经理。
// 在入口页面初始化SDK // app.js import $$Rangers from '@datarangers/sdk-mp'; $$Rangers.init({ app_id: 0000, // 替换成申请的app_id,参考2.1节获取,注意类型是number而非字符串 channel_domain: "{{DOMAIN}}", // 设置私有化部署数据上送域名,如您不清楚此地址,请联系您的项目经理或客户成功经理 log: true, // 开启后会控制台会打印日志,开发阶段有助于查看埋点上报过程 auto_report: true, // 开启后会上报一些预定义事件,如app_launch、app_terminate等 enable_ab_test: true, // 开启ab实验 ab_channel_domain: "{{ABTEST_DOMAIN}}", // 设置ab分流接口域名,默认为channel_domain的设置 }); $$Rangers.config({ mp_name: 'xyz小程序', // 一些预定义属性,可以通过config进行设置mp_version: '1.1.1', mp_version: '1.1.1', }); $$Rangers.send(); App({ onLaunch: function () { this.$$Rangers = $$Rangers; // 如果想设置用户标识,比如想使用open_id来标识用户,可以在获取到open_id后把值设置给user_unique_id this.$$Rangers.config({ user_unique_id: '获取到的open_id', //可以是open_id,也可以union_id等其他业务觉的可以用来标识用户唯一性的值 }); // 调用event方法上报具体事件 this.$$Rangers.event('test_event', { from: 'launch', // 支持任意属性,值支持数字、字符串等 }); } }); // 其他页面上报事件,如: // pages/index/index.js Page({ onLoad() { getApp().$$Rangers.event('bind_view_tap', { 'title': 'chart', }); } });
注意
不同实例的app_id需要不同。
// 导入sdk的类(构造器) import SDK from '@datarangers/sdk-mp/esm/sdk'; // 对构造器使用new操作产生实例1 const $$sdk1 = new SDK(); // 其他api调用完全一样 $$sdk1.init({ app_id: 1338, }); $$sdk1.config({}); $$sdk1.send(); // 对构造器使用new操作产生实例2 const $$sdk2 = new SDK(); // 其他api调用完全一样 $$sdk2.init({ app_id: 1339, // app_id不能与其他实例相同 }); $$sdk2.config({}); $$sdk2.send();
DevTools
是Debug环境下辅助开发者或测试人员进行应用内埋点验证和SDK接入问题排查的组件。