微信小程序AB测试指南

使用云眼全栈API可以在微信小程序上进行AB测试,首先需要到控制台界面中的SDK下载与安装处获取最新的小程序SDK,将SDK文件放到utils目录下(本示例采用小程序默认的项目)。

 

云眼AB测试

 

在app.js文件头部添加两行代码。第一行代码用于修复微信小程序的错误(之后微信应该会修复),第二行代码引入SDK。

Function.prototype = Object.getPrototypeOf(function(){})
var eyeofcloudClient = require('./utils/eyeofcloud.min.js')

然后在APP方法中的globalData变量中添加eyeofcloud,我们会把创建好的eyeofcloud对象保存在这个全局变量中,方便之后其他代码调用。

globalData: {
    userInfo: null,
    eyeofcloud: null
}

在APP方法中实现一个方法getEyeofcloud,其他代码直接调用该方法获取eyeofcloud对象。

getEyeofcloud: function (cb) {
    var that = this
    if (this.globalData.eyeofcloud) {
        typeof cb == "function" && cb(this.globalData.eyeofcloud)
    } else {
        //调用网络请求接口
        wx.request({
            url:"your-config-url",
            success: function (res) {
                that.globalData.eyeofcloud = eyeofcloudClient.createInstance({datafile:res.data})
                typeof cb == "function" && cb(that.globalData.eyeofcloud)
            }
        })
    }
}

到这里,SDK的初始化工作就已经完成了。然后我们来看下如何启动实验并触发目标。我们希望在index页面上进行一个实验,就可以在Page构造方法的onLoad方法中添加一些代码,调用云眼SDK的activate方法会激活试验并得到对应的版本名称,根据名称对界面做出不同的修改。activate接受两个参数,试验名称和用户名。用户名应当唯一,可以使用unionID。

onLoad: function () {
    console.log('onLoad')
    var that = this

    //调用应用实例的方法获取全局数据
    app.getUserInfo(function(userInfo){
        app.getEyeofcloud(function (eyeofcloud) {
            that.setData({
                userInfo:userInfo,
                motto: eyeofcloud.activate('wxdemo', userInfo.nickName) === "优化版本" ? "优化版本" : "原始版本"
            })
        })
    })
}

云眼AB测试

 

如果当用户点击头像查看log的时候触发目标,该如何实现呢?调用云眼API的track方法就可以触发目标了。在log页面的onLoad方法中添加代码,其中track方法接受两个参数,目标名称和用户名。用户名需要和启动试验的用户名一致。

onLoad: function () {
    app.getUserInfo(function(userInfo){
        app.getEyeofcloud(function (eyeofcloud) {
            eyeofcloud.track('wxgoal', userInfo.nickName)
        })
    })
}

到云眼控制台的访客日志中查看记录,确认SDK工作正常。

 

云眼AB测试

 

fastVPN利用搜索关键字来优化页面
互动百科调整产品介绍顺序来提高转化率
今天开始实施A/B测试,优化业务! 立即注册