Android In-App Purchase Downgrade-Upgrade - android

I have integrated in-app in my Andorid application for single Product productone.
For that, I have created different Product-Ids in my Google Play Console as below :
1. productone.monthly,
2.productone.yearly
As per my knowledge both the Product Ids will work independently since we can not group them together like it does in IOS-App Store.
Now, I have some doubts as below :
doubt 1 : If User purchased productone.yearly and payment done, What If User again by productone.monthly ?
and Vise Versa ?
I have to manage it from my side ? Like If I get that user purcahsed it for Yearly, I have to restrict the user to do not buy monthly subscription.
Please guide. Thanks.

Before coming to your two cases, note that you get all the purchase List from PurchaseResult object. So you get the purchase id lists. Now, there are two possible cases -
User has puchased your monthly product - 1. productone.monthly (if this is purchased, it will come in the list)
In this case, you can show the billing dialog for yearly product. As you want your user to pay more for your app (Of course yearly plan will cost more for user and you are building your app to make money).
User has puchased your yearly product - 2. productone. yearly (if this is purchased, it will come in the list)
In this case, you don't need to show billing dialog for monthly plan. As you don't want your user to pay less for your app (Don't allow plan downgrading).
Just in case you are thinking to allow both the options, follow this -
https://developer.android.com/google/play/billing/billing_subscriptions#Allow-upgrade

Related

Is there a way to setup lifetime subscription for my Android app in Google Play Console?

In Google Play Console, I have previously created yearly and monthly subscriptions and they work just fine, however now I want to create a subscription where the user only pays once and gets a lifetime subscription to the application.
Unfortunately, when I create a new subscription, it is required to select one "Renewal Type", which has the most a period of 1 year
How can I create a subscription, where the user only pays once and is never charged again?
Google Play Console: Create New Subscription
This would technically not fall into the Subscription category. A Subscription has to have recurrent billing. I see two potential solutions to your case:
You could go to the App Pricing page and set a price for your app there.
You can create an In-app product that would not expire.
I see an increasing number of developers using the second option. A good example would be Forest.

How can I define an In-app Billing product in Google Play, what can be purchased multiple times?

I am trying to define my In-app Products using Google Play Developer Console.
However when the Add New Product dialog pops up only two options are available, and neither is fit my "can be purchased multiple times" expectation.
One option is the Managed product, ("... Managed items that can be purchased only once per user account on Google Play...")
The second is the Subscription, ("... Subscriptions let you sell content, services or features in your app with automated, recurring billing....") Well this is more far what I would like to do.
there is no option to be able to buy an item multiple times per say. What you are looking for is a managed item but when the user uses that item you need to consume that item and then the user can purchase it again.
http://developer.android.com/google/play/billing/api.html#consume

Inapp billing which product type to choose for premium upgrade of app for one year

I have a app in which if users selects upgrade your app from menu then i have to do inapp billing to upgrade app and then everything inside app becomes free for one year. And after one year it should come back to normal way.
I have created merchant account and done all setup for implementing Google inapp biling.
Now i wanted to add inapp products but i am not sure which one to select, Managed products or unmanaged products or subscription.
Managed products is aimed at one time downloads then you 'own that object'.
UnManaged products is for multiple downloads of the same thing to 'top something up'.
All subscriptions are auto-renewing, for every app and game and every type of subscription product. After the transaction, Google Play manages recurring billing and keeps users informed of new charges, sending them an email with each renewal. At any time, users can visit My Apps in the Play Store app to view their subscriptions and cancel any subscription as needed.
So in this subscriptions product it does this renewing thing but i wanted is make app free for one year only and after 1 year if user wants to upgrade then he again upgrades through the app.
Which product type should i choose for upgrading app.
You should use managed products. This product will be synced between all devices and preserved by Google Play Services until you consume it. The main point is not to consume the item so it will be available forever once purchased.
Of course you can utilize unmanaged products the same way but it's rather deprecated thing in in-app billing.

Android InApp Billing v3 cancel consumption

I have working app that sells in-app products (InApp billing v3).
Recently I've made an update for this app and made a terrible mistake there: I consumed some of purchases I didn't want to consume.
I issued an update and users updated the app and then wrote me they have no purchased access. (As I found later, I consumed wrong items).
So I have some questions now:
Is there a way to restore consumed purchases or I should return payments to my users?
Is there a way to find out how many and which purchases were consumed?
If returning payments, is there a way to find out if user still has the product or is it consumed with out changing the app (through google services)?
Thanks.
According to what I have understood from your question, It seems like you want to purchase product only once.
What I wished to ask: is there a way to request information about consumed products like about owned products.
you can get response or it's information in any type(Managed Product, Unmanaged Product, Subscription) in the onActivityResult method() check my below link.
In-app billing-v3 error in activity result
but I would not prefer you to manage it customly as you told for one time purchase product(not consumable product). You should go with the Manage product.
Managed In-app Products:
Managed in-app products are items that have their ownership
information tracked and managed by Google Play. When a user purchases
a managed in-app item, Google Play stores the purchase information for
each item on a per-user basis. This enables you to later query Google
Play at any time to restore the state of the items a specific user has
purchased. This information is persistent on the Google Play servers
even if the user uninstalls the application or if they change devices.
for more information about product type
you can query any time you want and you will get the product information, and even you don't need to manage if user has already purchase this product or not.
Is there a way to restore cnsumed purchases or I should return payments to my users?
Better option is you should give the payments back to the user and for the next time check the whole app once using dummy product "android.test.purchased" and update your app.
Is there a wat to find out how many and which purchases were consumed?
You have to check in the Google wallet because all transaction should be handle by the it, check if it gives you product type or not. Using your google developer console credential you can signed into google wallet.
If returning payments is there a way to find out if user stil has the product or is it consumed with out changing the app (through google services)?
as per above answer you have to check in google wallet, according to my knowledge they are provide us all of information about product type with user detail.
Let me know if I have not properly understood your question.
Hope it will solve your problem.

How to purchase 5 items with In-app Billing?

If I want to sell something via "In-app Billing" in android,
But I want that the user could select the amount to purchase.
Do I have to predefine all the amounts?
Or can I somehow (how?) send the "In-app Billing" the amount of an item?
As I've read, you can't actually buy multiple items at the same time, as they state here, nor you can ask for multiple copies of your product, unless last purchase was consumed previously.
http://developer.android.com/google/play/billing/billing_overview.html
Android : In App Purchase
Although, what you can do is, iterate your purchase request (OK, this isn't an elegant way to do it) or define specific quantity packs (let's say, if you want to sell extra lives, you could sell it by 1, 5 or 10).
Hope this helps.
I just did something similar in Audio Control Lite. I allow users to select which feature they want to unlock (6 to choose from). From my experiences I know you have to pre-define the amounts, however you can setup 20+ different items to sell if you want to an direct the users to the 5 you want to display. I ended up creating a purchase screen with a description and purchase button for each feature. You'll end up passing the predefined SKU to tell Google which item they are purchasing.

Categories

Resources