Can anyone explain how does in-app billing process works for Android?
Do I need to upload two different apk (free and paid) to Play store and link buy button click in free app to paid version on Play store, but in this case will free app get replaced with paid app when user purchases paid one? How to achieve this?
If I give buy button in my free app which enabled purchase of paid full version (extra features) then how does this purchase works? Is it that upon activity startup I get some event when will tell me if app is purchased or not. Based of which I can enable paid features in my code. If yes Will this kind of logic work when user is offline? and how?
Appreciate if someone could clear my confusion with sample code. I have successfully run Google's sample code but not able to understand if I upload my app as free app how and when do I need to mention amount paid features?
Do I need to upload two different apk (FREE & paid) to play store .
This depends on the use case. If you want to give your users different app that has limited and Pro features that differs majorly then you should put two different apk's in market.
Otherwise , If your app has Free and Paid content you should include In-App purchases.
in this case will free app get replaced with paid app when user
purchases paid one ? How to achieve this.
No , Your app won't get replaced , you will only get payment successful/failed response from Google play , you have to save that information in your app shared preferences and manage your app flow accordingly.
If I give buy button in my free app which enabled purchase of paid
full version (extra features) then how does this purchase works?
Your application accesses the In-app Billing service using an API that is exposed by the Google Play app that is installed on the device. The Google Play app then conveys billing requests and responses between your application and the Google Play server. In practice, your application never directly communicates with the Google Play server for purchases. Instead, your application sends billing requests to the Google Play application over interprocess communication (IPC) and receives responses from the Google Play app. Your application does not manage any network connections between itself and the Google Play server.
If yes Will this kind of logic work when user is offline? and How.
To complete in-app purchase requests, the Google Play app must be able to access the Google Play server over the network. But after initiating a purchase request , you can save your payment response in shared preference for maintaining offline status.
Appreciate if someone could clear my confusion with sample code. I
have successfully run google's sample code but not able to understand
You should first start by reading the API docs Google Play In-app Billing and Selling In-app Products ,
if I upload my app as free app how and when do I need to mention
amount paid features ?
After that follow the steps to create In-App products on Google play account and run the API sample for those products.(There are plenty of tutorials online). Also you can take a look at official website for Establishing In-app Billing Products for Sale
Enjoy!
Related
I am developing an Android app with two modes
Trial - free with limited functionality. The user has no time limit here. They can continue to use the app for forever but will not have access to full functionality.
Paid - full functionality. The user can make a one time payment to gain full functionality.
I have seen some posts indicating that you could publish two different apps to the Play store, but I would prefer to publish one app and use an internal flag to limit functionality when in Trial mode.
What is the best way to do this on Play Console? Should I set the App pricing as free and then add an In-app product for the paid version? Then from my app I can have a button that makes the request for the purchase?
The Play store indicates that once an app is published as free then it cannot be changed to paid? Is there some way to indicate paid app that has trial with limited functionality?
I don't want to use Subscription since the payment is one-time to get the full App.
Are there other good options to follow?
Using the Google Play Billing Library is the Google recommended way to do this (integrates with GPay nicely), otherwise you can use other payment processors and setup a server configuration to verify users purchases.
Using only an internal flag is not recommended as if users ever clear app data/uninstall their purchase is lost.
I'm thinking of releasing a "PRO" (ad-free) version for my android application and I'm worried that the apk would be shared on blogs/crack sites for free distribution
is there a way to add some kind a purchase check? Since the app will be available for purchase only, there should be a way to check the user's purchase history maybe?
If the user hasn't purchased the app and is using it the app would show a message that they haven't bought it properly and would shut down.
The thing that you are looking for is the App Licensing. Here is the link that can help you.
How can I implement Google Play Licensing for an Android app?
I am developing an application for iOS and Android and this app will be free on the store, but to use all features of the app, the user will need to pay a licence every month/year and if he doesn't pay it, he will have only a limited access to the app, with just few features. Moreover, the first month after he registers, he will have full access.
To pay the licence, it'll can be done in the app or on the website.
For that, do I need to develop a function to check on each connection my database to see if the user has paid, or is there already something done. I have look for "in app purchasing" but it seems that it works only for app where we pay once to have full features, and not every month.
Thank you :)
Regards,
There is a system in in-app-purchase for this, just check the url: https://support.apple.com/en-gb/HT202023 and "Auto-renewing subscriptions" tab
you can go for in app purchase / in app billing
iOS,
In-App Purchase lets you sell a variety of items directly within your free or paid app, including premium content, virtual goods, and subscriptions. And just like apps you sell on the App Store, you receive 70% of the purchase price.
https://developer.apple.com/in-app-purchase/
Android
Use In-app Billing to sell digital goods, including one-time items and recurring subscriptions.
Supported for any app published on Google Play. You only need a Google Play Developer Console account and a Google payments merchant account.
Checkout processing is automatically handled by Google Play, with the same look-and-feel as for app purchases.
http://developer.android.com/google/play/billing/billing_overview.html
When an user installs an Android App from Google Play, he/she has to login with a Google Account: does exists an Android API for getting which Google Account has been used for the App installation?
I would like to sell my App from Google Play, but I would give to the buyer a free trial period. I can't use subscriptions because they require a recurring payment (monthly or yearly), whereas I would set a una-tantum price.
When the trial period expire, I can use a non-consumable In-app product, but how can I manage the trial period?
Both Google Play Licensing and In-app Billing track purchase information on a per-user basis, thus they should be able to know which user has downloaded the App or who is the current user, and I too would like to know the same info in order to manage the trial period by means my web server.
If someone of you can suggest another way, I appreciate.
There is no such API to include in your app's code to keep record of user who have downloaded your app from Play Store. However before you upload your app to Play Store , you have to create a Developers account.
There google have provided Developer Console option, and this is where you will find download information for your app.
I have looked around on the internet and cannot find anything on this topic. If my app is a game and I want users to buy tokens from me for a price and they pay one dollar for 100 tokens, how can I make my app communicate with google and bring up a menu so they can purchase through google? Is there any tutorials on this subject?
To make sure people understand it, If my app has an Activity which has a button that reads "100 tokens for 1$" Then another button that reads "500 tokens for 2$" and they click either button, it will bring up a google popup that says purchase. Then it uses their google account information through the app market to purchase the tokens. Many apps have this feature so I hope you know what I am talking about.
Please help me out, and thanks.
Also, I have looked at In-App Billing and they say you must post your app on the Google Play market complete the In-App Billing process. How can I add my app to Google Play without users being able to download or even see it. I want to upload for only developing reasons
In-App Billing is indeed the correct approach for having user purchases within your application. As you mentioned, this is only available via Google Play published apps. However, if you do not want to publish your app publically, you can use Google Play's Beta-testing program to upload an app to Google Play but only make it available to a specific group of people (those who you allow to join a Google Group or Google+ Community).
As long as you never publish a production version and only publish to the alpha/beta channel in the Google Play Developer Console, then you can create an app that utilizes In-App Billing without being public.