Android应用程序分割测试的最佳实践

3

对于网络应用程序,通常使用Google网站优化器等工具进行分割测试以最大化其效果。其中最令人印象深刻的例子可能是谷歌公司如何分割测试了数十种蓝色色调,以找到最合适的一种。

在开发Android应用程序时,是否有最佳实践可供遵循进行A/B测试或多元测试?

3个回答

2

我先来到这里,然后继续查看结果,在这个优雅的答案中找到了所需内容。(Vincent Tsao on 12 May 11)

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"); 
   } 
   ... 
}

我唯一的想法是保存选择,以便每次返回时都保持相同的布局。


0

我刚在考虑这个问题(所以才会通过谷歌搜索来到这里)。我的搜索没有得到任何框架。

如果你在启动之前知道想要测试什么,那就很简单(理论上)。启动时向服务器发送请求,询问应用程序是否应该显示A或B(并在发送结果时附带用户所在的队列信息)。

更有可能的情况是,应用已经发布了一周,现在你想开始测试变化。你可以上传一个新版本,这不是一个糟糕的想法。但是,如果你不想限制自己只针对更新应用程序的人群,似乎你可以从网络下载类并动态加载它们:

http://developer.android.com/reference/dalvik/system/DexFile.html http://developer.android.com/reference/dalvik/system/DexClassLoader.html

当然,您需要知道如何使用您下载的类。我猜测您的应用程序会联网更新,然后下载一个dex文件和一个描述文件,说明应该替换哪个类。

我自己没有尝试过这个。无论您如何处理,我都有一种感觉这不会很简单。


-3
最好的解决方法是构建一个可以通过移动网络浏览器访问的移动应用程序。这样,您就可以实现像Optimizely之类的A/B资源。但是,您会失去本机应用程序的感觉优势。如果您想在本机应用程序上进行像Web一样的A/B测试,我很抱歉,至少据我所知,您没有成功的机会。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接