Share and explore knowledge and tips relating to RevenueCat and subscriptions.
Recently active
We've recently noticed an issue with some our Android users, that we are not able to display the trial period for them. We get this information from SkuDetails.freeTrialPeriod, and parse that value.However, for these users, SkuDetails.freeTrialPeriod is returning an empty string (even though the corresponding SKU has a trial period configured in Play Console); we are not able to reproduce this issue using this same SKU locally.We're curious to hear if anyone else also uses this information, and if they've noticed anything strange lately? Or if there is any other way of reliably getting this info?We've also created this issue in the official issue tracker: https://issuetracker.google.com/issues/219799769
WWDC '22 Announcements What features are you the most excited about?Which topics would you like to learn more about? 'Dub Dub,' as we like to call it, has left us excited and busy as we deep dive into all the changes and upgrades. We would love to hear your thoughts on the newly-released features and upgrades to help us create content & product that’s relevant and interesting to you.. Some questions for you: 1. New StoreKit 2 properties and APIs - As mentioned in our blog post, you will receive these upgrades with the updated SDKs. Q: Is there anything that you’re specifically looking forward to, and could you share examples of how this might be useful to your app? 2. New App Store Connect API for in-app purchases. Q: As this could potentially enhance the RevenueCat experience for you, are there any pain points that it would solve for you specifically? 3. StoreKit testing improvements. Q: What are your biggest roadblocks regarding testing? 4. SKAdNetwork 4.0. Q: Would you li
My question is not as much a technical question as it is a user experience question. I have not read all the dev documents yet regarding GourpIds etc.We have an app for schools. Currently we have implemented subscriptions for iOS and Android. We think we can get much more users and revenue if we rather implement a group subscription where the school can create an account, subscribing and manage users on that account through some we console.I’m not sure how one would go about doing this using the subscription services provided with the Playstore and Apple, unless I’m missing something.Would one perhaps go the stripe route? And how do you go the stripe route and not get you app banned from the app store because you are not using Google’s or Apples service.It’s not that we want to bypass their service, I just don’t know how to use there service in an extremely user friendly way to implement such a group subscription. When I say user friendly I mean for instance, you don’t want to for
Hi,How can I configure a free subscription / version in RevenueCat that is an extra IAP item? This item should be available for free for one week. And what do I need to configure on Appstoreconnect? introductory offer?So the goal should be that the customer can test the app one week for free and after the one week he gets the view again where he is asked to close the subscription.
Hi folks,I know that Stripe can automatically send billing error emails. So if Stripe tries to charge a user’s card but it doesn’t work, Stripe can automatically email the user, asking them to update their card. This is simply configured in my Stripe settings. Do Apple or Google do this automatically as well? If not, I assume this is a good time to use RC’s billing_error event to trigger a customer email? Where would I direct them to? Tell them to open up their app store and update their payment method on file? Is there a link I can use to get them there, or is it that all I can do is tell them the steps?Thanks! Toby
Hi folks, I was recently contacted and told that I can submit a claim in this class action law suit. Of course, I assume most communications like this to be a scam. But I’ve heard respectable news sources talk about this. I think I’ve even heard @david talk about it on SubClub. They’re not asking for sensitive info and it looks legit. Have y’all submitted a claim? Have you heard of this specific case? Is it a scam? Here’s the link: https://smallappdeveloperassistance.com/ Thanks, Toby
This is massively helpful for us - hugely appreciate you putting it in. Have a great weekend!
Hi y’all,I’ve been thinking about business models for an app I’m working on.Let’s say that I’m selling specialized photo filters. And you can choose from a library of them, a sort of marketplace.My first thought was to use tokens/coins. You buy 300 coins with an in-app purchase, and then you can spend 100 coins to buy a filter. That sort of thing.Would a subscription model make sense here? I would, in fact, be selling content that I could update. And it would keep me from needing to track tokens per individual user.I don’t know, would a subscription model be the right fit?
Hi, would be great if we could have some sort of notification on when a user makes a purchase like Stripe does. This helps wanting to further improve the product as users subscribe and is good morale booster to keep going.maybe need an app for this? A revenuecat app on ios/android with an overview of the dashboard would be helpful as currently I pin a shortcut to my iPhone desktop.
I have a fitness app (Max reHIT Workout) and my current method of offering a free trial is to let people have access to 5 fully functional workouts free, forever.There's are two ads: an interstitial ad and a banner ad.If you want access to all 20+ workouts, lots of extra features, and go ad free , you can buy a yearly subscription for $5.99.You do not have to enter a free trial period with CC because I absolutely hate that approach.I'd like to increase conversions. Two methods I'm considering:Have a completely functional system without ads for 5 workouts. I figure if you've used the app 5 times and you don't want to buy, you'll probably never convert. A complication is this requires the user to login because i use cloudkit to store data for cross device access. After 5 workouts if they choose not to convert I revert back to a limit of 5 workouts with ads. Of course they can subscribe any time. I hope they realize the value ad of the extra features and workouts. Similar to 1, but the t
I'm posting our experience to help clarify the (Apple) IAP release process for any other new developers.Our app (v1) was live on the App Store with one IAP, a yearly subscription. Yesterday we were approved to release v2, plus were approved for a new monthly subscription IAP. We released the app almost immediately after approval. After about 20 minutes, the new version was visible in the App Store.However, after downloading the app, we noticed that only the original annual subscription was showing up in the app. The new monthly IAP was not listed. After checking everything out (see below), we decided to wait it out before any real debugging. This morning, the app was listing both annual and monthly IAPs. So, apparently it takes some time, measured in hours, for Apple to 'activate' the SKProducts. NOTE: While the new IAP was unavailable in the app, the App Store listing was actually displaying both the annual and monthly options under: Information In-App Purchases (Yes)
Since I’ve been implementing in-app-purchases for my app the past days, I wanted to share a couple of things I’ve run into. Maybe they are of help to someone or can be used for further RC improvements.Google Play appends the app’s identifier or app name to the purchase title. It’s best practice to strip these, if you are using a dynamic paywall screen. The RC docs say that you need to have published an app bundle to a Closed Testing track e.g. Alpha in Google Play. I found that it is sufficient to use the unreviewed Internal Testing track. This allows for a setup where you have a package name for different environments e.g. staging and production. React Native: The RC debug logs are not replayed in the Javascript logs. You’ll have to view the device logs. Connect the device by USB Cable, then: iOS: Use Console.app to filter for Process: My App and Purchases Android: adb shell logcat | grep Purchases.I’ll update this, if I run into something else.
Hi all, Some feedback/thoughts on offer codes. To set the scene, we’ve recently set up a b2b partnership and are using 12 month offer codes to provide their customers with access to our app. Offer code’s aren’t included in integration data, i.e. GCP exports and Facebook. Nor is there a way to filter for offer codes in customer lists. In order to track code consumption, we’ve had to set up web hooks, cloud functions and a custom dashboard. Not a massive issue, but the reason we’re paying for RC is to make these things easier. Offer codes are marked as trials. For us, this makes no sense - we’re expecting (/hoping) to have thousands of these codes used. It’s going to boost our active trials rate by 12 months each, thus rendering the dashboard ‘active trials’ rate useless. Again, there’s no way to filter so we can’t get true active trials in the customer list’s either. Lastly, I'd like a way to see on the customer profile if they’ve used an offer code. Thanks for reading, hopefully the
As a developer, you probably spent time looking through the REST API endpoints to keep subscription status in sync with your backend, update subscriber attributes server side, etc.We would love to hear from you:Is there something you’d like to be able to do through the API that you can’t currently do? Are there any fields you’d like to see that aren’t currently returned from an endpoint?Thank you!
Hey RevenueCat Community! 👋I wanted to share a blog post I wrote recently about how you can use Entitlements for more than just in-app purchases. Since Entitlements can be granted manually as promotionals via the dashboard and REST API, you can actually use Entitlements as generic feature flags - all without being connected to any in-app purchase products at all.A good use case might be setting up beta features (maybe for only long-term paying customers, for example) and granting access to those beta features with an ‘empty’ entitlement. You could build this out as custom as you’d like - you could manually opt users into your beta from the RevenueCat dashboard, or even build an automated system from your own backend to let users opt-in to the beta themselves, all by tying into our promotionals API.I detail the process in the blog post, but would welcome any questions or comments!You can read the blog post here.
The SwiftUi example app on this page https://docs.revenuecat.com/docs/sample-apps requires xcode 13 because of AsyncStream. Is there a SwiftUI example app that works in xcode 12.5?
Hi all,I’ve got some subscriptions defined in Google PlayStore console, but they where to test subscriptions a while back. Now we don’t use them within RevenueCat. But I can’t delete them in the PlayStore console (asked Google Support, but they told me that we can’t remove active products) These old products are never sold because we are stil in develop phase. My question now is, are these products every visible by customers? I don’t use them in RevenueCat and are not showing them in our app on the PayWall. But maybe they are somehow visible somewhere else? And even switch to or able to buy by customers? So is it safe to leave them in de Console (otherwise I have to delete the app in de PlayStore and make a new packageID with all the extra work)What do you guys think? Any advise? PlayStore Console:
Hi RevCat community Ok this might be bit of a strange question, but I've been inspired by what Duolingo have done with their recently announced family plan, where you can invite up to 5 others and only a single subscription is required (annual only, at higher price, which is smart). I’m assuming with Aliases that RevenueCat would support a user inviting another user and that user not having to go through payment process as they tied to the original user (invitee), and if that original user churned or lost their entitlement, that all aliases on that same ‘purchase record’ would also lose access? Has anyone else seen apps do shared subscriptions, beyond what apple offers with Family Plans. I know Spotify do duo plan.
Hey,because of how our subscriptions work in general, we have decided to not use the RevenueCat SDK to create purchases, but announce them to our own API, which will in turn make an HTTP call to RecenueCat’s /receipts route, passing the neccessary data.Arguably the most important piece of data is the fetch_token from the app store.The problem arises when we’re trying to run automated integration tests via our CI server - without doing an actual purchase on an actual hardware device, we won’t have a valid fetch token, so the API will always answer with the (reasonable) error: "The receipt is not valid.".So my question is two-fold:is there any way to simulate a purchase for testing purposes? how to others solve the testing issue?Or is our use-case really this particularly rare?Regards,Markus
Hi everyone,I’m looking to figure out a way to reset or extend a users free trial. At present, we have successfully set up an In-App Subscription on both iOS and Android with a one week free trial. We then hope to send the user a notification or email when their trial is almost over prompting them to refer a friend to the app, which they will be rewarded for by extending the trial for another week.The refer all mechanisms is fairly easy to do with deep links, the question is once we have detected that a user has successfully referred a friend, what is the best way to extend their trial? Additionally, I’m still trying to work out how this plays with Apple’s terms of service - it seems to be within the rules but any thoughts would be appreciated.Thanks everyone!
When tracking webhook events and also using the API, there are data discrepancies how field values are presented or formatted. One such case is the Subscription#period_type. In a webhook event the value is uppercase but in the api it’s all lowercase. Another is the use of both millisecond timestamps and ISO 8601 datetime string. This makes for very awkward handling of RevenueCat’s data in our codebase. Granted, I realize this is not easy to reconcile in existing APIs but in the future I would hope the company can adopt standards for these fields that they stick to across their platform.
Hey everyone, I’m curious what folks’ approach is regarding the Epic-vs-Apple decision? Is anyone making plans already to explore linking out of the app to a web paywall? Or are you going to wait and see how things turn out?At RevenueCat, we’re currently playing around with a few options to support potential use cases (of course, pending what exactly will and won’t be allowed), and I’d love to get a feeling for the level of interest in the topic.JensHead of Product @ RevenueCat
We change our prices time to time on store and when the prices increase and customer cancel and resubscribe, they usually email us through support.Is there a way we can modify the price on revenue-cat for specifically for disappointed customers. How can we compensate these customers with some kind of offering?
Hey,I'm looking at my churn dashboard and I'm wondering wether our monthly churn and our annual renewal rates are good or bad compared to most consumer apps. I guess there is probably a pretty big variance depending on pricing and type of app, but it would still be nice to hear some data points from other consumer apps. When googling I find mostly data points from B2B SaaS which is a totally different animal.Can anyone share benchmark or a few links that explore this? Cheers,Florian
Is there a way to display a specific product on the sales screen?The sales screen in my app is being controlled through my backend,with the way that the screen is built it’s important that i’ll have control over the specific In-App Purchase that’s being fetched.so if i can use the package identifier to fetch the product that would be great!unfortunately so far i haven't found this option or code in the docs...
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.