Solved

RevenueCat SDK appears to consume all IAP - how to make non-consumables?

  • 7 February 2022
  • 2 replies
  • 245 views

Badge +2

Hi - I’m new to RevenueCat, and currently looking at use it to replace a direct BillingClient implementation for an Android app. For the app in question we offer two in-app-purchases - both are lifetime (i.e. non-consumable).

From what I can see after integrating the SDK, it appears to be attempting to consume the purchase. Indeed looking at the SDK code on GitHub, it appears to attempt to consume any INAPP product’s, and only acknowledges SUBS.

So - am I doing/understanding something wrong here? Can I support non-consumable INAPP purchases on Android using RevenueCat?

icon

Best answer by sundeep 11 February 2022, 00:56

View original

2 replies

Userlevel 3
Badge +8

Hi @Jamie Furnaghan,

You’re correct that we consume any IAPs that aren’t subscriptions - this is because Google doesn’t have a concept of non-consumables as Apple does, so RevenueCat defaults to consuming them. You could workaround this by having the product attached to an Entitlement (so when the user purchases it, they unlock that entitlement forever and gain permanent access to the relevant content). Then, to prevent multiple purchases of the product, you could check PurchaserInfo for past purchases to see if they’ve already bought this product.

Sundeep, with all due respect, your answer is completely incorrect. Google does support and has always supported non-consumables. Simply acknowledging an in-app transaction but not consuming it is the way to do it. That is easily possible with Google’s API, but not possible with RevenueCat, which is a major oversight and a critical issue. We have a very old app which now uses subscriptions, but previously used non-cosumables for lifetime premium access purchases. We are now migrating to RevenueCat and it consuming all these purchases is a critical problem - consuming them “removes” them from Google’s API, meaning that these users are forever dependent on RevenueCat’s entitlements and if for any reason we were to lose that information (such as, for example, having to transfer to a different service), those users would lose their purchases forever. That is not acceptable.

Reply