Transitioning from free to paid, database - android

I have a simple database driven app. I'm looking to offer a free and paid version. The only limitation in the free version, is that you're limited to adding 10 records per month.
What is the best way to handle upgrading from free to paid, while maintaining the database?
I had planned on using in-app billing to unlock the ability to store unlimited records/month but I think that is probably beyond complicated for my simple app.
Other ideas were to sell an unlocker app... I don't know if people get confused by this concept though or not.
I could always write the free db to an sd card and have the paid app copy it. But a concern is people without sd cards and it just seems like something would go wrong and somebody would lose their data.
Any thoughts on this?

If you don't want to use in-app billing then you need two separate packages, free/paid or free/unlocker. IMHO free/unlocker is far more convenient than the free/paid. In you choose free/paid you will end with two copies of the same app and you are going to have problems like the one you mention with the databases.
Android LVL is a no go in this case, you can use it to check licence and enable/disable the 10 records per month restriction, but you are limited to one package (meaning you will have the paid apk in the android market but for the "free" version you need to distrubute the application by your own).
I think PowerAMP offers a good solution. They have a free app that acts as a trial of their product and when the trial period ends, they show a dialog with a link to the unlocker app in the android market. You can use the same strategy, when a user tries to enter more than 10 records/month show them an alert with a link to the unlocker app. I think this should solve your concern about people getting confused.

Related

About uploading app to Play Store

I have two questions about uploading app to play store. First of all I want to upload two versions of my app, the first one is free with adds and the second one is paid without any adds, but is the same app in both cases.
What should I do to upload both apps? I had thought about changing the package name but the problem I think I will have is that if the user downloads the free version and then pays for the premium he will have both applications in his smartphone, the premium won't override the free one.
And this question is more about your experience uploading apps. I have mine in english, spanish and french. I had thought in uploading the app in every country but in the videos I have seen everyone chooses a few countries to upload their own apps. What do you recommend me to do?
Thank you in advance.
There are a few ways you can handle it, though I have to say I'm not sure you should.
My suggestion is to upload your free version first, and later when you have enough users implement in app billing instead.
I know it's not directly answering your question, but I think it's a better approach that will save you a lot of time, and also be a better experience to the users.
Regarding countries, you don't need to upload it to each country, that's automatic (unless you indicate otherwise), and you actually can't upload or create a specific store listing by country, at least as far as I know.
You do need to create a store listing to the languages you want, otherwise they'll get the default language and in some cases see automatic translated listing, which is quite bad in my opinion.
You should have only one app, which is free to download, and implement an in-app payment in that app through which a user can choose to make a payment in exchange for the removal of ads, without the need to download a separate ad-free app. This is the standard approach to the problem you have described.
If you implement separate apps, your ratings will be spread across both apps, to the probable detriment of the rankings of both in the Play store's search results. Also, an upgrade to the ad-free version will require the user to download the paid version, which creates a barrier to selling it. Finally, once a user who has tried the free app decided to pay for removal of ads, they would almost certainly uninstall the free version, which might cause the store to see that app as being unsatisfactory to your users.

How to migrate from paid app to in-app-purchases?

I would like to migrate my app from a free/paid scheme to a free app with in-app-purchases.
I will be using the old free app, as the new free app with the in-app purchases, and I am looking for a way to make this transition.
How can I achieve this?
Is it possible with Google Play Licensing to retrieve the licensing information about another app still owned by the same developer account? Or you can only retrieve licensing information about the current app?
Otherwise, which other ways there could be to recognize a user being the owner of the paid app?
This is not possible due to potential ways to exploit the workings of the Google Play store (potentially skewing download counts, and such; a free app is more likely to get downloads, and those will boost its rankings before you make it cost money).
This has been asked before, and the consensus is that it's not possible by design. There are a few solutions in that thread, such as:
Make your app free, last one week, then have the user use in-app purchasing to continue using it. (Not sure if this is exactly what you hoped, but it's a potential way of monetizing regardless.)
Put up a free version, and take it down in a week. Users will have to reinstall the app to get the paid version but this would still have the same desired effect.
Do an update (or have a setting in your app that expires at a certain time) to remove the paid features after a week (this might tick off a lot of users, though).
Sadly, as I said, this is not possible, so you'll just have to work around it best you can.
Even the original question was asked long ago it is up-to-date for me now :)
I think about allowing paid features in the free app in case the (old) paid app is still present in the phone. You can check this using PackageManager.

