Chapter 17: Catalog Management
Managing your product catalog programmatically from scratch means calling the monetization.subscriptions and monetization.onetimeproducts REST API endpoints directly, handling latency for catalog changes, and writing tooling to manage product configurations at scale.
With RevenueCat, you do not call the catalog management APIs directly. Product catalog changes happen in two places: the Google Play Console (for the underlying products) and the RevenueCat dashboard (for how those products are organized and presented).
Product Changes in RevenueCat
When you add a new product in the Play Console, import it into RevenueCat:
- Go to Products in the RevenueCat dashboard
- Click Import to sync from the Play Console
- Attach the new product to an entitlement
- Add the product to an Offering as a Package
No code changes are required in your app. Your app calls awaitOfferings() and fetches whatever Offering is current. When you update the Offering in the dashboard, users see the new configuration on their next app launch without an app update.
Offering Targeting
RevenueCat supports serving different Offerings to different users through Targeting. You can show a discounted Offering to users on a specific OS version, country, or custom attribute.
Configure placements and targeting rules in the RevenueCat dashboard. No code changes are required when you update targeting rules.
Programmatic Access via RevenueCat REST API
If you need to manage products programmatically from your backend (for example, to automate catalog updates), the RevenueCat REST API has endpoints for managing products, entitlements, and offerings. This is an alternative to the Google Play catalog management API, you call RevenueCat rather than Google directly.
Google Play Console remains the source of truth for the underlying products. RevenueCat is the layer that controls which products are surfaced to users and when.