Discussion and help from anything related to RevenueCat.
Recently active
Hello, im using the “Transfer to new app user id” method. I don't want to use a auth system in my app. Im using the Webhook to grant users 10 free credits on INITIAL_PURCHASE and tracking the original_app_user_id and aliases in my backend. There is a problem though, when I reinstall the app on Android, the original_app_user_id changes and the old one is not included in the aliases array. So basically I use the same google account on my device but revenuecat references a different user after reinstall of my app and after cancellation of the subscription. My expected behavior is that the userid is bound to one google account and I don’t want that entitlements get transferred if user logs in with another google account. The user should be able to restore purchase if logged in with the same google account the purchase was made on and it should not be bound to the device.how to handle this without creating a auth system in my app?thanks in advance
Hi! I work at an app that uses subscriptions. I implemented with revenue cat and I test using sandbox environment on iOS simulator. For communication with our backend I use web hooks. For The first subscription it triggers the INITIAL_PURCHASE event and at every five minutes it triggers the RENEWAL event. When I cancel the subscription it send the CANCELLATION event but, it not send the EXPIRATION event at the following RENEWAL. Please explain me how it works the expiration event and how to send an expiration event web hook to test our integration. thanks
Hi,Is there a way to edit the style of a Paywall beside the web editor? On an iPhone 7 we get a big blank space on the top of the screen and the feature section is really small. You can see a video of what it looks like in the attached file.
HelloLately, every 10 out of 10 new apps are being rejected with the reason: Guideline 2.1 - Performance - App Completeness. The reviewer does not see the submitted subscriptions in the first version of the app.After discussing with other teams, it turns out that this issue is not only affecting me but others as well, though it’s not widespread. The app settings are correct. We’ve built over 80+ apps, but this issue only started occurring a couple of months ago. Interestingly, if you resubmit the app around 10 times, it might eventually get approved, as somehow the reviewer begins to see the subscriptions.Recent observations suggest that the problem isn’t with RevenueCat or the programming language itself—other teams have faced the same issue. What are you doing about this? How are you solving it? It’s becoming impossible to work, as app reviews are taking 2-3 weeks to complete.From what we’ve noticed, this issue became particularly noticeable around 2-3 months ago.
Hi all,New to RC - in fact, new to front-end and app development altogether. I am developing an app using Expo and using RevenueCat for IAP and subscription which from I can see, works quite well.I see that there’s the meta data for each offering which I can configure and then download from the client side but I can’t see any examples on how I can impact RevenueCatUI.PaywallFooterContainerView / Paywall is rendered?Is it a supported feature or would I have to manually create a paywall component using the meta data? The documentation shows how to do this on Kotlin only https://www.revenuecat.com/docs/tools/offering-metadata/offering-metadata-examples Thanks in advance,Ray.
I’m seeing this error pop up in production only, through Sentry logs. It is intermittent -- it looks like most users are able to subscribe successfully. And, I know that in some cases this may be a legitimate situation where someone clicks purchase and then cancels out of it.However, I see this happening a lot more than I would expect if it were just that situation. In addition, I have specific reports of users trying to make the purchase and seeing an error message in my app. When I triangulate that back to the Sentry issue occurring on that device at that time, it’s the “Purchase was cancelled” error.So my question is, if the user is saying they are attempting to purchase and not canceling it, but they are still getting this error back from RC, how can I further debug?For additional context here is the complete error I get back from RC. Again, this happens intermittently when users attempt to make a purchase, even if they state that they did not cancel it:{ code: 1, message: Purcha
Hi everyone, when a user creates / restores a subscription in the application - how can I get his store account (mail)? or any other identifier associated with the store acount/subscrition id. which will be the same on another device. is it possible? I didn't find it in documentation/examples.
When I use the price string from the API, we see 12.99 like we have in the Apple app store. However, when I access the price itself in the Flutter client library, I see 12.989999771118164. I am not manipulating this price at all, I am printing it directly from Flutter lib. Do you think this is: 1) Apple weirdness 2) RevenueCat API bug OR 3) Flutter bug?
HiAre there any plans to add Samsung Galaxy store and Samsung Tizen (TV)?D
Hey there, good morning!I have this React Native app, and I have 2 separate environments for it: TEST and PROD. Naturally, both environments have separate DBs and users. My app is not live yet and I'll soon be integrating with RevenueCat, and I have a few questions on how do that, especially when I'm using the TEST env.Question 1Should I have separate RevenueCat projects for TEST and PROD? I believe it's best to try and avoid this, as it sounds it might get too confusing, handling multiple API keys, etc. This is an indie project, btw.Question 2Is it a good practice to upload TEST builds to the app store for testing? I'm assuming the best practice for sandbox testing is to always use PROD builds.Question 3Assuming I'll have a single RevCat PROD project and doing sandbox testing with PROD builds, that means that my TEST builds won't have any connection with RevCat/stores whatsoever. How to handle the RevCat-related code in my TEST env?I guess I'll need to check for the TEST env and bypas
Hi folks,I'm experiencing some issues with handling pending purchases in our app. Let me first outline the scenario:We have a consumable product that users can purchase repeatedly. Each time a user makes a purchase, we store tokens in Firestore collection associated with their Firebase Auth userId. We've also integrated RevenueCat with Firestore to log purchase events and we are using the same AppUserID in revenue cat as the Firebase Auth userId to keep data in sync.The issue arises when I test purchases using the “Slow test card (approved after a few minutes)” option. With this, the purchase initially goes into a "pending" state. I know that reopening the app later will register the purchase under the correct AppUserID in both the RevenueCat dashboard and our Firestore collection tracking RevenueCat events.I've read articles suggesting solutions, such as setting up a listener or periodically calling getCustomerInfo() to monitor for updates. The goal would be to automate this so that i
I am integrating RevenueCat into both my iOS and Android applications, and I've encountered an issue with how purchases are assigned to customer IDs across different logins: On iOS: When I log in with Account A, set the customer ID to A (with revenuecat’s login), and make a purchase (not subscription), the purchase is correctly associated with customer ID A in the RevenueCat dashboard. However, when I log out and log in with Account B (in my app), set the customer ID to B (with revenuecat’s login), and make another purchase, the new purchase still gets associated with customer ID A instead of B. On Android: After logging out of Account A and logging in with Account B, the new purchase correctly associates with customer ID B as expected. I've already set the “Restore Purchases Behavior” in RevenueCat to “Leave purchases on the original App User ID”.Expected Behavior: My expectation is that purchases made by customer A should only be associated with customer ID A, and purchases by cust
I have created a product in google play console, and I also created a revenuecat product with the same id, but the the following line of code returns an empty array.// Fetching all products by passing an array of their product_idconst products = await Purchases.getProducts(['product_id']);// Printing the list of products available.console.log(products); // Example response:[]Project info:Expo SDK version: 45 React native: 0.68.2 react-native-purchases: 4.6.1 Device tested: android
Hello, It’s unclear from your documentation what the recommended approach is when a company has two subscription levels (e.g. Basic and Pro). The Entitlements documentation clearly shows two separate subscription levels of “gold” and “platinum” in the images (below), but then the Offerings documentation only really explains what to do if you have a single subscription level (and then you choose the Monthly, Annual, etc identifiers). The recommendations on the forums seems to go from “use separate offerings” to “use a custom identifier”. Based on the example image you have on the entitlements documentation below, I’m assuming you’d recommend keeping both tiers in a single offering, but using customer identifiers instead of the default ones (e.g. gold_monthly, gold_annual, platinum_life, etc).I’d strongly encourage you to add this 2-tier setup to your Offerings documentation, since it’s a very common scenario, and it was really unclear to me what the best approach was. Thank you!
We use react native and want a hard paywall. The issue is a user does the onboarding flow > sees paywall > can swipe down or press “x” and it goes. Even if a user goes off the app then back on, the paywall won’t pop up again. Is revenuecat paywalls only worth doing for freemium business models? If so this should be highlighted upfront.
I keep getting rejected in the app store for the same thing - a black screen on load. I’m unable to reproduce the error on my end no matter what I do, whether in the simulator or on a real device, new install or whatever. All the review team give me is a screenshot of a black screen and tell me that’s what they get on launch. I can’t fix it because I can’t reproduce it, all I can do is add a time out on the revenue cat loading so it still gets past that point.I get barely any information out of them as you can image, so I have no further specifics and normally they approve it after the second or third time anyway because it probably manages to load or something. But every time I add a new update half the time they reject it again for this same black screen issue..There’s literally zero problems with the app, the subscriptions or how they are set up - everything works perfectly. Why do they have a problem with revenuecat loading in their review environment?
We have subscriptions setup in our app however our client wants to see which users from our database are subscribed. Is there a way to pass in an email so that we can query the revenuecat API to get a list of subscribed users and email, or to see on the customers dashboard the emails of those who are subscribed? Any advice will be appreciated. :)
Hello RevenueCat Support,I’m currently running an experiment where new users are enrolled into a test offering, which provides a specific offer (e.g., Offering B). However, I’ve encountered an issue with returning users who reinstall the app:When a user who previously used the app and uninstalled it re-downloads, they are treated as a new user and enrolled into the test offering as expected. Upon purchasing within this test offering, their purchase history associates with their old user ID, causing them to revert to the default offering rather than retaining the test offering they were enrolled in.Could you advise on the best approach to avoid this issue so that users in this situation continue to receive the test offering (e.g., Offering B) even after restoring their previous purchases? I’d like to ensure experiment consistency and prevent unexpected default offering switches for returning users.Thank you for your guidance!
Hi everyone, I’m having a problem with RevenueCat on my application, it’s giving me this error: And on my Application it works in the Xcode environment how can I solve this problem thank you! :
Hi,In my Flutter app I am using ‘purchases_flutter’ (6.2.0) for IAP and everything is working fine with Google or Apple stores. However Amazon IAP is not working - getting following error when call ‘offerings = await Purchases.getOfferings();’:‘Timeout error trying to get Amazon user data’It seems that error returned from server side, any chance to clarify what can cause this error? I reviewed all configuration on both, RevenueCat and Amazon, everything seems according to docs.
I've set a 30-day trial for the annual plan and a 7-day trial for the monthly plan in Apple Store Connect. However, the paywall is not displaying the correct trial periods. it shows 7 days for annual and 14 days for monthly, How can I resolve this issue?
Hello,Whenever I submit a build, the Google Play Store (and possibly the App Store) automatically runs a series of tests they’ve created. If I submit multiple builds in a day, the number of test interactions can exceed the number of actual users who downloaded the app that day. I don’t have a login page, everybody can use my app anonymously.Is there any way to exclude these test users from the RevenueCat dashboard? They significantly skew the free trial start statistics.
Now Apple requires privacy manifest for each third party SDK. We are using revenue cat 6.10.0 and there is no xcprivacy file inside this revenue cat for unity version. Where can I get xcprivacy for revenue cat to use it in unity3d project?
Hello, Team, hope you are doing well.I upgraded revenueCat module to latest one in my ionic/angular project.this is the module in package.json"@revenuecat/purchases-capacitor": "^7.3.1"it’s working on xCode without issue.but I can’t build android build on Android Studio.Execution failed for task ':revenuecat-purchases-capacitor:compileDebugKotlin'.> 'compileDebugJavaWithJavac' task (current target is 17) and 'compileDebugKotlin' task (current target is 19) jvm target compatibility should be set to the same Java version. Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.This is the error log when building. if I use old package, the android build will work without error."@awesome-cordova-plugins/purchases": "^6.4.0""cordova-plugin-purchases": "^5.5.1" Can anyone help me to resolve this issue?
Hello, I have detected what appears to be fraudulent activity. In October, one of our apps (older, unmaintained) reported unusually high revenue (~4x). I found the anomaly in Mixpanel: 49 in-app purchases where made from Tokyo between October 4 - 13th. Each of these users literally opened the app, started a 7-day free trial, and never returned. In every single case. Strangely, most of these trial converted, resulting ~4x the normal revenue. My app did not experience any boost in ratings or rank (49 downloads wouldn’t really move the needle here). But it did see a steep rise in revenue. As far as I’m aware, this “IAP attack” hasn’t occurred in any other app we operate, nor is there any impact on private API/backend resources. QuestionWhat kind of attack is this? Should we report it to Apple or might that backfire into a suspension? Would greatly appreciate any insight on this.
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.