微信小程序 SDK 插件版使用说明

最后更新于:2019-05-08 18:32:15

1 插件版小程序 SDK 和小程序 SDK 区别

经过我们测试,发现如果小程序中使用了插件,在开发者工具下可以修改 App 和 Page,但在线上会报错不能修改
不能修改的话会导致我们自动采集预置事件的功能无效
在 2018-9 月的测试发现,新用户首次使用小程序会出现这样的问题,杀死微信后,再次打开小程序又可以使用。具体原因不详
针对上述情况,也就是使用了插件的小程序客户,需要使用插件版小程序 SDK
这个版本相比小程序 SDK ,复杂在于每个 Page 里的 JS 顶部都要引入一段代码,才可以自动采集 Page 里的预置事件

2 安装方法

2.1 下载文件

从 github 上下载 微信小程序 sdk ,sensorsdata.plugin.min.js .

2.2 引入并配置参数

在app.js 和全部的 pages 目录里的 js 顶部引入如下代码;并且调用 setPara() 方法设置初始化参数。注: server_url 需在 setPara() 中配置。

  app.js 的顶部引入如下代码

------app.js
    var sa = require('./utils/sensorsdata.plugin.min.js');
    var App = sa.App;
    sa.setPara({
        name: 'sensors',
        server_url: '数据接收地址'
    });

  在全部(注意是全部!)的 pages 目录里的 js 顶部引入如下代码

------index.js
    var Page = getApp().sensors.Page;

  注意:
    1 var App 与 var Page 变量名不能修改
    2 所有的 pages 目录里的 js 顶部都要引入

2.3 标志初始化完成

如果异步的获取 openid 等操作已经完成,此时调用 init() 方法标志已完成初始化
注意: 必须调用,否则不会发数据

------app.js
    var sa = require('./utils/sensorsdata.plugin.min.js');
    var App = sa.App;
    sa.setPara({
        name: 'sensors',
        server_url: '数据接收地址'
    });
    sa.init();

3 自定义追踪代码

  app.js 中自定义方法

// 方案1  通过 sa 可以使用 track 等方法

    var sa = require('./utils/sensorsdata.plugin.min.js');
    var App = sa.App;
    sa.setPara({
        name: 'sensors',
        server_url: '数据接收地址'
    })
    sa.init();
    sa.track('addToCart',{
        productName:'华为畅享 9S'
    });

// 方案2 通过在方法内部使用 this.sensors 可以使用 track 等方法

    var sa = require('./utils/sensorsdata.plugin.min.js');
    var App = sa.App;
    sa.setPara({
        name: 'sensors',
        server_url: '数据接收地址'
    })
    sa.init();
    App({
        onShow:function(){
            this.sensors.track('addToCart',{
                productName:'华为畅享 9S'
            });
        }
    })

  page 中使用自定义方法

    var app = getApp();
    var Page = app.sensors.Page;
    app.sensors.track('addToCart',{
        productName:'华为畅享 9S'
    });