Approach to convert donate application to key

I've a Free/Donate versions of my opensource application on playstore.The problem currently I'm facing is duplication of work. Because of two different packages, whenever I update my free version, I need to update my donate version. Both versions are exactly the same in functionality perspective and only the packages are different.
I'm thinking of converting the donate application as donate key. But not sure How strategically move all the donate users to free version. Because it's fully functional app.
BTW, the donate user base is around 1000+
Any help would be greatly appreciated ! I'm not sure whether this question can fit in SO. Please feel free to move it to relevant stackexchange.
I would do the reverse.
I'd make the donate version (app B) a free app with in-app purchases for donations (and I'd maintain several donation levels). And I'd mark all the current users as donors. This way, these users (who actually gave you money) don't have to move anywhere (this is what I would expect when I'm a paid user).
And I'd ask the users of the free version (app A) to move to the donate version (app B). I'd just mark the old version (for legacy devices) and I would only give updates to (app B). People who haven't donated anything will understand that they need to migrate to the new app if they want the new features. It's what they'd expect.
The drawback to this is that you'd lose the recorded number of downloads and positive reviews associated with your original free app, which must be pretty significant (although, technically you could keep that app around as an app for legacy devices indefinitely).

"Protect" app: Free to full version via InApp purchase? Market license verification? Or useless?

Now I've nearly finished my first app and I wanted to have two versions of it, one free (with ads and a little less functionality) and one full/paid version.
I know that you can not completely prevent apps from being cracked/distributed, but anyway, I'm currenlty having some thoughts about what the best method would be to release the app.
1) Both full and light versions in the store with no additional checks
2) Full version with Google Market license check integrated... Does this really bring any "security"? I've read that this protection has been cracked and therefore is pretty useless?
3) Have the light version and convert it via InApp purchase to the full version? Currently I have no idea on how to implement InApp billing and how to check whether a user paid inApp to release the full functionality and... of course there are also ways around that, right?
How would you do it?
Do you try to prevent your app from being illegally shared, or do you think it's not worth the effort, as any protection can be removed (and then it's shared anyway)?
Just gathering some thoughts :)
I have been through the same thought process and settled on option 3 for new apps.
My reasoning is as follows;
With option 1 you have two apps to maintain, users have to do a uninstall of your trial version and you have the problem of migrating data between the two versions.
Option 2 has all the problems of option 1 plus the headache of implementation.
Option 3 you have the benefit of only one codebase to maintain, users can quickly and easily upgrade with all their data intact and you have higher download stats/ratings for the one app rather than two.
Implementing it has got a lot easier with the version 3 of the billing library. I followed the sample from Google here and got a simple remove the ad's with IAB within a couple of hours.
I personally think that an In app purchase is the most secure way to stop people from getting free paid versions of your app, because when someone inevitably (if your app is popular) release an apk file of your app on the internet, it is just the free version.

Android In App Purchasing

I've got a quiz app on the Android market right now selling for $1. I would like to offer a free version with limited questions, and include a menu offering the user to upgrade to the full version.
My question is simply what the best practice is here?
The possibilities I can conceive are:
Have a link in the free version that takes the user to the paid
version's url on the android market, whereby they'd just download the full version directly.
Have condition statements in the free version that limit the
number of questions available if VERSION == FREE, enable all
questions upon purchase by setting VERSION = PAID.
Download the additional questions upon the purchase
(would that require my own file server?)
What are your thoughts?
Can't say there is a best practice between these 3 variants, you should just choose the more appropriate approach for you and your application. First variant is the simplest for you as a developer, second offers a better user experience, but you need to implement In-App Billing in your app. And the third approach is the most difficult cause you'll need a server to store your files on. I'd personally choose the first approach, since the second one has a pitfall - you need the locked questions to be inside your demo version's apk and it's just not secure. The much more secure approach is to not put them in your demo version - this is what the first approach gives you. However, it's your choice as a developer. Good luck!

Categories

Resources