To offer subscriptions in your app, you need to set them up in three places: App Store Connect (for iOS), Google Play Console (for Android), and finally, RevenueCat to link them together.
Before you begin, make sure RevenueCat is set up and connected to Audiorista. If you haven’t done this yet, you can follow our step-by-step guide.
Phase 1: Setting up iOS Subscriptions (App Store Connect)
Before you begin, ensure you have signed the Paid Applications Agreement in the "Agreements, Tax, and Banking" section of App Store Connect.
Note: If you're setting up your developer account for the first time, start with the App Store Connect Setup Guide. For more information, visit Apple's documentation and guides for App Store Connect.
1. Create a subscription group
Subscription Groups organize your products so users can switch between different tiers (e.g., Monthly vs. Yearly).
- Log in to App Store Connect.
- Go to My Apps and select your app.
- In the sidebar, under Monetization, select Subscriptions.
- Note: If you don't see Subscriptions, you must first accept all contracts and provide your tax and banking info in the 'Agreements, Tax, and Banking' section of App Store Connect.
- Click the + icon to create a Subscription Group. Give it a reference name (e.g., "Premium Access").
- Note: Subscription Groups are ways to organize your products in App Store Connect so users are able to switch between products.
2. Add a product to the group
- Inside your new group, click the + icon to add a subscription.
- Reference Name: A name for you to see in reports (e.g., "Gold Monthly").
-
Product ID: A unique identifier. We recommend a format like app_price_duration (e.g., audiorista_999_1m).
- Note: After you use a Product ID for one product in App Store Connect, it can’t be used again across any of your apps, even if the product is deleted.
- app: Some prefix that will be unique to your app, since the same product Id cannot but used in any future apps you create.
- price: The price you plan to charge for the product in your default currency.
- duration: The duration of the normal subscription period.
- intro duration: The duration of the introductory period, if any.
- intro price: The price of the introductory period in your default currency, if any
For example, I want to set up a yearly subscription with a one week trial for $39.99 USD. Using this format I've set my product identifier as: rc_3999_1y_1w0.
3. Add App Store metadata
- Localization: Click the + next to Localization. Enter the name and description exactly as you want users to see it on the App Store.
- Review Screenshot: Apple requires a screenshot of your app's "Purchase Screen" (Paywall) before they will approve the subscription.
- Subscription Groups: If this is your first time setting up a subscription group, you may see a warning that localizations are required. Click Add localizations and enter the necessary details; you must do this before you can submit your in-app purchases for review.
Group Display Name: Use a short name describing the access level (e.g., "Premium"). If you have multiple groups for price testing, use the same name for all groups that unlock the same content.
App Name: Choose your official App Store name or a Custom Name (e.g., use "VSCO" instead of "VSCO - Photo Filters") for a cleaner look in user settings.
Save: Always click Save before exiting.
Phase 2: Setting up Android Subscriptions (Google Play Console)
Before you begin, ensure you have a Google Play Developer account and have completed the Merchant Profile setup in the "Settings" section to receive payments.
1. Create a subscription product
Unlike iOS "Groups," Google Play uses a hierarchy of Subscriptions and Base Plans. You must have an APK or App Bundle uploaded to a closed test track before you can create products.
Note: You must have an APK or App Bundle uploaded to a closed test track before you can create products. See the How to generate a Keystore article if you are preparing your first build.
Log in to the Google Play Console.
Select your app from the All apps list.
-
In the sidebar, scroll down to the Monetize section and select Products > Subscriptions.
Note: For one-time purchases (like Lifetime access), select In-app products instead.
Click Create subscription.
Provide the following metadata:
| Field | Description |
|---|---|
| Product ID | A unique identifier (e.g., rc_premium_v1). Once saved, this ID cannot be reused or changed. |
| Name | The name users see in their Play Store subscription management (e.g., “Premium Access”). |
Tip for Product IDs: Use a consistent naming scheme like
<app>_<entitlement>_<version>. Since IDs are permanent, adding a version number allows you to "reset" a product's configuration in the future if needed.
2. Create a base plan
Customers don't buy the "Subscription" entity itself; they buy a Base Plan inside it. This defines the billing period (monthly, yearly) and price.
Inside your subscription details, scroll to Base plans and click Add base plan.
Base plan ID: Give it a clear ID (e.g.,
monthly-subscribe).Type: Choose Auto-renewing or Prepaid.
Billing period: Select your duration (e.g., 1 month, 1 year).
Price: Click Set prices, select your target regions, and set your base currency price.
Activate: Once filled, click Save and then Activate to make the plan available.
RevenueCat Note: RevenueCat maps to Base Plans. When linking in the RevenueCat dashboard, you will use the format
subscription_id:base-plan-id.
3. Add offers (Optional free trials)
If you want to offer a "7-day free trial" or an introductory price, you must add an Offer to your Base Plan.
In the Base Plan section, click Add offer.
Select your Eligibility (e.g., "New Users" for free trials).
Add Phase: Choose "Free trial" or "Single payment" and enter the duration.
Backwards Compatibility: If you are using an older version of the RevenueCat SDK, you must click the three-dot menu on your offer and select "Use for deprecated billing methods". Only one offer per base plan can be marked as backwards compatible.
4. Non-consumable products (Lifetime Access)
If you are offering a "Lifetime" purchase that never expires:
Go to Products > In-app products.
Create the product as usual.
-
Crucial: In the RevenueCat Dashboard, you must configure this specific Product ID as "Non-consumable."
If you don't, Google will allow the user to buy it again, treating it like a consumable "coin" or "gem" pack.
5. Finalizing: The "Make Editable" prompt
You may see a warning from Google regarding the InAppProduct API and whether subscriptions should be "Editable."
If you are using RevenueCat to manage your subscriptions, you can safely select "Make editable." RevenueCat does not rely on the legacy InAppProduct API for subscription validation.
Phase 3: Linking everything in RevenueCat & Audiorista
Once your products are live in both stores, you must connect them to Audiorista to enable the paywall in your app.
Link to RevenueCat: Follow the official Connect RevenueCat to Audiorista guide to sync your Store Product IDs with the Audiorista dashboard.
Verification: Before launching, use the Testing in-app purchases on Android guide to ensure your checkout flow works perfectly.
Final Submission: Once tested, refer to the App Store Checklist to ensure all metadata and privacy policies are ready for Apple and Google review.