I need to create a new In App Purchase in the Google console. The only 2 options I see are "MANAGED PRODUCTS" and "SUBSCRIPTIONS"
Inside "Managed products" I only get 1 options of "Create managed product".
However, in Google's documentation it refers to one-time products as
"Consumable" and "Non-consumable"
Where is this set for an item?
What part of this am I missing?
We've created a few managed products, but it seems like we can only purchase them once - and we want to purchase them multiple times.
Thanks.
First of all, "Consumable" and "Non-consumable" is not a In-App billing term. They are just for explaining use cases.
From Indicate a one-time product has been consumed section,
To indicate that a one-time product has been consumed, call the consumeAsync() method
If consumeAsync() is called, it becomes buyable again, means it becomes "Consumable".
Related
We want to change the price of a renewable subscription, but only for newly subscribed users. Old users should keep the old price.
Apple offers a pretty simple option to keep the old subscription price for current subscriptions if you change the price of a renewable subscription. I don't see such an option available in Google Play.
My idea for this is to add a new subscription ID with updated pricing. Users that newly subscribe would use the new subscription ID, while nothing would change for users that are already subscribed. If users cancel the subscription and then subscribe again, they would get the updated pricing, but that's OK.
Is this considered a viable option? How can I make sure new subscriptions only use the new subscription ID? Anything else I am missing?
Everything you've said is right:
Apple documentation: https://help.apple.com/app-store-connect/#/devc9870599e
Google documentation: https://developer.android.com/google/play/billing/subscriptions#price-change
And yes, this is the only way to do it if you want to keep the old price for current subscribers on Google.
I don't think you've missed anything since, contrary to Apple, you can't access to the list of the available products on Google Play, so users won't be able to subscribe to your old product if you don't show the option in your app.
Since May 2022, Google has made some changes to the way subscriptions work on Google Play.
By default, "when changing the price of a subscription, it only applies to new purchases". More information can be found on the Play Billing documentation.
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
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.
I'm starting with In App Billing and I would like to sell some magazines in my app. If one user buy one magazine he can read it always. I read about consumable and non-consumable in app billing but I didn't understand how can I make a non-consumable item and how can I manage it. I have to create a consumable item in google developer console and than specify in my app with a variable that the item is non-consumable?
Thank you in advance
First, The In-app Billing Version 3 service only supports managed in-app products so make sure that you specify that the purchase type is 'Managed' when you add new items to your product list in the Developer Console.
In In-app Billing Version 3 API once an item is purchased, it is considered to be "owned" and cannot be purchased again from Google Play. So I think we can say that per default items are non-consumable.
If you want to make this item consumable you have to call the consume function just after the purchase. Calling the consume function will "free" your item and make it "available" again. (Your user will be able to purchase it as many time as he wants)
mHelper.consumeAsync(purchase, mConsumeFinishedListener);
If you don't call the consume function, your item will never be consumed and will act like a non-consumable item.
Refering the developer site for the same, would be also helpful.
http://developer.android.com/google/play/billing/api.html
I am very new to android.. I am working on In App billing.. My question is what is the main purpose of Managed and Unmanaged state while adding the In App product..
Can any one tell me what is the use of managed state and what is the use of unmanaged state..
The main difference between managed and un-managed is that a managed purchase can only be bought once and is tied to the Google account that purchases it.
Un-managed purchases can be bought multiple times and are intended for consumable items.
For more information, please see the Choosing a Purchase Type section of the Google in-app billing documentation.
As of Version 3 of Google's IAP Billing API this has changed. Both consumable (multiple purchase) and non-consumable items are "managed". Tf you want to use Version 3 of their API, all purchases must be created as "managed". You can then decide if the item should be consumed later.
Here's a link to their docs: http://developer.android.com/google/play/billing/api.html#consumetypes
UnManaged could be something like "Buy 50 points"
The 50 points would then be added to your account and you would store this on your accounts server, therefore the Android Market no longer needs to know that you purchased this product i.e. it will not remember your purchase and you can purchase it multiple times.
Managed could be "Buy this song"
In this scenario you do not have a server to record that they bought the song and so every time they reinstall you can query the market to see they bought the song and it will not let you download it more than once.
Managed is aimed at one time downloads then you 'own that object'.
UnManaged is for multiple downloads of the same thing to 'top something up'.
UnManaged could be something like "Buy 50 points"
The 50 points would then be added to your account and you would store this on your accounts server, therefore the Android Market no longer needs to know that you purchased this product i.e. it will not remember your purchase and you can purchase it multiple times.
Managed could be "Buy this song"
In this scenario you do not have a server to record that they bought the song and so every time they reinstall you can query the market to see they bought the song and it will not let you download it more than once.
Managed is aimed at one time downloads then you 'own that object'.
UnManaged is for multiple downloads of the same thing to 'top something up'.
Least thats my understanding.
Version 3 has the concept of 'consumables' and it works inline with the above. All products are managed but you can 'consume' a product.
i.e. "Buy 50 points" will give the user fifty managed points, the user will not be allowed to purchase that item again until you consume that product.
Therefore you can make unmanaged products by consuming instantly, or managed products by consuming when the user has "used" that product (i.e. never call consume for buying a song).