2014-11-02 152 views
1

一些免費的應用程序通常可以升級到付費高級版本。是否有已知的包裝模式,以便付費應用程序取代免費應用程序,並因此獲取免費可能存儲的所有數據?共享數據(例如免費/付費)

據我所知,因爲應用程序是通過其獨特的完全合格的名稱標識,這是不可能的一個應用程序看到另一個數據,但我有點想起已經看到了這一點。或者這是否意味着我必須將這兩個應用程序完全區分開來,並預見出口/導入功能機制?

(這個問題是不相關的這兩種口味的實際發展,這可以通過多種方式來實現,而是方式的應用程序都應該打包)

回答

0

是否存在已知的包裝圖案,從而付費應用程序會取代免費應用程序,並因此獲取免費可能存儲的所有數據?

不行,包名必須是唯一的。因此,一個應用程序不會「替換」另一個應用程序並獲取其數據。

或者這是否意味着我必須將兩個應用程序視爲完全不同,並且預見了導出/導入功能機制?

是,兩個應用程序是不同的。但是,他們仍然可以交換數據。

這些都是常見的方法:

  1. 發佈一個免費的應用程序,其中包含所有功能,但只有默認啓用的免費功能。發佈一個作爲解鎖器的額外(付費)應用程序。您的免費應用程序可以檢查是否安裝瞭解鎖器並相應地啓用了付費功能。建議檢查解鎖器應用程序的包裝簽名,例如,如答案here中所述。
  2. 以上但使用類似的應用程序內的免費應用程序,而不是附加的解鎖應用內購買。
  3. 同時發佈免費和付費應用程序的自包含的應用程序。您可以實施ContentProvider以將數據從免費傳輸到付費應用。當然,您也可以實施其他導出/導入方法。但是,使用帶有權限的ContentProvider可以輕鬆自動安全地複製數據,例如,首次啓動付費應用程序時。
+0

感謝您的快速和詳細的答案,我想我會去解決方案1,因爲(暫時)我預計免費和溢價之間的唯一區別是擺脫廣告:) – Gonzoide 2014-11-03 12:41:53