微信小程序 SDK 集成文档

下载SDK

请联系客户经理获取SDK。

引入SDK

在您工程的app.js中,引入SDK:

……

var adhoc = require('./utils/ab.wx.js');

App({

adhoc: adhoc,

onLaunch: function () {

// 登录

wx.login({

success: res => {

adhoc.init("ADHOC_8475a470-0083-4824-badb-aa35d7688de0",'openId')

// 发送 res.code 到后台换取 openId, sessionKey, unionId

}

})

// 获取用户信息

wx.getSetting({

success: res => {

if (res.authSetting['scope.userInfo']) {

// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

wx.getUserInfo({

success: res => {

// 可以将 res 发送给后台解码出 unionId

this.globalData.userInfo = res.userInfo

}

})

}

}

})

},

globalData: {

userInfo: null

}

})

……

其中“app_key” 是在登录 AppAdhoc 后台创建“应用”之后获得的该“应用”的授权标识。

可在AppAdhoc控制台应用列表找到,如下图红线部分:

其中”client_id” 是一个唯一的 ID,用来代表一个独立访客,建议使用微信的openid

如果没有指定 client_id,SDK 将自动生成一个随机的 client_id,并使用微信的storage进行持久化。

服务器域名

request合法域名:

上报指标的域名:

获取变量的域名:

编程模式:根据“试验变量”展示相应内容

在编程模式中“试验变量”的值决定了展示的内容或程序的逻辑。

注意:试验变量值应由PM或相关A/B Testing需求制定人员在后台提前录入完毕,如下图“版本管理”红线部分:

展示相应内容需要两步:

1.在index.js中引用SDK

var adhoc = require('../../ab.wx');

2.获取AppAdoc后台试验变量

通过在您的小程序中调用 adhoc.getExperimentFlags(callback) 来完成的:

