For simplicity, suppose I'm running a subscription smoothie business only on the App Store. I'd like to set up IAP for weekly/monthly/yearly subscriptions for smoothies.
In addition to the smoothies, users can mix-and-match subscriptions for premium upgrades, including fancy straws and glass mugs. With their smoothies some users want one, or the other, or both.
Additionally, users can purchase consumable tokens for pretzels.
Users would only subscribe to the premium upgrades of straws and mugs if they got a base subscription for smoothies. They also may start with a smoothies and upgrade later. It makes little sense for a subscription for a straw or a mug to renew differently from their smoothie subscription. Cancelling their smoothie subscription should cancel any straw & mug subscriptions.
How do I structure my packages/entitlements/offerings/products to account for these while keeping it sane?
The only way I see it, but seems too complex, is a single subscription group with products for weekly/monthly/yearly of:
A) smoothies
B) smoothies + straws
C) smoothies + mugs
D) smoothies + straws + mugs
That's 3*4 = 12 products. Then coordinate in the UI of what user selects is whether it is an upgrade/cross-grade/downgrade. Downside is that adding a feature (e.g. insulated mugs, or whipped cream toppings) quickly multiple the products possible.
The smoothies, straws, mugs seem like they would each be entitlements. So, for example, products (B) and (D) would be included in the straws entitlement.
Thoughts? Thanks so much for guidance