SeatGeek团队日前宣布为Sixpack A/B测试框架增加了一个新的客户端,也就是Sixpack-java,它的目标是简化Android和Java应用的A/B测试。
\\A/B测试通常用来优化Web网站。开发者准备好网站的各种不同方案,这些方案在一些次要方面如颜色方案或者按钮标签等存在一些差异。这些不同的方案以预定的比例呈现给用户,然后根据转换率、时间或者数量目标确定更成功的方案。最后将最成功的方案呈现给网站所有用户。
\\Sixpack是一个与语言无关的A/B测试框架,具有非常易用的API和内置的dashboard。Sixpack有两个主要的组件,即Sixpack server和Sixpack web。其中sixpack server负责收集experiment 数据并决定要将哪一个可选方案展现给哪些人。Sixpack web是一个基于Web的dashboard。Sixpack支持多种语言的客户端,目前包括PHP、Ruby、Python和JavaScript。
\\借助最新提供的Java客户端,可以编写针对Android应用的A/B测试用例。在使用Java客户端之前,需要预先安装并运行Sixpack server,在该项目的Github主页上提供了安装指导。
\\在编写A/B测试时,首先需要引入对Sixpack-java的依赖,目前它已经发布到了Sonatype的快照仓库中,因此可以通过Gradle声明依赖:
\\\repositories {\maven { \\turl 'https://oss.sonatype.org/content/repositories/snapshots' \\t}\}\\dependencies {\ compile 'com.seatgeek:sixpack:0.1-SNAPSHOT'\}\\\
依赖正确解析之后,就能够为应用编写A/B测试了,我们需要初始化Sixpack客户端,在这个过程中可以使用SixpackBuilder来创建新的Sixpack实例:
\\\Sixpack sixpack = new SixpackBuilder()\ .setSixpackUrl(\"http://api.mycompany.com/sixpack\")\ .setClientId(getCachedClientId())\ .build();\\\
在这里所引用的getCachedClientId()方法可能会如下所示:
\\\public String getCachedClientId() {\ SharedPreferences prefs = context.getSharedPreferences(\"sixpack\