I’m working on an IOS application with the following in-app purchase options:
- $0.99 - Receive 1 credit per month (Auto-Renewing)
- $1.99 - Receive 3 credits per month (Auto-Renewing)
- $2.99 - Receive 5 credits per month (Auto-Renewing)
- $3.99 - Receive 10 credits per month (Auto-Renewing)
- $4.99 - Receive 1 credit (Consumable)
Users may only subscribe to one auto-renewing option at a time, but they can purchase the single credit consumable without restriction.
My question is how should I organize these products as offerings/entitlements/packages/etc.?
My current method is:
- All four auto-renewing products above are associated with a single entitlement
- Each auto-renewing product has a 1:1 “parent offering”
- The consumable product has no associated entitlement/offering
The tutorials I followed all suggest using offering and entitlements, and so I did. However I feel it’s all clunkier than it has to be. For example, with the Purchases SDK, fetching the offerings and then extracting the packages (products?) seems a little too convoluted, given that it’s just a 1:1 mapping. Secondly, is the entitlement really necessary? I mean, it’s not really unlocking/entitling the user to anything on the UI, other than highlighting which subscription is active. And all of the credit incrementing logic is handled by the backend via a webhook anyways. So I don’t see the need for an entitlement here.
Should I just ditch offerings/entitlements and handle everything as individual products? Thats where I’m leaning but I’d like to get the community’s opinion before refactoring anything.
Any suggestions are much appreciated!
Best answer by sundeep
View original