Get help with your SDK implementation.
Recently active
Hi, I am getting following error when I try to load the application; E/[Purchases] - ERROR(26785): 😿‼️ Error performing request.E/Purchases(26785): Error fetching subscriber data: Error performing request. Please help.
We noticed some unusual behavior. This seems to happen when there is no clear error and we are unsure if this was intended or not. Consider the following code: [[RCPurchases sharedPurchases] offeringsWithCompletionBlock:^(RCOfferings* offerings, NSError* error){ if (offerings.current) { ... } else if (error) { ... } else { // this branch actually gets executed! ... }}];Both offerings.current and error are nil in some cases. Usually it has something to do with running on iOS simulator or when the IAPs aren’t setup properly (which can be seen in the logs), but the implication in the call is that error will never be nil. Luckily we were able to identify this issue quickly and patch our code with a workaround, but maybe the SDK team might want to revise that behavior. We haven’t tested if other calls have the same issue or if other platform SDKs have it.
Anyone had this crash? Fatal Exception: java.lang.IllegalStateException: Reply already submitted at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:164) at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:238) at com.revenuecat.purchases_flutter.PurchasesFlutterPlugin$5.onReceived(PurchasesFlutterPlugin.java:584) at com.revenuecat.purchases.hybridcommon.CommonKt$restoreTransactions$2.invoke(common.kt:187) at com.revenuecat.purchases.hybridcommon.CommonKt$restoreTransactions$2.invoke(common.kt) at com.revenuecat.purchases.ListenerConversionsKt$receivePurchaserInfoListener$1.onReceived(listenerConversions.kt:127) at com.revenuecat.purchases.Purchases$retrievePurchaseInfo$1.invoke(Purchases.kt:846) at com.revenuecat.purchases.Purchases$retrievePurchaseInfo$1.invoke(Purchases.kt:98) at com.revenuecat.purchases.PurchasesKt$sam$java_lang_Runnable$0.run(Purchases.kt
I am using purchases_flutter: ^3.4.5 and I am getting this error: “We've detected this app uses an unsupported version of Play billing. Please upgrade to Billing Library version 3 or newer to publish this app. Learn More about Billing Library 3.” What version of this package should I use so I can upload a Google package?
This error has been occurring frequently for the last few weeks:There was a problem with the App Store I know that this error can occur and what it means, but between January and June 2021 this error occurred 0 times. Since July 2021, about 2-3 times per day. We never do test purchases at this frequency, nor can I believe that Apple is so unstable. Is there a general increase in these error messages or what could explain such a high frequency?
Hello! We’re about to release an app using RevenueCat (via the React Native SDK) on iOS. Our app has options for monthly and annual renewing subscriptions, plus a lifetime purchase option. The lifetime option is implemented as a non-consumable purchase in the App Store.The issue we’re having is that once a user has purchased a lifetime subscription in the sandbox, there seems to be no way to ignore that purchase in the future without also ignoring other purchases with the same entitlement. I can manually grant an entitlement for a user, but when I call getPurchaserInfo() in my app, entitlements.active.xyz will contain the sandbox purchase, not the one I granted - the sandbox purchase seems to be taking priority. So either I have to treat sandbox lifetime purchases as valid, or add client code to ignore lifetime purchases made in the sandbox. But if I ignore sandbox purchases, this would seem to have the affect of also ignoring non-sandbox purchases for the same entitlement.This is a co
Sorry, title should be Xcode 13, cannot edit this anymore Hi, I am using purchases-ios via Swift Package Manager with the latest version 3.12.4. After downloading Xcode 13 my app builds and runs both on device and simulator.When I try to archive the app in order to upload it to the App Store, I receive the following message:Command CompileSwiftSources failed with a nonzero exit code.The line before saysremark: Incremental compilation has been disabled: it is not compatible with whole module optimizationThere is no other message before or after which gives an indication of what the error could be.The minimum target is iOS 13.I tried to clean the build folder, restart Xcode, restart the Mac, downloaded the project manually from the repository and set it up newly, nothing worked.I am clueless, what can be the problem here?
Hey guys!First of all, I am a new customer of RevenueCat and I like it a lot! I upgraded my iPhone to iOS15 and since then I have slight problems with stuff which worked before.When I buy the pro subscription plan in my paywall screen I can’t see the results in the rest of the app using getPurchaserInfo() unless I restart the app. It seems that RC is receiving the info from the cache and for whatever reason it is not cleared with the purchase. Here are the logs:[Purchases] - DEBUG: ℹ️ Products request finished.[Purchases] - DEBUG: 💰 Retrieved SKProducts:[Purchases] - DEBUG: 💰 inv_v03_basis_199_1mo_7d - <SKProduct: 0x282bf4a20>[Purchases] - DEBUG: ℹ️ 1 completion handlers waiting on products[Purchases] - DEBUG: ℹ️ Found 0 unsynced attributes for App User ID: baHJxaHGJdPe9GDjQmkgsxo4cbf2[Purchases] - DEBUG: ℹ️ There are no requests currently running, starting request POST /receipts[Purchases] - DEBUG: ℹ️ API request started: POST /v1/receipts[Purchases] - DEBUG: ℹ️ API request co
I have 3 packages in one offering. When I fetch offering it returns only 2 packages, 1 is missingI have following 3 packages for example.Pizza PackLow PackAll PackIt gives me only Pizza and Low pack, not All Pack. What could be the issue?
Hi,I’m new to RevenueCat and just following the Quick Start for iOS.I tried to add the SDK using the instructions but Xcode could not resolve the dependency (tried Xcode 12.5 and 13 beta 5).It seems that since the new 4.0.0 beta SDK released 2 days ago, Xcode can’t resolve it. It defaults to using 4.0.0 as the minimum version and then fails to resolve it.I have managed to work around this by entering 3.12.4 as the version when adding the dependency, but thought I’d raise this in case (a) I’m doing something wrong (don’t fancy using Beta right now so...), and (b) RC are not aware of the problem.
Hi there,We would love to give our app users the ability to pay one time for a long time subscription (e.g. 5 years) which is not possible by AppStore or Play store. Is it possible to make it happen with RevenueCat? The goal is to pay once for a traceable/trackable subscription where RevenueCat’s purchases SDKs can verifies users’ entitlements for the duration of the subscription. It doesn’t have to be a “subscription” but should be trackable. Thanks in Advance!
Hi, there is information in the documentationAlso, if you are user of RevenueCat, grace periods for Apple and Google are automatically detected and handled by our receipt server and SDK. How can I check that user has grace period in this time? I want to show alert for him.Thanks
Hi Everyone,We are handling the restore mechanism with the combination of our local app user id and Revenue cat SDK. So again is this mandatory to show Restore purchase button in the app? For example with the help of app login username and password credentials, we are giving access to Premium features (This reflects to restore mechanism).Due to not showing the Restore purchase button in the app will cause any rejections from Stores (App Store and Play Store)?Thanks for your help.
I have an independent watch app on the store as part of a family of apps. The watch app is part of a single project with the iOS app. After I upgraded Xcode, my app will no longer recognize the Purchases(now RevenueCat) package. I am using a single class that manages the purchases. If I have it as part of the watch extension it throws errors. If I only target the iOS app, the errors go away. The errors all essentially amount to:'PurchaserInfo' is not a member type of class 'RevenueCat.Purchases'I am also showing an error ofWatch Extension.build/Objects-normal/arm64_32/Settings.dia:1:1: warning: Could not read serialized diagnostics file: error("Invalid diagnostics signature") (in target 'Watch Extension'…Steps I have done:Make sure that the package is linked to the extension cleared the derived data, cleaned the project and restarted.I can find no setting that seems to be a problem. Any help would be appreciated.
Hi, I am using flutter to implement purchase package. My code looks like ; _purchaserInfo = await Purchases.purchasePackage(packages.first);//print('purchase completed');appData.isPro = _purchaserInfo.entitlements.all["all_charts"]!.isActive; This code is invoked on a click of a button. It works fine for monthly subscription but when I use same code for annual subscription, nothing is happening. I just get following messages; D/[Purchases] - DEBUG(13801): ℹ️ Vending Offerings from cacheD/[Purchases] - DEBUG(13801): ℹ️ Checking if cache is stale AppInBackground false
We’re having an issue that seems to only be present in certain foreign markets. So far, we’ve received reports in: Russia, China, South Korea, Thailand, Japan, and Bulgaria.Everything seems to be working well in other regions.The issue is that when a user selects a package to purchase, whether this individual user is on iOS or Android, clicking to purchase the package, which uses the purchases_flutter library, crashes the app and presents the default error screen. Any ideas as to things we may be doing wrong?
From The Ultimate Guide to iOS Subscription TestingBecause the sandbox environment doesn’t have a subscription management UI like the production App Store, you’ll need to expose buttons or other means within the app to test purchases that trigger upgrades, downgrades, and cross grades. I’m a bit confused on what to do to test a crossgrade. I have two plans, same level, different duration (annual and monthly). When I test in sandbox switching from monthly to annual, in Customer History I see the renewal events of the monthly one, then the change of renewal preference to annual, but then it stops renewing on either plan. On my I app I end up as if I just cancelled and not subscribed again. Is this expected from the limitations as quoted above? If so, is there anything I can do to test this further or is that enough to assume it will work in production?
I am implementing App Store subscription (promotional) offers in an app, and I need to implement a check similar as the checkTrialOrIntroductoryPriceEligibility SDK function.This article here suggest I could use an existing entitlement as a means to validate that, however an entitlement could have been acquired in another platform, thus tricking me into promoting an offer Apple will not honor.Apple suggests instead:You can check whether the receipt contains any existing or expired subscription purchases to identify these current or lapsed subscribers.Which seems pretty simple, but the SDK doesn’t seem to expose this kind of information - wether a specific product identifier has ever been purchased on iOS. The raw ReceiptParser also has no public parsing methods I could use. I would have to resort to manually parsing the local receipt, which makes no sense when using RevenueCat.I also see a property called in PurchaserInfo called allPurchasedProductIdentifiers. Could this be used to det
Hi there!I'm experiencing some delay on the PurchaserInfo data right after login. I'm using the Transfer Purchase behavior from https://docs.revenuecat.com/docs/restoring-purchases. Problem: PurchaserInfo returns without active entitlements right after Purchases.login()Steps to reproduce:1.With a anonymous user, buy a subscription 2. Now the anonymous user has an active entitlement on PurchaserInfo 3. Log in (Purchases.login()) on a account with no active entitlements 4. Call Purchases.getPurchaserInfo() to check if user has active entitlements Result: The recently logged in user has no active entitlements, even though they should (because of the Transfer Purchase behavior). However, if I call Purchases.getPurchaserInfo() again after 2-5 seconds, then the PurchaserInfo returns correctly, with the user having the active entitlement.To fix this I'm using addPurchaserInfoUpdateListener, so I can observe better the PurchaserInfo changes. But is this delay after transferring a purchase norm
We are launching a new app that requires users to sign in with their Apple ID (sign in with Apple). Are there any best practices for using the RC purchases SDK in combination with sign in with Apple. One thing I was wondering was if we should rely on the Apple Identity Token as our User IDs or the anonymous user IDs vended by RC. Any insight would be greatly appreciated.
Hi there!I'm testing the login/logout system of the RevenueCat SDK on Flutter.I'm using the Transfer Purchase behavior from https://docs.revenuecat.com/docs/restoring-purchases.Problem: PurchaserInfo entitlements returns empty after Purchases.logOut(). Purchases.getPurchaserInfo() only returns correct after I refresh the app and call Purchases.setup().Steps to reproduce:1. Enter app, call Purchases.setup() (without appUserId). 2. Do a subscription purchase 3. Now with the user with subscription, call Purchases.login(). The user now has a provided app id and has the subscription entitlement. 4. Call Purchases.logOut(). Now the user has an anonymous id. 5. Call Purchases.getPurchaserInfo() to retrieve the user's entitlements and check if the user has subscription. Result: the user has no entitlements, even tho the user bought the subscription on that same device.But…6. Refresh the app and call Purchases.setup(). Now when Purchases.getPurchaserInfo() is called, it returns the subscription
Even though I made a purchase, the membership seems empty. that's why I got a rejection from Review center. At this point I looked at the redirects on the page but it doesn't seem to work.First of all, when I connect it to the ios14 china storekit, everything works correctly through the store kit. Purchases are accurately reflected to RevenueCat. Everything is OK. But things change when I publish the app on TestFlight. We are doing the subscription process, we also get the warning that it has been done successfully. but when we query via RevenueCat right after, we cannot access the membership information. We go and check the revenuecat dashboard, likewise we see that AppUserId is not assigned there. more interestingly, when we try to make a purchase again, we get a warning that you already own this item. Please help
Hi I have a game built in C++ and using SDL2 for the application framework and was wondering if it would be possible to use RevenueCat? Would it be possible to bridge the SDK with aObjective-C++ class?ThanksDenis
Hi everyone,Is it possible to configure 2 different webhook URLs? We would like to have the sandbox requests to our staging environment and the production requests to production. Otherwise we would need to route the request first to be sent to the appropriate environment on our own.Thanks for your input on this!
Hello, We want to switch our purchase system from Unity IAP to Revenuecat. But we have some questions about subscription system. 1- How to get subscription local prices (monthly price / introductory monthly price and weekly) from Revenuecat SDK? For example, we were get the price data with Unity IAP like this:if (m_GooglePlayStoreExtensions.GetProductJSONDictionary() .TryGetValue("om_sub_vim", out string skuDetails)) { ControllerUIMainMenu.Instance.SetLocalizedIntroductoryPriceMonthly(JsonUtility .FromJson<SkuDetails>(skuDetails).introductoryPrice); } 2- How to start Purchase Subcription request with Revenuecat SDK?For example, we can start a purchase subscription request with Unity IAP like this:m_Controller.InitiatePurchase(m_Controller.products.WithID("on_weekly_vip")); 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.