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