onLoad: function () {

adhoc.getExperimentFlags(function(flagObj){

if (flagObj.get('isNewHomePage') === 1){

var text = " Hey,我是试验版 :) ";

} else {

var text = " Hey, 我是原始版本!";

}

}

.setData({

text: text

}, false)

}

其中,'isNewHomePage' 即是“试验变量“,应与上图中红线标识保持一致,上面的示例代码在获取是否是新的首页后,修改了数据。

请注意在用户访问到试验页面时,需要触发试验变量才算作进入该试验,否则将不会统计进入该试验。

在此示例中,“flags.get('isNewHomePage')”算作触发变量“isNewHomePage”。请勿在非试验页面或者公用文件中调用。

在此示例中,“false”代表不读取缓存,每次均主动触发请求;“true”代表仅读取缓存。

上报指标

指标用于量化试验结果的好坏,AppAdhoc 后台中的试验图表根据此数据生成。

注意:指标值应由PM或相关AB Test需求制定人员在后台提前录入完毕,如下图“优化指标”红线部分:

比如在进入某一逻辑分支后,可以统计点击次数。将上图中的指标“clickTimes”传入函数increment实现上报指标, 每次累加1:

Page({

bindViewTap: function(){

adhoc.increment('clickTimes', 1);

}

})

如果需要同时上传多个指标,可以使用以下方法(多个指标将统一上传成功或失败):

Page({

bindViewTap: function(){

adhoc.increment(['stat1', 'stat2', {key: 'stat3', val: 10}], function(error){

if(error){

//error handler

}else{

//success handler

}

});

}

})

高级功能 受众定向(需要联系管理员开启)

注意:自定义受众定向条件应由PM或相关AB Test需求制定人员在后台提前录入完毕。

AppAdhoc SDK 支持预定义受众定向和自定义受众定向两种方式。

预定义受众定向功能中,开发者只需要在AppAdhoc平台中选择预设的受众标签,SDK会自动采集相关信息并判定当前用户是否进入试验(例如浏览器名称、版本、语言等用户标签),无需在代码中定义。

开发者也可以根据需要选择自定义手中标签,此方式需要在AppAdhoc平台中填写好标签的key和value,之后再代码中为当前用户设置标签,进而实现将不符合条件的用户排除在此次试验之外。比如只想要女性用户,或30岁以下的用户参与试验等。最好在init前调用。

关于受众定向详细请参考受众定向。

注意:自定义受众定向条件应由PM或相关AB Test需求制定人员在后台提前录入完毕。

在运行控制/右侧定向试验:

选择分组,点击编辑用户群:

即得到受众条件的key,在下图例子中,“sex”是key:

前端代码中通过“custom”添加自定义标签名及标签值,这里需要动态获取标签值上传给后台,以便后台决定该用户是否满足受众定向条件(如有疑问请联系客户经理协助)。

var sex = functionGetSex();

adhoc('init',{

appKey:'your appKey';

//平台获得的appkey必要

adhoc.setCustomTags({'sex':sex})//male:自定义标签,与平台保持一致

})

开始试验

恭喜,您完成了AppAdhoc A/B Testing wx SDK的埋点集成工作,请通知PM或相关AB Test需求制定人员,点下开始试验按钮吧!

注意:确保app_key, 试验变量字符串,指标字符串与后台截图处一一对应,否则可能出现异常或无试验数据情况。

微信sdk服务器文档,4.4. 微信小程序 SDK 集成文档相关推荐

  1. 【JEECG技术文档】JEECG在线聊天插件功能集成文档

    原文地址:http://jeecg.iteye.com/blog/2320670 JEECG在线聊天插件功能集成文档 前提: 采用jeecg_3.6.3版本以上(Maven工程) 插件项目: 在线聊天 ...

  2. 不止微信、支付宝!一文带你了解所有小程序平台

    小程序的平台越来越多了,开发者的精力也越来越分散.事实上,这些平台有怎样的特色?他们有怎样的代表作品?他们有几个入口?开发成本高吗?他们有给开发者怎样的扶持政策? 一文为你解析小程序六大平台. 01 ...

  3. 深入解读-微信小程序SDK

    前言   这篇文章主要是对小程序官方文档做部分深入解读:让大家了解小程序实现背后的机制原理. 由于笔者没有获取到微信官方提供的小程序实现原理图,很多内容都是通过阅读文档资料反推和理解所得,如有误解之处 ...

  4. 微信开放小程序SDK,几款SDK产品对比分析

    前言 这几天看到微信团队推出了一个名为 Donut 的小程序原生语法开发移动应用框架,通俗的讲就是将微信小程序的能力开放给其他的企业,第三方的 App 也能像微信一样运行小程序了. 其实不止微信,面对 ...

  5. uniapp使用高德地图微信小程序SDK生成地图轨迹

    一文看懂微信小程序生成地图轨迹 一.开发准备 1.下载微信小程序SDK 2.高德控制台申请相关平台key 二.html页面展示地图标签 三.引入sdk及定义数据 四.相关方法(静态生成两个点之间的轨迹 ...

  6. 神策数据微信小程序 SDK 架构解析

    一.前言 神策数据微信小程序 SDK[1],是一款轻量级用于微信小程序端的数据采集埋点 SDK,包含代码埋点.全埋点功能.其中,全埋点功能通过代理微信小程序原生 App.Page.Component ...

  7. 神策数据微信小程序 SDK 功能介绍 | 数据采集

    一.前言 神策数据微信小程序 SDK,是一款用于微信小程序端的数据采集埋点 SDK.具体而言,是指开发者将 SDK 集成到开发的微信小程序项目中,通过配置或者在特定时机调用 SDK 提供的接口采集用户 ...

  8. win10电脑编程小程序服务器,微信PC版更新 电脑也可以玩小程序

    8月15日消息    电脑也可以玩小程序 ?PC版的微信终于要更新了,这次给用户带来了一个新的实用功能--支持小程序!一起来看看吧.此次PC版微信的升级版本为2.7.0,目前仍处于测试版阶段.PC版微 ...

  9. 微信小程序SDK使用实例

    介绍 大家在做移动端应用开发的时候都会不满足于APP客户端,小程序的应用也越来越广泛了. 现在我们开发了一套kintone在微信小程序上的SDK.基于这个SDK大家就可以做适用于自己的微信小程序了. ...

最新文章

  1. 06 回归算法 - 损失函数、过拟合欠拟合
  2. R异常数据检测及处理方法
  3. SAP PP 成品批次的生产日期自动抓取半成品批次的生产日期
  4. 10行代码-原生JS双向数据绑定演示
  5. emulator教程 lbochs pc_bochs 开启调试选项
  6. Linux crond 每分钟,每小时,每天,每周,每月,每年 的表达式写法
  7. 图像滤波与滤波器基础知识
  8. qweb加html文件,将本地html文件加载到Pyside QwebVi中
  9. SQL SERVER 2008 索引、数据存储基本理论【原创】
  10. 修改fstab导致UBUNTU无法启动的解决办法
  11. 一周信创舆情观察(11.1~11.7)
  12. 如何使用Python生成二维码
  13. wap网页如何跳转到微信一键关注公众号
  14. CText更新至V1.1.0
  15. bzoj1864 [Zjoi2006]三色二叉树
  16. iOS - 下拉上拉菜单,万能菜单,适用于各种场合
  17. 【渝粤教育】电大中专电子商务网站建设与维护 (5)作业 题库
  18. Xftp安装或卸载报1605和1628问题
  19. MySQL 安装详细步骤
  20. Java基础之面向对象详解

热门文章

  1. 每周一书《图解密码技术 第3版》分享!
  2. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校学生在线选课系统q399g
  3. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java泰兴市公交信息系统f504u
  4. 计算机考试时间报名时间截止,计算机等级考试报名截止时间与考试时间
  5. http400错误可能是由于nginx导致的
  6. Nginx 启用 gzip 压缩
  7. Android 之 数组转JSON
  8. python笔记72 - 使用pathlib替代os.path
  9. JS中同步和异步的区别
  10. [转]nopCommerce 3.9 版本发行