With Entitlements, you can set up your available in-app products remotely and control their availability without the need to update your app.
Entitlements provide a way of organizing your available in-app purchases.
An entitlement represents features or content that a user is "entitled" to.
Entitlements can be unlocked by having an active subscription or making a one-time purchase. Most subscription apps only have one entitlement, unlocking all premium features. However, if you had two tiers of content such as Pro and Pro Plus, you would have 2 entitlements.
Most well monetized subscription apps provide many different offerings to purchase an entitlement. These are usually associated with different durations i.e. an Annual Plan and Monthly Plan.
A typical upsell screen featuring two offerings, one for monthly and one for annual.
Products are a 1-to-1 mapping with your Apple or Google in-app purchase products.
Each offering will have one active product per platform. For example, the Monthly offering under the Pro entitlement could have products monthly_pro_android and monthly_pro_ios active. This will be the products fetched automatically by the Purchases SDK.
Inactive products will still unlock an entitlement for user if they are subscribed to that product, or if they've ever purchased it in the case of non-renewing purchases.
Do not change product price after configuration
For the most accurate analytics, you shouldn't change your product prices in App Store Connect or Play Console after they're set. Instead, create a new product id with the new price.
Entitlements can be creating via the dashboard by selecting your app from the dropdown. A common and simple setup is one entitlement with identifier pro, one offering monthly, with one product.
Entitlements, Offerings, and Products can be configured from the RevenueCat dashboard.
If RevenueCat detects a product was purchased that is not linked to an Entitlement, it will still be shown as an Unassigned Product and you can assign to an Offering later.
- After you've configured your products, get the Purchases SDK installed