对于web应用程序的拆分测试,通常会对各种选项进行拆分测试,以便使用Google Website Optimizer等工具最大化其有效性。最令人印象深刻的例子之一可能是谷歌,以及split如何测试数十种深浅不一的蓝色以找到正确的一种。
在开发android应用程序时,有没有A/B测试或多变量测试的最佳实践?
发布于 2012-06-14 19:06:40
首先来到这里,然后继续向下搜索结果,遇到了一个elegant answer。(5月11日12号)
private static final boolean isA = UUID.randomUUID().getLeastSignificantBits() % 2 == 0;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
if(isA){
setContentView(R.layout.mainA);
MyApp.getInstance().tracker().trackPageView("/AUser");
}else{
setContentView(R.layout.mainB);
MyApp.getInstance().tracker().trackPageView("/BUser");
}
...
}我唯一的想法是保存选择,这样它们每次都会返回到相同的布局。
发布于 2012-01-10 17:27:43
我只是在考虑这一点(因此谷歌搜索将我带到了这里)。我的搜索还没有找到框架。
如果你在启动之前就知道你想要测试什么,这(理论上)是非常简单的。当你启动的时候,打电话回家,询问应用程序应该显示A还是B(并发送用户在发送结果时所在的队列)。
更有可能的是,这款应用已经发布了一周,现在你想要开始测试各种变体了。你可以上传一个新的版本,这不是一个糟糕的想法。但是,如果你不愿意将自己限制在更新你的应用程序的人身上,似乎你可以从web上下载类并动态加载它们:
http://developer.android.com/reference/dalvik/system/DexFile.html http://developer.android.com/reference/dalvik/system/DexClassLoader.html
当然,你需要知道如何处理你下载的类。我猜你的应用程序会打电话到家里获取更新,然后下载一个dex文件和一个描述文件,说明它应该替换哪个类。
我自己还没试过呢。不管你怎么处理它,我有一种感觉,它不会一帆风顺。
发布于 2011-11-04 07:16:05
最好的解决方法是构建一个可通过移动web浏览器访问的移动应用程序。因此您可以实现a/b资源,如optimizely或其他。然而,你失去了原生应用程序的好处。如果您尝试a/b测试本机应用程序,就像在web上一样。我很遗憾你不走运,至少据我所知
https://stackoverflow.com/questions/3258550
复制相似问题