Discussion and help from anything related to RevenueCat.
Recently active
We have recently launched promotional offers to our subscribers, and we know that some users have been purchasing them.Unfortunately, it seems that we do not see a transaction for a user purchasing a promotional offer in RevenueCat.We are effectively blind as to who has purchased an offer, and who hasn’t. This makes it difficult for us to provide support to users who have questions regarding payment etc.Question: if a user is not yet at the end of their existing subscription and they purchase a promotional offer, should we see the transaction inside the receipt and therefore in the RC dashboard immediately?
How can i Revenue cat Debug Log into any sheet or firebase. one of my user facing issue with subscription. now i want check revenue-cat log. and i don’t have any option to debug that case on my machine because user is not providing his credential.so i thinking to add debug log into bulid and provide that bulid to user. so i can read or check those debug log
Is there a way to chart the avg number of days between an app install and trial start?
I have 4 buttons in my app for subscription and one time purchases. In android when we click on button its immediately loads pay-screen but in iOS its take some time to show pay wall. How to show a progress dialog until pay wall loads? I am using like this below!onClick: () async{ await Purchases.purchasePackage(package!);}
Hello,I’m trying to grant users by writing to their userID, with a Webhook. When the Webhook triggers, and I get the original_app_user_id I search which user with this original_app_user_id is requesting a purchase, so I’m sure it’s this userID. ( see attached the code to query ) I update the original_app_user_id to the db right before I make a purchase from the iOS SDK by requesting purchaseInfo. Does it seems to be a good way to do it ? or I could face bad scenarios ? If a change might happens to the original_app_user_id will it be before, during or after the purchase ? PS: I’m using Transfer now (and before I used Aliases) Thank you, async function returnCurrentUid(original_app_user_id){ const querySnapShot = await fb.collection('in_app') .where('original_app_user_id', '==', original_app_user_id) .orderBy('request_date', 'desc') .get(); if (querySnapShot.empty) { return 'Unknown' }; const uid = querySnapShot.docs[0].id; return uid; };
I’ve been using the Amplitude integration to help understand my customers better, but I can’t make the data there reconcile with RC. Because I’m focussing on converting users, for the purposes of this question I’m only interested in new subscribers and one time purchases.Here’s the revenue chart in RC for last week:https://cln.sh/MN7GLCIf I extract what I think is the same data from Amplitude here’s what I get:https://cln.sh/4fb2dLThe timezone on my amplitude project is set to UTC, which I understand is the same as RC (I’m in the UK anyway so UTC is good for me :) Is there something else I missed? The Amplitude numbers are always lower by varying amounts, this makes it hard for me to be confident doing experiments, especially with pricing.
Hello,I don’t seem to be able to configure Stripe events (done in a web app) to be sent to Adjust. The event seems to be sent to Segment/Amplitude/Webhook but not Adjust.Also there is no cancel event (I cancelled the subscription right away) Thank you.
This issue only occurs in the iOS production environment. (It does not occur in the sandbox)I have confirmed it on iOS 14 and 15. I’m using `Purchases.restoreTransactions()`. (cordova-plugin-purchases 2.3.1)[Log]```15:14:27.024184+0900>>[Purchases] - DEBUG: ℹ️ Force refreshing the receipt to get latest transactions from Apple.15:14:28.693200+0900>>[Purchases] - DEBUG: ℹ️ Loaded receipt from url file:///private/var/mobile/Containers/Data/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/StoreKit/receipt15:14:28.694566+0900>>[Purchases] - INFO: ℹ️ Parsing receipt15:14:28.696696+0900>>[Purchases] - INFO: ℹ️ Receipt parsed successfully15:14:28.697186+0900>>[Purchases] - DEBUG: ℹ️ Found 0 unsynced attributes for App User ID: $RCAnonymousID:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15:14:28.703572+0900>>[Purchases] - DEBUG: ℹ️ There are no requests currently running, starting request POST /receipts15:14:28.703855+0900>>[Purchases] - DEBUG: ℹ️ API request starte
I’m having trouble wrapping my head around what’s going on, but I’ll lay out expected results, and actual results below. Two Scenarios, two different issues. Scenario 1:Application is installed Anonymous user makes a purchase User logs into account RevenueCat.Login()Expected Results:The newly created user now has the membership entitlements. Actual Results:The newly created user does not have any entitlements until I restore purchases or attempt to purchase the subscription again. Important Notes:I tried out Revenue Cat about 5 months ago then came back to it now, so is it because maybe the user already existed from my old attempts causing the identities not to be merged? Scenario 2User A purchases Subscription Relaunch App User A RevCat Login User A RevCat Logout User B RevCat LoginExpected Results:Only User A has membership entitlementsActual Results:Whichever user logs in has membership entitlements
Hi,I recently ran an experiment to test a 3-day vs. a 7-day trial. I would like to see some numbers that are currently missing from the report (like trial conversion rate), so I’m wondering if there is any way to export the data from an experiment?Thanks in advance!
in flutter when i try to fetch offerings ,its showing empty list,but i added products in google play console and configured in revenceCat also,i dont know why its happning to me.
Dears,We're already using the Google Real-Time Developer Notification on our server. If you can provide Play Store Notification URL for our app (21f8b861), we would like to send the payload to RevenueCat. If we can use an existing Pub/Sub topic with RevenueCat, we also want to know how to implement.Best Regards,
I have an app that is currently in the iOS App Store using RevenueCat for a one-time in-app purchase to unlock all the features.Current App • Version 4Bundle ID: com.example.version4I’m soon going to release version 5 of this app, but it’s going to exist side-by-side in the App Store with the prior version and have its own, new bundle ID.New App • Version 5Bundle ID: com.example.version5From within version 5, I want to be able to query RevenueCat to see if the user has a version 4 license so that I can upgrade them to version 5 for free.How can I check for the user’s prior purchase from within an app that has a different bundle ID?
Hi everyone, I’m wondering what is the data source of purchase event date and time? Is it user device time? Thanks ahead!
Hello,We have the Amplitude integration enabled and noticed our revenue numbers in Amplitude were higher than expected because the events from RevenueCat are not always normalized to USD. Is there a way to have all RevenueCat events normalized to USD to Amplitude? Amplitude doesn’t support currency conversation based on this, so would be great if RevenueCat can normalize the currency.We saw this post claim that currency should be in USD so not sure if what we’re observing is a bug. Below screenshot is an example of an event using GBP currency instead of USD. Thanks!
When trying to make a purchase in the sandbox for Apple TV I receive ERROR: 🍎‼️ There was a problem with the App Store. To get around this problem I have to log out of my sandbox account on the TV and immediately log back in. This resolves the issue for 10 minutes or so when I then have to do the same thing again. Rinse and repeat. Outside of continually logging out and back in again, what can be done to more permanently solve this issue? This does not give me confidence to put something in production. Full error details: Optional(Error Domain=RCPurchasesErrorDomain Code=2 "There was a problem with the App Store." UserInfo={readable_error_code=STORE_PROBLEM, NSLocalizedDescription=There was a problem with the App Store., NSUnderlyingError=0x280058810 {Error Domain=SKErrorDomain Code=0 "An unknown error occurred" UserInfo={NSLocalizedDescription=An unknown error occurred, NSUnderlyingError=0x28007ba20 {Error Domain=ASDErrorDomain Code=500 "Unhandled exception" UserInfo={NSUnderlyingEr
I noticed that setting a default price for a in-app product is not inclusive of tax. We are not VAT registered so we dont want to charge tax on our products. Does that mean I still need to set the default price inclusive of tax?For example we sell an in-app product for £39.99, however if I put in £39.99 as the default price, then the price will be £47.99 for the user as Google automatically adds on the 20%. So I presume I need to set the default price to £33.33 which will equate to £39.99. Does this mean that Google will withhold the 20% even though we are not VAT registered? Or will Google give us the full £39.99 and just take their 15% commission?
Really exciting news about the new subscription sharing between apps feature.I had already set this up using RevenueCat and some custom server and client side code to enable users to access their subscriptions across multiple apps.Now that our apps have been auto migrated to projects, I’d like to have them all exist as one project with several apps. Is there a process to do this? In my specific case, I have 2x iOS and 1x macOS app, each with their own subscriptions at identical prices with my custom logic unlocking the entitlements across the apps when users sign in. It would be much easier to have RevenueCat handle this.Thanks in advance!
Hello guys,This is my first app with in-app purchase (monthly and annual subscriptions) and first time I use RevenueCat.Platform: iOS, SwiftUI, Xcode 13.1Purchases version: 3.13.0My suggestions:I have successfully setup free trials in App Store Connect, but I did that few days later after connecting App Store and Revenue Cat product and entitlements. I suppose that might be the reason. What is the best way to correct the situation? If this is the case? I have used my device during tests before publishing the app in the App Store and now when I use this device with real app it may “remember” it and thus decide that I’m Not eligible for trial or introductory price. Or the device does not matter and Account ID matters? I used test accounts in App Store connect.Please advise where to start and how to check it properly. I’d appreciate any suggestionsThank you!
I have one consumable product in my iOS app that doesn’t link to any entitlements as recommended in the docs:If you have non-subscription products, you may or may not want to add them to entitlements depending on your use case. If the product is non-consumable (e.g. lifetime access to "pro" features), you likely want to attach it to an entitlement. However, if it is consumable (e.g. purchase more lives in a game) you likely do not want to add them to an entitlement.Right now I’m using the transaction history to keep track of the purchases and unlock in-app content accordingly. Not sure what’s the best approach for this to correctly handle refunds.
A few weeks ago I was experimenting with transferring subscriptions if a user makes a logout or logs in with their login ("test1") from another device. Until recently, subscriptions were transferred to another device or login, but were canceled on the old login and device. Now I observe that it is enough to enter user Id on other devices and all devices will get a subscription, even if they have different google account. Anonymous ids are added to the "test1" account. So even those devices where the user left the account get subscriptions. It turns out that users just tell each other userid and everyone can buy a subscription to only onсe. How to restore the behavior where a user can use only one device and can't share a subscription only by passing his userid?
I am wondering when you have subscriptions and they are on auto renew does the active subscriptions go empty after the first initial subscription?I am testing this in google and the active subscriptions to go empty I believe this would be after the second auto renewal , is this normal ? activeSubscriptions: {subscription={expiresDate=Sun Dec 05 14:03:22 GMT 2021}}, activeEntitlements: [], entitlements: [], nonSubscriptionTransactions: [], requestDate: Sun Dec 05 13:56:30 GMT 2021
Context:My app has 2 subscriptions, monthly & yearly. They unlock the same content, so they are technically within the same “subscription group” as apple references them.The app has added one-time codes to the yearly subscription, which I made redeemable via Google Play (deep link from app to Google Play). Issue:The issue that I am having only happens to users who are currently subscribed (eg. to the monthly subscription) and redeem the (yearly) promo code via Google Play.Currently, to “upgrade” a user’s subscription, I have to provide `UpgradeInfo` to the `makePurchase` method. However, if the user makes a purchase/redeems a code from outside of the app, there is no way for me to upgrade from their current subscription. Questions:Listening to outside purchases:How can I listen to a purchases outside of the app to perform an “upgrade”? If I were to receive this outside purchase, how would I upgrade their subscription?Are there any other solutions to this that I may not be aware of?
Hello,We have a use-case:User is active subscriber on a monthly plan They trigger `redeem` functionality They get 1 month free from their subscription (meaning next month they are not getting billed, however month after that - they are getting billed again)We know that via RevenueCat it’s possible to make if user is not a subscriber. However, would that work for subscriber’s case? If it’s not possible - what would be recommended scenario for implementing this case? We would like to explore possibilities to give not only 1 month free, but also other various durations.We were also thinking of this scenario:User is active subscriber on a monthly plan They trigger `redeem` functionality User sees `offer` page with `1 month free + regular monthly` billing They claim the offer User’s previous subscription period ends, their new subscription starts with 1month freeWould that work? Ideally - `entitlements` would make it much easier as we would not need to create any extra offers.Best
I’m getting invalid product identifiers after updating the SDK to the latest version. RevCat was working perfectly before the update. Any suggestions on how to fix it or should I report it as a bug?
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.