This document contains a checklist of things to consider before launching subscriptions in your app to production.
Plan Limits | iOS | Android |
---|
There are free usage limits on our base plan. When you hit the $2,500 MTR limit, we'll start charging you at 1% of tracked revenue. Consider adding your credit card details early to prevent temporarily losing access to some of our best features. See the pricing page for more details. | ✅ | ✅ |
Verify App User IDs are set properly | iOS | Android |
---|
If you're setting your own user identifiers, make sure they are all being set as expected and you've followed our tips - double check for hardcoded strings! | ✅ | ✅ |
Verify all users are tracked in customer view | iOS | Android |
---|
Verify all the users that purchased are tracked in the activity view. If you expect to see a specific App User Id that purchased, but it's missing, something could be wrong. | ✅ | ✅ |
No unexpected aliases on user | iOS | Android |
---|
For each user, check that there are no unexpected aliases on their customer page. See our guide for more information on how aliases are created. | ✅ | ✅ |
All products are available | iOS | Android |
---|
Verify that all of your products are being fetched correctly by RevenueCat.
If any product is unavailable, there may be a configuration issue. | ✅ | ✅ |
Test purchases unlock content | iOS | Android |
---|
Make a purchase, the transaction should succeed and unlock "pro" content. It should appear right away in the transactions table and in the customer view for that user. (Note: Sandbox subscriptions will auto-renew at an accelerated rate.) | ✅ | ✅ |
Subscriptions status is up-to-date | iOS | Android |
---|
Return to the app while a test subscription is still active. You should still be able to access "pro" content.
Wait for the subscription to expire then return to the app, your "pro" access should be revoked. | ✅ | ✅ |
Restoring purchases | iOS | Android |
---|
Uninstall and re-install the app. If you're setting your own App User Id, any active subscriptions should be automatically restored when you log-in.
If you're using RevenueCat generated App User IDs on iOS, you won't be able to restore purchases after an uninstall in sandbox until you make another purchase. | ✅ | ✅ |
No webhook failures | iOS | Android |
---|
If you have a webhook configured, ensure that you don't have any errors and are handling all event types properly. | ✅ | ✅ |
Integrations delivered to correct user | iOS | Android |
---|
If you have any integrations configured, ensure that you're receiving test events attached to the expected user | ✅ | ✅ |
App Privacy | iOS | Android |
---|
As of December 8, 2020, Apple requires thorough App Privacy disclosures for third-parties, including RevenueCat.
By April 2022, Google requires a Data Safety disclosure for all apps on the platform. | ✅ | ✅ |
Phased rollout | iOS | Android |
---|
Choose a staged release option so you can monitor, and halt, a rollout on a fraction of users if there's any problems. | ✅ | ✅ |
Choose to manually release app | iOS | Android |
---|
On iOS, if your app contains new products, choose to manually release the version and wait ~24 hours after your app is "Cleared for Sale" to release publicly.
This is because it sometimes takes new products ~24 hours to propagate throughout the App Store. | ✅ | ❌ |
IDFA guidelines | iOS | Android |
---|
If you're using an attribution integration, ensure your app complies with IDFA usage guidelines by disclosing the use of IDFA. | ✅ | ❌ |
❗️
First release on App Store?
If the app has never been released on the App Store, it must be released before in-app purchases will work in production (even if you download with a code).
We recommend releasing and waiting up to 24 hours to ensure purchases work before starting marketing/release campaigns.
👍
RevenueCat detects when you launch based on the purchases we receive, so there's nothing you need to do in RevenueCat when you're ready to ship.