Launch Checklist

Purchases SDK pre-launch checklist

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

1. Know your plan limits

Plan Limits

iOS

Android

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 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.

3. Testing purchases

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.

4. Verify webhooks and integrations

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

5. Prepare release

Store description

iOS

Android

Include disclosure of auto-renewing subscription details in your app description.

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.

Next Steps


Did this page help you?