2013-03-14 38 views
1

我已經完成了我的谷歌播放市場的初學者應用程序。我想製作一個免費和付費的版本,所以我想知道的是:不同版本在市場上如何運作?

我可以在免費版本的付費版本中註釋掉這些零件,並使用相同的對話框引用市場上的付費項目只是不同的版本號和導出apk的?

我想知道,因爲我聽說市場不會讓apk具有相同的包名稱,但是之前使用過的應用程序,如果你有付費版本,你不能擁有免費版本,所以我猜測它的所有版本#

謝謝你的時間

+1

你最好使用單一代碼庫並將其編譯爲OSS或專業版,或者只有一個需要許可證密鑰的版本。在編譯任何項目之前,簡單地評論大量代碼是很差的做法。 – OrionRogue 2013-03-14 06:02:01

+0

我不知道如何去做這件事,我wana得到它的權利你知道,我完成了付款,我知道如何得到免費完成,只是如何導出,不同的包名?版本號? – JRowan 2013-03-14 06:10:13

回答

1

你是對的,谷歌播放不允許具有相同包名的APK上傳。它使用Play商店區分不同應用程序和其他應用程序的軟件包名稱。

然而,您認爲它是照顧相同應用程序(免費和付費)的版本有點偏離正軌。

但是(再次)相同應用程序的免費和付費版本可以共存於使用同一個Google帳戶下載的相同設備上。應用程序中可能會有一個功能來檢查並通知用戶。但這不是Google Play商店提供的機制。

以一個名爲FriendCaster的應用爲例。 (我是一個獨立的自由職業者誰無關,與FriendCaster或OneLouder應用

  1. FriendCaster的免費版本是:https://play.google.com/store/apps/details?id=uk.co.senab.blueNotifyFree

  2. 付費版本,如果相同的應用程序是:https://play.google.com/store/apps/details?id=uk.co.senab.blueNotify

它們都具有相同的版本,期望具有不同的包名稱(結尾是不同的)。你將能夠同時在一臺設備上安裝這兩個應用程序。

在我的情況下,我使用相同的代碼庫爲我的應用程序的免費和付費版本。唯一的區別是(顯然)付費版本中的所有廣告都是從XML中剝離出來的。

我使用兩個不同的Eclipse工作空間來保持我的免費和付費版本彼此分離。這比其他任何事情都更方便。您可以很好地將這兩個項目放在同一個Eclipse工作空間中。

但是,通過您對OP的評論,您無法使用同一個項目導出兩個不同包的APK。如果您已完成付費版本,則需要爲免費版本創建一個新項目。你需要獨立導出每個項目的APK。

爲了在代碼庫中保持平價,我儘可能避免使用硬代碼。例如,在打開的應用程序的谷歌遊戲詳情頁面,而不是在它硬編碼我的包名稱的活動,我用的是這樣的:

Uri playUri = Uri.parse("market://details?id=" + Feedback.this.getPackageName()); 
Intent openGooglePlay = new Intent(Intent.ACTION_VIEW, playUri); 
try { 
    startActivity(openGooglePlay); 
} catch (ActivityNotFoundException e) { 

    // SHOW A TOAST 
    String tstMessage = "Could not launch the Play Store app."; 
    showToast.showToast(tstMessage); 
} 

我希望我已經取得了一些感覺這個職位。如果您需要任何澄清,請隨時提問。:-)

+0

謝謝,這就是我正在尋找的信息。 – JRowan 2013-03-14 06:22:41

+0

@JRowan:太棒了。很高興我能幫上忙。祝你的應用程序即將推出。 :-) – 2013-03-14 06:24:29

+1

非常感謝 – JRowan 2013-03-14 10:42:51

相關問題