Discussion and help from anything related to RevenueCat.
Recently active
I’d love to segment certain charts by offering to analyse conversion rates. Right now I can filter by offering, but it’s tedious when I want to see a side-by-side comparison. Initial conversion, conversion to paying, trial conversion are the charts I’d be most interested in.
Hi there,I’m new to RevenueCat, and what I would like to know, is if it’s possible to manually activate user licenses/entitlements from the Dashboard (or API), independently of the AppStore? Let say I want to offer a lifetime license to someone, should I hard-code it on my side, or is it doable with RevenueCat? If so, do I have to create a lifetime iAP on AppStore Connect, that should be “hidden” to public, but that I can activate for the users I want with a promo code? Or can it be easier? Thank you!Thomas
Hello,I would greatly appreciate it if you could provide guidance on transitioning from Glassfy.Background:iOS app only Capacitor framework Currently, the App Store version uses Glassfy. I have a fully prepared version that supports both RevenueCat and Glassfy (I can choose which module to use).I've outlined a few points below. Could you please confirm if my understanding is correct for each of them? Can I, without releasing a new version, configure App Store Connect to send data to RevenueCat, and set up a redirect from RevenueCat to Glassfy? Would this work, with new purchase data being duplicated in both services? In parallel, I plan to request a data export from Glassfy and use your API to import this data into RevenueCat. Once that's done, I should be able to release my new version, which can theoretically drop Glassfy support entirely and rely solely on RevenueCat. Users who make purchases in the time between my CSV import and the release of the new version will need to man
Hello, I have installed the necessary play store and google cloud console for my android mobile application. I did it according to revenuecat documentation and videos here.I published my application in closed test and enabled license test. Test users can subscribe successfully. (I can see this in the sandbox data section)After seeing that it was successful in closed test, I opened it to all users in the production phase and uploaded a new apk.As a result of the review, Google rejected it. They said the problem was that the subscription could not be made. The subscription options were listed successfully, but when they wanted to make the payment, the following error message appeared:The item that you were attempting to purchase could not be found.
Hi, I recently moved away from Stripe on the web, the main reason being that Stripe is not a merchant of record. I think Lemon Squeezy is the most popular alternative that is a merchant of record.Are there any plans of adding support for Lemon Squeezy as a payment alternative for the web?
When I try and delete a product it says “There are transactions in the system using this product.”I’m not sure how to find and remove these transactions. I’m on the free Revenuecat tier at the moment. Do I need to upgrade?
Cannot generate In App Purchase Key , my apikey just 10 and max 50. clear cache and change browser cant resolve it.
We are seeing Attribute - ATT Authorised but IDFA 0000…At the same time our MMP (singular) and Meta seems to miss many if not most of our ATT installs (seems like 70% discrepancy from internal tracking of ATT authorised)Any idea? Dying to know...
Here is the situation I’d like help with:User is on iOS 14.5+ User does NOT accept ATT prompt - i.e. IDFA is not provided. The goal: Run facebook ads to maximize the number of purchasing users or to maximize the value of users subscribing to the app.If the user does not accept the ATT prompt, in that case facebook uses Apple’s SKAdnetwork for attribution.Does the Facebook Ads Integration in Revenuecat work for users who do not accept the ATT prompt - i.e. will Facebook be able to attribute purchase events to the correct campaign? I don’t think this would work, since I believe SKAdnetwork only works with local events in the app, not server to server events such as this Facebook Ads Integration. I believe that in order to be able to optimize Facebook ads for this use case, we need to track the events we want to optimize for (i.e. start trial / purchase events) locally in the app, then correctly configure the conversion values for SKAdnetwork and not send server to server events such as v
I’m playing with a sandbox account and trying to disable premium features when the entitlement is no longer present. I have tried using the following code:Purchases.shared.getCustomerInfo { customerInfo, error in self.isActive = customerInfo?.entitlements["premium"]?.isActive == true}Setting a @State-var named isActive. It does get set to true when I make a test purchase, but when I cancel the subscription I never get false. If I kill my app and relaunch it I get an updated value saying false. How do I detect that a subscription/entitlement has expired between app launches? It seems everything is cached until I kill the app and then launch it again. I want the status to be updated at least every time the app enters the foreground. Any best practice for this?
I’m using the .presentPaywallIfNeeded(requiredEntitlementIdentifier: "Premium", presentationMode: .fullScreen) in SwiftUI. I like to use a hard paywall. yet I don’t see the option in anything else then React Native. Why isn’t this option available for SwiftUI
Hi! In my flutter app, the Google Play team found an error in the subscription screen. I use a code like below to show the price: Text( widget.package.storeProduct.introductoryPrice ?.priceString ?? widget.package.storeProduct.priceString, style: TextStyle( fontSize: 18, fontWeight: FontWeight.bold, color: Colors.black, ), overflow: TextOverflow .ellipsis, // Handle overflow with ellipsis),The PLN is okay, but the Google Team from India has INR, and it shows 0. I don’t know why or how to fix or even test it. As you can see the price for the month is ok. I use here code: TextSpan( text: widget.package.storeProduct .currencyCode ?? '', ), TextSpan( text: " " + (widget.package.storeProduct.price / 12) .toStringAsFixed(2), ), TextSpan( text: "/" + context.tr("month"), ),],
I created 3 products (Monthly subscription) for Revenuecat Billing app as below: And I created 1 offering including 3 packages corresponding to the 3 products above, just like:Then I developed a subscription page based on RevenueCat Billing's web SDK. I first subscribed to the Basic plan, and after the subscription was activated, I subscribed to the Premium plan with the same account. At this point, both subscriptions became active, and the Basic plan did not automatically cancel as expected.So how can I achieve subscription switching so that only one subscription is active at a time?
I'm navigating the tricky waters of mobile attribution in 2023 for our iOS app and could use some community insights. We're looking to collaborate with affiliates and influencers and are hoping to attribute post-install purchase events to individual affiliates/campaigns etc. Ideally, we’d like to avoid having to display the AppTrackingTransparency (ATT) prompt and be able to honestly answer that we do not fall under Apple's definition of “Tracking” in AppStore Connect. As you will know, the mobile attribution market is adapting to many changes in privacy standards, so this isn’t straightforward. Option 1: Deep LinksWe're considering using deep links tied to individual affiliates/campaigns. Is this viable when users haven't consented to the ATT prompt? Without the ATT agreement, how would this affect the capabilities of attribution partners like Branch.io or AppsFlyer?Perhaps relying on SKAdNetwork integration and other techniques? I haven't gotten a straight answer on what impact this
Revenuecat and Facebook ads integration seems to be working properly, events manager is collecting data for trial and subscribe events. However when targeting Subscribe event in a campaign (IOS 14.5+) the results are showing low to 0 subscriptions, while having a big number of trials in that campaign (campaign has been running for over a week now with no subscriptions which is very odd considering the optimization goal is the subscribe event). Wondering if anyone else faced a similar issue with event targeting?
In the Sandbox environment, I noticed that whenever I would try to change a subscription to another one, not only the PRODUCT_CHANGE event will be triggered on the webhook but also simultaneously an INITIAL_PURCHASE event is also triggered.I’m testing on a physical android device.According to this article, it shouldn’t be. In my opinion the more natural way is a PRODUCT_CHANGE followed by a RENEWAL when the new price comes into effect. Edit: This is a screenshot from the Customer history where the in ‘my opinion’ issue is shown
Hi, I’m using the PaywallView in my app after the user creates 5 records. When the user tries to add a record greater than 5, the Paywall displays.However I don’t know how to update my logic if the user successfully purchases a subscription. The Pay wall dismisses after “you’re all set” displays. Is there a callback I can use to update the local state of the subscription? Does .sheet(isPresented:_) have an onEnded or the like where I can call Purchases.shared.customerInfo() ?I can check the in a task when the view loads… but not sure how to update the state during/after the purchase
Hello, I followed step on docs however, I can not get offering and error says: There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). More information: https://rev.cat/why-are-offerings-emptyI saw there are many other developers have same issue but no solution. This was the my first time to use revenue cat but I think I will implement my own way because of this issue. Thanks,
Hi all, I have implemented RevenueCat with my expo / react native project however I am running into a reoccurring issue where ‘customerInfo’ is not returning from my Purchases call. I am testing in sandbox and only on IOS (using my iphone on a dev server through expo). Maybe 1 in 20 attempts ‘customerInfo’ is returned from my purchase function. Otherwise the purchase function runs, makes the purchase (I receive all of the typical IOS messages regarding the purchase being successful and can see it listed in my sandbox account on the phone) but the customerInfo object is never returned, and the rest of my code just hangs. I have tested the purchases by removing the async call - obviously not ideal allowing access to the user before the purchase is made, but for testing everything works. The purchase is made and the user is logged in.. so I am not sure why I am not receiving the customerInfo object. Hoping for some assistance or an idea if I am handling the config or purchase incorrectl
Hi RevenueCat Community,I am working on a project that requires setting up multiple webhook URLs within RevenueCat to handle different aspects of our subscription events. Specifically, I want to understand:Is it currently possible to configure multiple webhook URLs for a single project in RevenueCat? If not, are there any recommended workarounds for routing webhook events to multiple endpoints? Has there been any recent update or feature addition in RevenueCat that addresses this requirement?Our goal is to streamline event processing and ensure that different services in our system receive the appropriate subscription-related notifications.Looking forward to your insights and advice.Thank you!
Hi, Please let me know how I can create two webhooks in the same project. One for Development server.Second for Production Server. Waiting for reply asap. Thanks
I has happened 2 times now in the past week. An IOS user has payed for a subscription and can show that the Apple app store “Subscriptions” section shows that they are subscribed, but when the app checks RevenueCat, that users comes back as not subscribed. Is there a way this can happen without it being a bug? I cant see where or why this this missmatch would happen.
Hi RevenueCat team,My app has been rejected multiple times due to an error in the Google Play Console: “The item that you were attempting to purchase could not be found.” This error appears for the Google app reviewers, but the app successfully passed review on the App Store and has been released.I tested the app by adding my email to the license testing section in Google Play Console. However, it seems that the Google reviewer is not on this list, which may be causing the error. Are there any specific steps I should follow to ensure the app passes the review process?I also came across a discussion mentioning the same issue, but I’m not sure what changes I need to make to resolve this. Any guidance would be appreciated!Thank you!
Hey everyone, I have a question about handling subscription events in my iOS app. I have set up the SDK & can fetch current user subscription status but I am not sure about the best way to manage real time updates when a user upgrades, downgrades or cancels their subscription.Do I need to manually poll the server for changes or is there a way to get notified instantly? Also if a user switches plans mid cycle how does RevenueCat handle proration??During my research I have come across the idea of integrating tools like Google Cloud Platform for monitoring and analyzing subscription related events. Has anyone tried this & does it add value to the process??if anyone have any resources, tutorials or personal experiences please share with me, It would be greatly appreciated!!Thank you……. :)
Hi,I've set up my Revenuecat purchase and when user purchase it, they have been able to purchase and get the entitlement. But for some reason, it doesn't return the "your purchase js successful" indication pop up by Apple where it should (sometimes it does randomly, not sure how). I am using the custom user id to log user in Revenuecat. Do anyone have any idea why this is happening? Thanks
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.