Solved

Configuring Consumable Products

  • 14 September 2021
  • 1 reply
  • 208 views

Badge +1

Hello!

 

I am confusing about configuring consumable products. I added directly all consumable products to products tab in dashboard and do not want to attach to any offerings or packages. Is it not get any problem?

And in "purchaseProduct(...)", do I need check transactionState for each case or RevenueCat automatically handle and I only give user Coins(for example) 

 

Thank you so much for your help!

icon

Best answer by sundeep 15 September 2021, 02:22

View original

1 reply

Userlevel 3
Badge +8

This question was initially handled in our ticketing system, but I’m posting the response here as well:


There isn't any immediate issue if you decide not to use Offerings or Packages, other than not being able to use the methods tied to these systems (e.g. fetchOfferings(), purchasePackage(), etc).  

Setting up Offerings is recommended though, because it simplifies your code and is especially useful if you have similar products on more than one store (Apple, Google). When you set up a Package inside an Offering, you can add multiple products to it from different stores. For example, if you have a 500 coin product on both iOS and Android, you can put them in a Package together in the same Offering. That way, in your code for both platforms, you don't need to keep track of the different products, you just refer to the same Offering/Package via RevenueCat. Does that make sense?
 

And in "purchaseProduct(...)", do I need check transactionState for each case or RevenueCat automatically handle and I only give user Coins(for example) 

Correct. If you're using purchaseProduct(), you do not need to check transactionState - RevenueCat will finish the transactions for you. You will need to grant the user the appropriate amount of coins yourself.

You can read a little bit more about purchaseProduct() on our iOS SDK reference: https://sdk.revenuecat.com/ios/Classes/RCPurchases.html#/c:objc(cs)RCPurchases(im)purchaseProduct:withCompletionBlock

Reply