簡體   English   中英

將付費的Android應用與免費版本合並

[英]Merging a paid Android app with the free version

我有一個Android應用程序,它有兩個版本:一個免費的版本和一個具有更多功能的高級版本,價格為0.99美元。

我想轉為應用內購買方式,可以在免費版本中購買高級功能。 但是,我顯然不想讓已經購買付費應用程序的用戶感到不安。

有沒有將單獨的免費增值應用合並為一個的行之有效的方法?

現在,我正在考慮一個我想出的解決方案,如果該解決方案檢測到應用程序的付費版本已安裝在設備上,則該免費版本會自動解鎖其付費功能。 我當時在考慮在應用程序之間使用進程間通信。 但是我在IPC方面沒有經驗,尤其是在Android上,我不確定它是否適用於此或是否特別健壯。

但是,我顯然不想讓已經購買付費應用程序的用戶感到不安。

除非您為獲得相同的功能而向IAP支付的費用要比為付費應用程序收取的費用少,否則我不確定這將如何引起用戶投訴。 無論是先付款還是后付款,如果價格相同,都沒關系。

我正在考慮一個我想出的解決方案,如果該解決方案檢測到應用程序的付費版本已安裝在設備上,則該免費版本會自動解鎖其付費功能。

只需查詢PackageManager以查看是否安裝了其他應用程序,即可輕松完成此操作。 就像是:

try {
    PackageInfo info = getPackageManager().getPackageInfo("com.example.paidapp", 0);

    //If we got here, the paid app is installed.
    // You can even check metadata, like which version they have
    int installedVersion = info.versionCode;
} catch (PackageManager.NameNotFoundException e) {
    //Paid app is not installed!
}

某些應用程序出於各種原因執行了此操作,使用“付費”包作為免費應用程序的密鑰,因此並非沒有先例。

您可能需要參與的唯一IPC是,如果您想以某種方式將某些已保存的數據從付費應用程序中讀取到免費應用程序中。 在這種情況下,我建議實現一個ContentProvider來向其他應用程序公開所需的數據元素。 我還將通過signature權限保護該提供程序,以便只有您的應用程序才能訪問它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM