Get help with anything related to RevenueCat.
Recently active
I see the option to override an offering on the customer page. I’m assuming this doesn’t change the offering the customer has with Apple/Google? The user case I'm tried to cater for is the following: Existing subscriber completes a challenge in app. We reward them with a promotion on their subscription (e.g. 30 days free).From what I've read you can use iOS offer codes, but its messy. Wondering if anyway to setup a promo in RevCat then target specific user IDs by overriding their offering. Likely not but thought I would ask anyway. Thanks all
I am currently building an app in Flutter using RevenueCat for the in-app-purchases.I now want to know for each user, if he has already made an in-app-purchase, since I have trial subscriptions activated. I need this information, because I want to adjust the UI in case a user registers with a new account that I haven't seen in RevenueCat so far. In this case, he won't be able to use the trial subscription again, since Google/Apple prevent this.I am using a custom ID for every user in my app and I use this ID for RevenueCat aswell, one could just create a new account and get a different user id. Ass far as I understand, in this case, this looks like a "new" user to RevenueCat which has no subscriptions. I think the solution would have to check the GooglePlay-Account for an already purchased subscriptionSo far I have not found a way to find out, if a user has already made an in-app-purchase. Any ideas on how to achieve this?Thanks.
The App Store account deletion rule references “guest accounts” as also requiring deletion. Should I assume that “guest” would be analogous to RevenueCat’s “anonymous users” that are automatically generated in RevenueCat? And therefore that these anonymous accounts would be subject to the same deletion rule even though there is no personal user information linked to that id?If so, and I wanted to manually delete the account upon user request, what would be the best practice method of obtaining the anonymous user id so that they could be manually deleted? (I have no server for the app). Thank you!
I have implemented consumable in-app purchases with revenue cat and wanted to use the anonymous ID (“$RCAnonymousID:…) to keep track of the purchases a user has made. This seems to work fine until a user reinstalls the app or I upload a new version of the app. I call the restore function to get previous purchases but if I check the ID with the originalRevenueCatID method I get a different ID if I reinstall the appI tested this with TestFlight (iOs) and reinstalled the same version of the app after I purchased something but the purchase is gone and also the ID is something else. Is this because of TestFlight maybe and it should work if I publish the app? Or is this generally not possible?I basically wanted to not force the user to create an account and still be able to keep track of in-app purchases across multiple versions of the same app and of course re installationsHope this is the right place to ask. Would appreciate any kind of advice!
Hi,I am making an app where users can purchase the same subscription multiple times. Is this possible?
Hi all,Im trying to get iOS Code Redemption working in flutter and having some issues.So as per the doc (not flutter specific, so following the API doc mixed with the swift example), and I go ahead and call: await Purchases.presentCodeRedemptionSheet();And then….. nothing happens? Is there anything else that needs to be done in the code after the sheet is dismissed to detect that a purchase has been made via the code redemption sheet? It’s really hard to test as this as it seems as though it cant be tested in a simulator or in debug mode on a real device - so I’m doing it ‘live’ and not getting any really good logging.The “Codes” are attached to an App Store IAP that I do have configured in revenuecat / has an entitlement….I’ve tried to re-initialise the purchaserinfo object & check for entitlements again and its still not triggering in the way it should if an entitlement is detected. Running purchases_flutter 3.1.0 on flutter 2.0.5Anyone have any ideas?
My Xcode app has RevenueCat Purchases.configure(withAPIKey: "myApiKey") which runs fine in a device from Xcode. The same app crashes in TestFlight after 2 minutes even if left alone. I commented out Purchases.configure and it stopped crashing in TestFlight. I need help.
Hey guys. Apparently there has been an update to the Google Play Developer Program Policy where customers “must be able to easily cancel their subscription from within the app.”I was wondering what the best approach for this was. I’m under the impression that cancelling a subscription in-app isn't possible yet? If I’m wrong could someone point me in the right direction?I did come across this thread that says how redirect the user manage their subscription? Does any one know if this method would suffice?
Hello:We have subscriptions setup in our app, but we want to add a consumable product to give the user the same entitlement that he will get when subscription for 1 month, but this time it will be for 1 day only.is there a way to do this in Revenuecat, and is there a place in the documentation that we can follow to setup this kind of process?Our app uses Firebase as backend, and Revenuecat Firbase extension is added to the projectThank you
Our iOS app stopped receiving responses from RevenueCat sometime in the past week. No code was changed on our end and our live app is no longer displaying any subscription options.This call is simply not returning successfully, nor is the failure block called. It doesn't matter what "offering" is - I’ve tried several of our offerings that are registered with RC and that have worked before. Any ideas what could have broken? This has completely broken in-app purchases for us. subscriptions?.fetchPackages(for: offering, onSuccess: { [weak self] (packages) in let sortedPackages = packages.sorted(by: { $0.product.price.compare($1.product.price) == .orderedDescending }) ... //this block is not called }, onFailure: { (error) in //this block is not called })The only thing I see logged in the console is “DEBUG: Vending Offerings from cache”I’ve verified that all of our In-App Purchases are still in the “Approv
Services like Stripe require a secret key and a server to make a purchase. If it was possible to do entirely client-side, wouldn’t Stripe do it be default?
My ionic cordova project can no longer run on IoS since last Thursday and I have no idea why this is happening.When testing the Xcode, the code no longer processes the PurchasesCoreSwift-Info.plist, with results that the entire Purchase folder remains empty and it fails as it can not import from the Purchases.h file. We have a podfile that installs the PurchasesHybridCommon as usual (it might have something to do with that, as we were upgrading the Cocoapods when the error occured, unfortunatelly setting it back to previous versions hasn’t solved the issue.) Is there anyone else who experiences this problem? Or can offer advice where to look?
ContextI’m building a referrals feature that gives users 30 days free access to our subscription. If they’re currently on a trial, it’ll extend it by 30 days. For example, if you have a 7 day trial, it’ll extend to 37 days. ProblemWhen I extend someone’s trial, I don’t see a Revenue cat event for that subscription update. Stripe sends a customer.subscription.updated event, so everything’s fine there.My hunch is Revenuecat doesn’t support this edge case, which would be very unfortunate :/ Any recommended solutions or workarounds? Seems like a core use case to update users when anything on the subscription changes.
We have a monthly subscription in Apple and Google which has 1 introductory offer (i.e. 1 week free trial). Is it possible to create a second introductory offer (e.g. 2 week free trial) on the same product? Ive noticed its possible the create the offer on app store connect but how does the app know which introductory offer to display to the user? We do not want to offer the 2 week free trial to everyone.
My android app is already published in production track and I still cant manage to retrieve offerings. The ids on RevenueCat are identical to the ids in Play Store, they acre active and i’ve waited more than 36 hours. Here is the log:D/[Purchases] - DEBUG(14514): ℹ️ Vending Offerings from cacheD/[Purchases] - DEBUG(14514): ℹ️ Checking if cache is stale AppInBackground falseD/[Purchases] - DEBUG(14514): ℹ️ Offerings cache is stale, updating from network in foregroundD/[Purchases] - DEBUG(14514): 😻 Offerings updated from network.D/[Purchases] - DEBUG(14514): ℹ️ API request started: GET /subscribers/%24RCAnonymousID%3A2ac7bf44a8bd48f192ec7584b895dcab/offeringsD/[Purchases] - DEBUG(14514): ℹ️ API request completed with status: GET /subscribers/%24RCAnonymousID%3A2ac7bf44a8bd48f192ec7584b895dcab/offerings 200D/[Purchases] - DEBUG(14514): ℹ️ Requesting products from the store with identifiers: prazosprocessuais-planobasico-teste1, teste_10_coinsD/[Purchases] - DEBUG(14514): ℹ️ Products requ
How to solve this "Your first subscription must be submitted with a new app version", Submit for review always disable , and already submitted and published my app, the subscription plans is not fatch for the users because it's rejected it. now I cannot submit it with the app. When i search they asked to add the subscription on an In App Purchases section which it's not there any more, It was only at the first time, now not.
I am testing out the sample app “Purchase_tester” and getting an error in the following part of the code highlight in orange. class _PurchaseButton extends StatelessWidget {final Package package;const _PurchaseButton({Key? key, required this.package}) : super(key: key); @overrideWidget build(BuildContext context) => ElevatedButton(onPressed: () async {try {final purchaserInfo = await Purchases.purchasePackage(package);} on PlatformException catch (e) {final errorCode = PurchasesErrorHelper.getErrorCode(e);if (errorCode == PurchasesErrorCode.purchaseCancelledError) {print('User cancelled');} else if (errorCode ==PurchasesErrorCode.purchaseNotAllowedError) {print('User not allow to purchase');} else if (errorCode == PurchasesErrorCode.paymentPendingError) {print('Payment is pending');}}return const InitialScreen();},child: Text('Buy - (${package.product.priceString})'),);} The error says; The return type 'InitialScreen' isn't a 'Future<void>', as required by the closure's conte
In the past 3 days we have updated for apple review but they keep rejecting them. purchasePackage throw "There was a problem with the App Store", i tried to ingore this message. purchasePackage return Succeed but entitlement is empty The subscription was successful without going through the payment process. but my app don't get any exception
When does a payment (subscription) made on google play appear on the Revenuecat screen?
I was recently troubleshooting a customer-reported issue related to a SUBSCRIBER_ALIAS event and I ran across this post stating that the SUBSCRIBER_ALIAS event had been deprecated and has not been sent “for awhile now.”However, that reply was dated 25 February 2022, and the SUBSCRIBER_ALIAS event I was troubleshooting was received much more recently, on 2 June 2022. So apparently SUBSCRIBER_ALIAS events *are* still being sent?I’m currently trying to update our handling of SUBSCRIBER_ALIAS events to account for a change to “original_app_user_id” in the same event -- something we had not accounted for (and the root cause of this customer reported issue.)But the aforementioned post, and the Webhooks documentation which now lists SUBSCRIBER_ALIAS as deprecated has me wondering if I should be handling an entirely different event?Is there any documentation that explains how the account-sharing functionality that was enabled by the SUBSCRIBER_ALIAS event is being replaced, now that the event
I mean the case when the one user (team owner) is paying money for a few other (members), in other words, in other words, all team members shared one common (group) subscription, and only the owner pays for it. I'm new with the RevenueCat and didn't find this feature in the Doc, so decided to ask for being totally sure.
Context: i have an app live on google play. everything works fine i add a suffix to package name to create another flavor of the app i publish this new app to closed testing and add a list of testers i create new app on Revenue cat (same package name as my new flavor) i add the same Service Account credentials JSON for new app as the one for existing live app where everything works fine i added 2 products in revenueCat for this new app. the Identifier for each product is matching the Product ID on google play for that new app subscriptions. Each product has the same entitlement as existing app products. all are sharing the same entitlement. I am checking the Debug info for this new app: when i am checking the logs, i can see [ Products request finished for : {my products} Retrieved skuDetailsList: SkuDetails: {"productId":… ] - here i have all the products, but then i can see the next row of logs : Requesting products from the store with identifiers: {my products}, Products re
Hello Revenue Cat Community. I have an internal test track of a Google Play app, with a RevenueCat managed subscription (anonymous, no app login). I was under the impression that if a user bought a subscription on Device A , and then downloaded the app on Device B (and logs into his Google Play account on that device) - then the subscription should only work on one of the devices. Currently I am testing with 2 physical devices - and it doesn’t seem to matter which device I bought the subscription on, and which device I use to access the app: the subscription works on both of them.Is my assumption wrong then? Subscriptions will work on any device - so long as the user is logged into the correct Google Play account? (and does this logic hold for Apple?) Thanks.
I am testing a scenario where the user bought a subscription with an iPhone and tries to manage his subscription using an Android device. RevenueCat’s SDK gives me this link to manage the subscriptions: purchaseInfo.managementURL = https://apps.apple.com/account/subscriptions.When my app lauches this URL, the user is sent to Apple’s Music website, which instructs the user to install Apple Music app.I installed Apple Music app as per Apple’s instructions, and tried to manage the Apple subscriptions from an Android device again. This time my app launches https://apps.apple.com/account/subscriptions and Apple’s Music Android app is opened, but it stays in a never ending loading animation, so I can’t access my subscriptions from this https://apps.apple.com/account/subscriptions URL.I also tried opening this same URL from a browser on a Windows PC, but the page also never ends loading, with the following message:
I have introduced monthly and yearly subscriptions using RevenueCat SDK in my app. My app including these products has been approved, but the subscription products are still “In Review” status for nearly a week.Is this a regular delay according to your experience? Do you think I should keep waiting?I am concerned because my app offers these non-available products to the customers. Not a good user experience.It seems I cannot revoke these subscription products from review in the AppStore Connect interface. I wonder if it is possible to revoke them and submit them again, if it helps?I wrote to the AppStore support, they replied that they will let the reviewers know. But nothing changed. The waiting silently continues. I keep checking and seeing “In Review” status with no feedback or update.Thank you.
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.