对于Web应用程序,拆分测试通常会对各种选项进行拆分测试,以便通过Google Website Optimizer等工具最大限度地提高其效果。其中一个最令人印象深刻的例子可能是Google以及分裂如何测试数十种蓝色以找到合适的蓝色。
开发Android应用程序时,A / B测试或多变量测试是否有最佳实践?
答案 0 :(得分:2)
首先来到这里然后继续结果并遇到elegant answer。 (Vincent Tsao于5月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");
}
...
}
我唯一的想法是保存选择,以便每次都返回相同的布局。
答案 1 :(得分:0)
我只是在考虑这个问题(因此Google搜索将我带到了这里)。我的搜索没有产生和框架。
如果您在启动测试之前就知道了,那么(理论上)它非常简单。启动时打电话回家并询问应用程序是否应显示A或B(并在发送结果时发送用户所在的队列)。
更有可能的是,该应用程序已经停用一周,现在您想开始测试变体。你可以上传一个新版本,这不是一个糟糕的主意。但是,如果您不愿意将自己限制在更新应用程序的人身上,那么您似乎可以从Web下载类并动态加载它们:
http://developer.android.com/reference/dalvik/system/DexFile.html http://developer.android.com/reference/dalvik/system/DexClassLoader.html
当然,您需要知道如何处理您下载的课程。我猜你的应用程序会打电话回家更新,然后下载一个dex文件和一个说明文件,说明它应该替换哪个类。
我自己没试过。无论你做什么,我都觉得这不会是直截了当的。
答案 2 :(得分:-3)
最佳解决方法是构建可通过移动网络浏览器访问的移动应用。因此,您可以实现优化或类似的/ b资源。尽管如此,您还是失去了使用本机应用程序的好处。如果您尝试像在网络上那样对本机应用进行a / b测试。对不起,你好运,至少据我所知,