What is the proper way to have a full version and demo version of an application?
I would like users to be able to download a demo ve开发者_StackOverflow社区rsion of my application, which would have certain restrictions. And then they may purchase the full application if desired. I have found two ways of managing this and would like to know which way is the best practice:
List a full version and a demo version. The demo version is free, the full version is not. This is easy and clean, but unfortunately the user must to uninstall the demo version and install the full version (and lose any application data/settings).
List a free application and a non-free "key application". The full application is downloaded and installed for free, but will run in demo version unless the "key application" is installed. This allows users to "upgrade" the demo version without losing any settings. The main drawback that concerns me about this is the lack of clarity on the market place, I'm concerned users will be confused by the whole "free application, but pay for a key application" scenario.
You could try using in-app purchases. This gives you the benefits of point 2 but none of the confusion. http://android-developers.blogspot.com/2011/03/in-app-billing-launched-on-android.html http://developer.android.com/guide/market/billing/billing_admin.html
Most apps use the first method. I do not think that uninstalling the demo version is a big issue.
You can use the snippet here: http://www.androidsnippets.com/get-installed-applications-with-name-package-name-version-and-icon to get the installed apps. So if you see your "unlocker" or "key app" is installed, then you unleash the full power of the app.
Regarding your 1st bullet, well, I just change the package name in the manifest and the source. If I have com.me.myapp I create "com.me.full.myapp". I leave it up to the user to uninstall the previous app.
Regarding the need to uninstall, see my earlier question.
精彩评论