2013-09-24 54 views
0

我正在構建一個android應用程序,我想將它分成兩個版本,Pro和Free。
專業應用程序將是完整的無廣告,免費將是有限的,並與廣告。 這兩個應用程序的商業邏輯的基礎將是相同的......所以我認爲這是「正確寫代碼」兩次。 在兩個項目中處理相同的代碼可能會非常煩人地修復錯誤並改進代碼。相同應用程序的兩個版本

有沒有辦法用一個項目做到這一點?

例如,共享偏好並不是很好的解決方案,因爲很多人都擁有root訪問權限,因此他們可以非常輕鬆地進行更改。

回答

4

首先你好互聯網接入,

據我聽到或看到,同一應用程序的兩個版本(免費版和專業)應是兩個不同的項目。你可以,但不應該使用相同的應用程序,只需檢查保存在Prefs中的標誌,但root用戶可以覆蓋該標誌(如你已經說明的)。

您也可以使用谷歌的應用程序購買來驗證這是其他答案狀態。在我看來,你不應該使用相同的項目並檢查一個標誌,因爲它肯定會產生一些開銷,特別是如果你使用互聯網檢查。如果用戶的網絡連接速度緩慢或不可靠,他的體驗將會受到影響。

這樣做的「乾淨」方式是讓兩個不同的應用程序像其他人一樣:用戶可以安裝免費應用程序或專業應用程序。這是理想的,因爲對於用戶有兩種截然不同的選擇,如果他們想要專業版,他們不需要獲得免費的版本,然後在菜單中看到解鎖選項。這對用戶來說只是更直接的方式。

我建議您先構建專業版應用程序,並在其完成後通過限制功能幷包含增加功能來獲得免費版本,因爲它比刪除外接程序更容易。在你完成專業版後,只需點擊:

文件 - >新建 - >項目(出現彈出菜單) - >選擇Android文件夾 - >選擇「從現有代碼Android項目」 - >選擇你的應用程序和點擊Finish

缺點是,如果你發現一個錯誤,你必須在兩個項目中修復它。如果您想優化查找錯誤,您可以構建免費版本,將其投放市場,並修復最終用戶以及您發現的錯誤報告。在您認爲一切正常後,您可以從現有代碼創建專業版並繼續使用。

PS:我知道我這樣充滿整個頁面,但是這是我在這裏的第一個答案,似乎我過於熱心:-)

+0

什麼是Google的應用內購買?你可以請參考一些關於它的文章以及如何使用它? – nrofis

+0

有關此處的更多詳細信息:[應用內結算概述](http://developer.android.com/google/play/billing/billing_overview.html) – George

+0

謝謝。糾正我,如果我錯了,它不喜歡製造旗幟?它使用Google Play作爲專業版和免費版的旗幟,不是嗎? – nrofis

0

如何使用Google的應用內購買? Google服務器通過這種方式管理PRO/Trial的詳細信息。唯一的con是,您的應用需要具有驗證目的:)

0

我很抱歉,如果這個解決方案似乎有點原始,但.. 。 爲什麼不能有一個硬編碼的標誌在你的代碼......在一些類中的一些靜態變量說法是這樣的:

public static final boolean isFreeVersion = true/false; 

然後,要決定是否要顯示增加任何地方,只需引用此布爾值。

您仍然需要構建應用兩次,並將其發佈到商店兩次(在不同的應用簽名下),一次使用布爾值爲true,一次爲false。但至少代碼庫將是相同的。這樣,如果你發現了一個bug,你可以修復它,並且只發布相同的應用程序兩次,只切換布爾值。

我敢肯定,你甚至可以找到一個螞蟻腳本在構建過程中爲你更改布爾值的值。

相關問題