本文主要介绍微信小程序如何在云眼平台使用简单API实施AB测试。
1、设计优化方案
下面我们以一个简单的 小程序为例,现在我们提出假设:轮播图的播放速度会影响用户的点击率。所以我们确定需要进行AB测试的就是轮播图的播放速度,衡量结果的指标就是轮播图的点击率。

2、创建优化方案
创建优化方案:前往“业务优化”>“创建优化方案”。输入优化方案名称,平台选择“全栈API”,然后点击“确定”完成优化方案的创建。创建完成后页面会自动跳转到编辑器页面。

3、添加版本并分配流量
创建优化方案后,进入编辑界面,点击 “添加新版本”按钮可添加新版本,并且可以自行选择参加该实验的流量比例以及为各个版本分配流量。

4、设置目标
根据优化方案的设计情况,将需要用到的衡量指标创建为一个目标。输入目标的名称然后点击“创建目标”,目标创建完成后,点击目标后的“+”号将其添加到优化方案中。

5、设置受众
设置受众可以将优化方案定位到在云眼控制台预先定义的特定受众群体中,云眼将会在激活优化方案时通过属性值评估用户是否满足受众条件,从而决定是否激活优化方案。在云眼控制台中点击“业务优化”,业务优化界面打开后再点击“自定义属性(全栈)”。点击创建自定义属性,输入自定义属性的名称和描述,点击确定按钮。

然后在编辑器中点击“创建受众”,输入受众的名称和描述,将右侧已创建好的自定义属性拖拽至受众条件下,然后输入一个属性的值,例如:male,然后点击“保存受众”按钮。(注意:创建的自定义属性的名称和输入的值最终会形成键值对的形式:”Gender”:”male”)。

6、启动优化方案
配置完成后点击“启动优化方案”。

7、SDK下载与安装
打开云眼控制台,然后点击“业务优化”,业务优化界面打开后点击“SDK下载与安装”。

在新打开的页面中,选择”全栈API SDK安装“,再从下方选择“微信小程序”, 点击下载链接开始下载小程序SDK文件,下载完成后将SDK文件eyeofcloud.min.js和包装文件eoc_manager.js加载到项目当中,其中包装文件eoc_manager.js的作用主要是引入SDK并获取配置文件的信息,然后在需要进行AB测试的页面当中直接引入eoc_manager.js,并实例化eyeofcloud。

8、编码实现
调用云眼SDK的activate方法会激活试验并得到对应的版本名称,根据版本名称对界面做出不同的修改从而形成不同的版本。activate接受两个参数,试验名称和userID。
app.getUserInfo(function(userInfo){ eocManager.getInstance().then(function(eyeofcloud){ var variation = eyeofcloud.activate(“mini program test”,userInfo.nickName); if(variation == “优化版本#1”){ //do something }else if(variation == “原始版本”){ //do something }else{ //do something default } }) })
在目标事件触发时,调用track接口,需要提供2个参数,分别为目标名称(在云眼控制台创建的目标名称)和用户ID。
appgetUserInfo(function(userInfo){ eocManager.getInstance().then(function(eyeofcloud){ eyeofcloud.track(“用户点击轮播图”,userInfo.nickName) }) })
9、简单API中使用参数化API
使用简单API方式可以和参数化API进行配合使用,先调用简单API的activate方法激活一个试验得到版本名称,然后调用参数化API getVariable/getVariableBoolean 来获取在云眼控制台定义的变量值,需要提供3个参数,分别是变量名称、用户ID、布尔值true/false,其中最后一个参数的布尔值代表是否激活试验,我们只需要获取变量的值便于使用而并不需要激活试验,所以我们最后一个参数传递false。在这种情况下,我们使用activate API激活试验得到的是哪个版本,则使用参数化API获取到的变量就是我们在云眼控制台定义的该版本的值。例如:我们用activate激活试验返回的是优化版本,则我们使用参数化API获取到的变量值也是优化版本中的变量值。
app.getUserInfo(function(userInfo){ eocManager.getInstance().then(function(eyeofcloud){ var variation = eyeofcloud.activate(“mini program test”,userInfo.nickName); var isShow = eyeofcloud.getVariableBoolean(variableName,userinfo.nickName,false); //然后在下面的版本逻辑中使用得到的对应版本的变量值 if(variation == “优化版本#1”){ //do something }else if(variation == “原始版本”){ //do something }else{ //do something default } }) })
10、查看实验结果
当实验运行一段时间后,就可以到云眼控制台查看实验的运行结果。

11、示例程序
付费客户需要Demo,请与客户经理联系…