2010-07-15 71 views
3

對於Web應用程序拆分測試各種選項通常會進行拆分測試,以便使用Google網站優化工具等工具最大限度地提高其效果。最令人印象深刻的例子之一可能是谷歌,以及如何分裂測試了幾十個藍色的陰影以找到合適的。拆分測試Android應用程序的最佳實踐

在開發android應用程序時,是否有遵循A/B測試或多變量測試的最佳實踐?

回答

-3

最好的解決方法是構建可通過移動網絡瀏覽器訪問的移動應用程序。所以你可以像優化或其他東西一樣實現a/b資源。儘管有本地應用程序的感覺,但你放棄了這一點。如果您正在嘗試像在網絡上一樣測試原生應用程序。對不起,你是運氣不好,至少據我所知

0

我只是考慮這一點(因此谷歌搜索,把我帶到這裏)。我的搜索沒有收穫和框架。

如果您在啓動您想要測試的內容之前知道,這非常簡單(理論上)。當您啓動時請回家,並詢問應用程序是否應顯示A或B(並在發送結果時根據用戶所在的羣組發送)。

更可能的是,該應用程序已經出現了一個星期,現在你想開始測試變化。你可以上傳一個新版本,這不是一個可怕的想法。但是,如果你不願意給自己限制的人誰更新您的應用程序,它似乎可以從網上下載類和動態加載它們:

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

當然,您需要知道如何處理您下載的課程。我猜你的應用程序會給家裏打電話更新,然後下載一個dex文件和一個描述文件,說明它應該替換哪個類。

我沒有嘗試過這個我自己。無論你如何處理這件事,我都有一種感覺,它不會很簡單。

2

來到這裏,然後繼續下去的結果,並遇到了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"); 
    } 
    ... 
} 

我唯一的想法就是節約的選擇,使他們每次都返回相同的佈局。