App Subscription Launch Checklist

Purchases SDK pre-launch checklist

This document contains a checklist of things to consider before launching subscriptions in your app to production.

1. Know your plan limits

Plan LimitsiOSAndroid
There are usage limits on the free Build plan. Hitting these limits may mean that purchases stop working. Consider upgrading to the Starter plan to remove these limits. See the pricing page for more details.

2. Testing user identity in RevenueCat

Verify App User IDs are set properlyiOSAndroid
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 viewiOSAndroid
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 useriOSAndroid
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.

3. Testing purchases

All products are availableiOSAndroid
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 contentiOSAndroid
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-dateiOSAndroid
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 purchasesiOSAndroid
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.

4. Verify webhooks and integrations

No webhook failuresiOSAndroid
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 useriOSAndroid
If you have any integrations configured, ensure that you're receiving test events attached to the expected user

5. Prepare release

Store descriptioniOSAndroid
Include disclosure of auto-renewing subscription details in your app description.
App PrivacyiOSAndroid
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 rolloutiOSAndroid
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 appiOSAndroid
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 guidelinesiOSAndroid
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.

Next Steps