Hi @simplesoft,
You're right to note that behavior differs between iOS and Android, and you're also correct that Google Play gives more flexibility when it comes to usage-based trial limits. Here's a deeper breakdown on how this works on both platforms:
On Android / Google Play
You can't end a store-configured free trial via RevenueCat or Google Play APIs directly. However, if a user reaches your internal usage cap (like bandwidth), you can prompt them to upgrade — and if they choose to do so, Google Play allows the trial to end immediately and billing to begin. This is supported when you use a proration mode like IMMEDIATE_AND_CHARGE_FULL_PRICE
.
So the typical flow looks like this:
-
you track usage in the app and block access once the user reaches the cap;
-
at that point, you present a paywall offering a paid upgrade;
-
if the user accepts, the SDK initiates a new purchase with proration;
-
Google ends the trial and starts billing immediately.
Here’s the relevant Google Play documentation that supports this -
Google Play – Subscription replacement recommendations
The RevenueCat SDK will handle this upgrade, apply the proration, and update entitlements accordingly.
Just make sure the usage limit is clearly explained on the subscription screen or paywall — Google requires that trial restrictions be transparent to users.
On iOS / App Store
Apple does not allow developers to end or revoke a store-configured free trial early, even if the user hits a usage limit. The free trial will continue through its full duration. Even if the user upgrades to another product in the same subscription group, the trial often remains active - so billing may still be deferred.
Here’s what you can do instead:
-
limit access or features in the app once your usage cap is hit;
-
prompt the user to upgrade, but inform them that billing may not start immediately;
-
make it clear that the trial will still appear as active in their Apple subscription settings, and that Apple controls the billing timeline.
Apple’s behavior around upgrades during trials can be inconsistent depending on how subscription groups and offers are configured, so it's safest to assume the trial will continue unless Apple decides otherwise.
Alternative Option – Promotional Trials
If you're looking for a more flexible trial setup, where you can end access at any time based on usage, or avoid auto-renewing subscriptions you might consider:
-
Granted Entitlements: these are custom trials you manage yourself, with full control over when access starts and ends. These don't bill users or convert automatically, but they're great for usage-capped trials or beta access.
-
Google Prepaid Plans: these are fixed-length subscriptions with no auto-renewal, ideal for markets where recurring payments are limited. These don’t include free trials but can work well in a “top-up” model.
I hope this helps! Do let me know if you have any more questions
Best,
Gui