Discussion and help from anything related to RevenueCat.
Recently active
I’ve successfully integrated subscription product fro iOS. But when I try to make purchase of a subscription product, The below error is returned: Error: The receipt is not valid. What’s the problem? How can I solve this?
Hi, I’m a little confused about the Apple Search Ads attribution page in the docs:https://docs.revenuecat.com/docs/apple-search-ads It says that:On iOS 14.5+, you must be running the latest RevenueCat SDK and request authorization via the App Tracking Transparency framework before Apple Search Ads data can be collected by RevenueCat. However, my understanding is that for basic tracking (anonymised) using the new AdServices framework, this isn’t necessary. What’s the latest on this?
I have been looking in the documentation but didn’t see anything related to flutter for redeeming a coded!I have implemented the auto-renewable subscription with 1 month free trial in my Flutter app and have tested using Sandbox on iOS and works fine. How can I redeem an offer code using Flutter?
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
Hello, I am implementing a paywall and I want to keep the products displayed as dynamic as possible. I want to display the title and description of the product on iOS, but it is returning an empty string for both properties: I am using StoreKit with XCode to test properly on my iOS simulator using React Native: This is my App Store Connect configuration (it is in Ready to Submit state): It is working properly for Android (except it is not returning the description, maybe to due to the fact that there is no description provided for the subscription on Google Play Console):
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
We set up Adjust Integration step by step due documentation. Also try with and without OAuth. Still no events fires by RevenueCat in integration dashboard. In per user events feed detailed info also shows:No integrations to show We also using Unity SDK if it is matter. We correctly send Adjust ID per user via SDK. No result with live users and sandboxCan you help please?
Hi, I released a new version of my apps on July 14. Since July 15, RC is reporting double the new users (500 - 600), but the play console and apple connect is showing the same average users I get this days (200 - 300), I don’t know from where is RC reporting double. I did not change anything in my app logic or upgraded the sdk.
Hello, We’re using the React Native SDK for an Android and iOS app. We have received some reports in social media from users complaining that they have been charged immediately after purchase despite the product having a 7 day free trial. We don’t have any user Ids to check in the RevenueCat dashboard yet but we’d like to understand better how free trial eligibility works in the React Native SDK. Does checkTrialOrIntroductoryPriceEligibility work on Android with the React Native SDK? I’ve seen another post from an Android native user that a different mechanism is necessary If the method returns INTRO_ELIGIBILITY_STATUS_UNKNOWN, is it safe to assume that the user is not eligible? Are false positives (is not eligible, unknown is returned) or false negatives (is eligible, unknown is returned) more likely? If a user has already consumed a free trial and they attempt to purchase a free trial product, they will be charged immediately, is this a correct assumption?Thanks in advance. Regards
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?
Hi,Before integration with RC, we had only non-consumable IAPs, now we want to release auto-renewable subscriptions with RC SDK.We added non-consumable IAPs to the entitlement with subscriptions. That seems to unlock a feature under that entitlement for customers with lifetime access.So what is the benefit of performing `syncPurchases()` for users with lifetime access since they get the access the entitlement already?
Hello,I am using “active subscriptions” segmented by the first purchase month to look at blended retention (all product duration). I find it very convenient. What I realized recently is that if you compare:yearly retention chart active subscription chart filtered yearly and segmented by first purchase monthYou get a different result. In particular, the yearly retention chart initial value for a cohort is around 10% higher than the active subscription chart initial value. I am trying to understand why.
Our backend system are splited to staging and production, but revenuecat’s sandbox looks doesn’t support webhook, so I want to add both staging and production webhooks to the app.
Hi there,is there a way to check if a user has currently subscribed to a specific package? The use case is that I want to have a monthly and a yearly subscription for pro access. If a user has subscribed to one of both, I want to mark it accordingly in the UI and disable the buy button.I can’t just check if the pro-access-entitlement is active because both the monthly and the annual subscription refer to the same entitlement. Any ideas?Best, Tobias
Hi there, I have a “Lifetime Pro” inapp product. After I refunded this through Google Play it is still fetched as a bought product by Revenuecat. How can I securely verify that my non-subscription product is not refunded?This function is essential for me as it would be too easy for users just to buy the lifetime product, directly refund it and enjoy the lifetime pro for free. Appreciate any help.
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?
Hello , Once the revenue cat implementation is Done ,I went through the purchase => once i click and purchase any package its throughing me the following error Please do help..unity version = 2020.3.35f1revenue cat version = 4.0.0-rc.1unity IAP version = 4.1.5gradle version = 6.1.1/Unity: NullReferenceException: Object reference not set to an instance of an object at UnityEngine.Purchasing.GooglePurchaseUpdatedListener.OnPurchaseOk (UnityEngine.Purchasing.Models.GooglePurchase googlePurchase) [0x00000] in <3eb221e23cc14c1eb9a89aaea1015de1>:0 at UnityEngine.Purchasing.GooglePurchaseUpdatedListener.ApplyOnPurchases (System.Collections.Generic.IEnumerable`1[t] purchases, System.Action`1[t] action) [0x00027] in <3eb221e23cc14c1eb9a89aaea1015de1>:0 at UnityEngine.Purchasing.GooglePurchaseUpdatedListener.HandleResultOkCases (UnityEngine.Purchasing.Models.IGoogleBillingResult result, System.Collections.Generic.IEnumerable`1[t] purchases) [0x00008] in <3e
On occasion we get an error from the update subscriber attributes API. We are not sure what is causing the error since we are following the documentation. Here is the error response: {‘code’: 7259, ‘message’:‘Subscription not found for subscriber’}
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.
Before RC integration I’ve only had a non-consumable IAP for lifetime unlock, I’m adding subscriptions now with RC. Since subscriptions are new, is it OK to skip syncPurchases or is it needed in any way for migration of the non-consumable IAP?
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
Currently in CustomerInfo, there are properties like originalPurchaseDate and originalApplicationVersion for grandfathering users but I found originalTransactionID missing. originalTransactionID was useful to identify Spam users with shared Apple ID accounts. Is it possible for RevenueCat to expose this property so that we don’t need to add a duplicate logic to decode the App Store receipt?Thanks.
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.
If I check the docs (https://docs.revenuecat.com/docs/mixpanel) for the mixpanel integration, I see that for cancellations you differentiate between “Trial Cancelled” and “Cancellation”. However, on the uncancellation side there is only one event with the description “When a user re-enables the auto-renew status for a subscription.”Are uncancellations of trials not tracked or are they covered by this event?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.