Android market selling upgrades - android

Im new to android development and I have a question about selling in the google android market. How do you sell upgrades to customers? For example if I had a free app that I would only allow the app to run for x number of minutes before updating and then have a paid version that would not have the limit. Do I have to have to publish 2 versions of the app or is there a way within the app to allow them to "unlock" the app? What about premium content like extra features? Thanks!

To achieve what you're describing, you can also use in-app billing.
After the trial period, you can popup a message saying the trial is over and asking the user to pay to continue using it.
More info on in-app billing here: http://developer.android.com/guide/market/billing/index.html
Of course, another option would be to have 2 different versions (with 2 package names) - one for the trial and one for the paid version.

Related

App Licensing to one time paid apps

I'm in final stage of my project, and I was looking for what to do before publish the app then I came across this App Licensing on https://developer.android.com/google/play/licensing/index.html and this quote
The Google Play Licensing service is primarily intended for paid
applications that wish to verify that the current user did in fact pay
for the application on Google Play.
My app has a free version and a pro version, both have a different package name, the user buy the pro version and after that have anything more to buy (no itens inside to buy).
My doubt is should I implement this Licensing, or it is no needed?
The google play already do this control to not allow that other people can download of .apk and use this pro version without pay for it?
And what I have to do to do the Android on user device delete the .apk and this way avoid that the user give the .apk of pro version to someone else? Has any code that I can implement to do that? Or Google Play take care of it?
Thanks

Paid and Free versions of android app

I am wondering what is the best way to have two different versions of an android app. I would like to have version of my app with ads and one without ads (the paid one). What is the easiest way to achieve this ? I have found something called version flavours here but since I am new to android development I am not sure if that is what I want. Please any suggestions for addressing this ?
You could have two versions of the application in Play store. However, you would have to maintain these separately and it is frustrating to upgrade from free to paid with this approach. If you chose this way of maintaining your application, you would have to have two projects, one for each version. This would result you into having two copies of almost identical source code.
One approach I've seen people do is that the free version also contains the premium features which are unlocked once the user installs a paid unlocker application from the store. However, this has the same result as the first option: you would have to maintain two applications (this time different, though) and the users would have to install additional software.
The best option is to include the premium version as an in-app purchase. The app would contain all the premium features but would be locked by default. Once the user pays for the in-app product (in this case the premium membership), he would unlock all the features.
You can read more about in-app billing here.
Why not just publish two apps with the free one as this :
MyApp
and the paid one as this:
MyApp(Paid).
And this is how to prepare them:
Get your app working, and add ads and then sign it and generate the apk. Publish it. MyApp.apk
Then go back, and remeove the ads, change the package name, add the Paid to the name, and then sign the apk. MyApp(Paid).apk
Then Publish it.

iOS & Android: swap from paid app to free with in-app billing/purchase

I'm about to develop my first paid app for Android and iOS (both native). My plan is to release the first version just for purchase (no free). Later on I want to swap it to free with two levels of in app purchases.
My issue/question is: How can I make sure when a user of the first payed version of the app gets the in-app pruchase content when he/she updates to the new (free with in-app billing) version?
I found this 15 month old post with kinda the same question...
Maybe something has changed since then - and it doesn't help with iOS. Thats why I put this question up.
Thanks a lot for your input
Soko

How to programmatically see if user has paid for my app when changing from paid to free

I'm having two versions of my app. Free and Pro. I'm going to remove the free version and change status of the Pro version from paid to free and use in app billing to unlock advanced features instead of having two different apps. Users already paid should start off with all features enabled.
Is there a way to check if a user has purchased the app after changing it to free?
From what I have read, LVL can't do this.
Is it possible with IAB v3?
There are several postsbelow here on StackOverflow concerning this topic. The short answer is that there's no fool-proof way to do it.
Some possibilities:
Check for some prexisting object exclusively from the Pro Version(db, pref, etc)
This won't work for new devices, only if it's a simple upgrade on an existing install
Use the old Pro app itself as the "key" to unlock(check PackageManager)
Suffers from the same problem as above, and even uglier
Create a unique id for each Pro customer, save it server-side and check on startup
Necessitates internet access for validation, not very secure, users hate data collection
A hybrid of more than one method would probably work best, but it depends highly on the implementation. No matter what you come up with, there will be some issues, and I don't think there's a way to 100% cover every existing customer.
How to migrate from a paid android application to an application paid for with in-app billing?
Converting an Android application from a free/paid model to in-app paid unlocking
Changing paid Android App to free with In App Billing - grandfathering existing customers
How can I use the paid version of my app as a "key" to the free version?

programmatically determine if android app has been paid

I was wondering if there is any way to progammatically determine if the android app has been paid for?
I am going to implement the Android LVL library code in my app. But I also want to let the users first try out the app and then buy it if they like it. So how can I determine if the app has been bought and hence fully licensed.
If you want to let users try your application out first before buying release a limited free version. (Limited by features not time)
Then also release a paid application. I would recommend 'up selling' your application from the free one. i.e. promote and encourage the upgrade from the free one by saying it has more features, better this, better that..
The LVL then only belongs in the paid version, not the free one.
This can be done with the new In-app Billing API but not with the existing LVL, as LVL can only be used to verify upfront purchases from the Android Market (read paid apps.)
Effectively LVL and In-app Billing server responses are the same and can be verified in the same manner.

Categories

Resources