Get help with your SDK implementation.
Recently active
I am using real device for test and I am getting these errors:🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)2022-10-27 13:47:15.436381+0300 Runner[12975:595117] [Purchases] - ERROR: 😿‼️ There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). More information: https://rev.cat/why-are-offerings-empty2022-10-27 13:47:15.445840+0300 Runner[12975:595300] flutter: PlatformException(23, There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). But I have conjectures:I
I get this warning in the console: “The value for FacebookAdvertiserIDCollectionEnabled is currently set to FALSE so you're sending app events without collecting Advertiser ID. This can affect the quality of your advertising and analytics results.” I believe I’m following the instructions for setting this stuff. On app load: await Purchases.setDebugLogsEnabled(true); await Purchases.setup(JumpspeakConfig.revenueCatApiKey); await Purchases.collectDeviceIdentifiers(); final facebookAppEvents = FacebookAppEvents(); await facebookAppEvents.setAutoLogAppEventsEnabled(false); final facebookAnonymousId = await facebookAppEvents.getAnonymousId(); if (facebookAnonymousId == null) { logError('Could not get anonymous Facebook ID'); } else { await Purchases.setFBAnonymousID(facebookAnonymousId); }FacebookAppEvents is a 3rd party library but I confirmed it gives me an anonymous ID (that error log does not get reached) I also confirmed the values we should see for the customer if thi
As per the title:I always get the ‘Receipt is missing error’ when testing via TestFlight.In Xcode, when configured with a StoreKit file, it works fine. Without StoreKit and TestFlight it does not work, the app review is also always getting rejected.I cannot see why it does not work. The products and offerings are configured correctly (and they are shown in the app), it’s just the receipt that is always missing when purchasing.
I’m unable to fetch offerings.The command:Purchases.getOfferings()Returns this error:underlyingErrorMessage: There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the Play Store.I’ve followed the tutorials around, and all was working fine until I’ve upgraded my “react-native-purchases” package to version 5.0.2.I’ve got an app in production with package version 4.5.2, and it works simply fine. The offering shows up, and the purchase gets completed.Although when I run it with the 5.0.2 I’ve got no products.In the upgrade process I’ve changes the authentication process to the new one:Purchases.configure({ apiKey: pubKey, appUserID: null, observerMode: false, useAmazon: false });
What could be the reason that I cannot access my Google Play subscription’s free trial offer from the SDK by calling `aPackage.product.subscriptionOptions?.freeTrial`? It is always null.This is a new subscription product which I created after reading through your migration guide from 5.x -6.x. It was suggested there that I should create new subscription products, so I did. I used to have two products, one annual and one monthly. I created a new single subscription with 2 base plans and an annual which has the free trial offer. With the old setup and 5.x version this worked, but now I cannot see the free trial in the new base plan at all. Any help is appreciated. All base plans and the new offer are active in Play console and the products have been added to RC packages. Also this annual base plan looks to be “backwards compatible”.This happens with the latest 6.3.0 version of the purchases SDK.
Hi Team/Community,I have a issue at the moment where a user can not make a purchase on the Apple App Store in BOTH Production and Testing, which rules out Sandbox accounts etc (have also dived down said route). The same code is working perfectly for Android. Things I have explored/tried:Deleting and creating sandbox accounts for Apple. Checked I have no outstanding agreements with Apple. Made sure in-app purchases in enabled. Tried configuring the purchases_flutter package with both legacy and new api key. I am sure a ton more, that I don’t remember.The error looks as follows:flutter: \^[[38;5;12m│ 💡 now trying to purchase<…>[Purchases] - DEBUG: ℹ️ Vending Offerings from cache[Purchases] - DEBUG: ℹ️ makePurchase[Purchases] - DEBUG: 💰 Purchasing product from package - finMonitor_1500_1y_1w0 in Offering App Access[Purchases] - DEBUG: ℹ️ PaymentQueue updatedTransaction: finMonitor_1500_1y_1w0 (null) ((null)) (null) - 0<SKPaymentQueue: 0x2824dfa00>: Payment completed with e
I’ve set up my app store IAP and set up the various RC things needed for it. But in App Store Connect, my IAP entry says “Missing Metadata.” I have verified that all agreements/forms/etc are done under “Business” and all say “Active.” I’ve added the price for the IAP as well as the localization entry and image. However, the localization and image say “Prepare for Submission” not “Ready to Submit” so I don’t understand what I’m supposed to do.The only thing that I haven’t added is a screenshot, because I don’t understand how I’m supposed to offer a screenshot of the app if I can’t actually get the IAP from the SDK yet?? Like, show an empty screen where the IAPs are supposed to appear?? I can’t find ANY guidance on this aspect. The help popover just says “We’ll only use the screenshot for our review — it won’t be displayed on the App Store.” The help page says “A screenshot of the in-app purchase that clearly shows the item or service being offered.”So how on earth are you supposed to do
Hello Team,RevenueCat portal is showing Could not validate subscriptions API permissions. Status is the same after 48 hours. I followed all the steps mentioned here Google Play Store (revenuecat.com). Can someone help how to resolve this issue?
Thanks for the Platform, guys! Started working with RevenueCat on the Flutter and after callawait Purchases.getOfferings()I get an exceptiontype 'Null' is not a subtype of type 'num' in type castReproduced on the real and virtual Android devices. I wrote issue, but your bot is too evil to let her in) That's why I ask here. Can you help with a solution? This seems to be happening on deserializing JSON like this in this place: Environment Output of `flutter doctor`Doctor summary (to see all details, run flutter doctor -v):[√] Flutter (Channel stable, 2.8.1, on Microsoft Windows [Version 10.0.22000.434], locale ru-UA)[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)[√] Chrome - develop for the web[√] Android Studio (version 2020.3)[√] Connected device (3 available)• No issues found! Debug logsD/[Purchases] - DEBUG(21462): Debug logging enabledD/[Purchases] - DEBUG(21462): SDK Version - 4.6.0D/[Purchases] - DEBUG(21462): Initial App User ID - nullD/[Purch
I am testing purchasing my subscriptions in sandbox. My device has purchased a subscription before, and it has expired.When I go in to purchase again, `Purchases.shared.purchasePackage` returns immediately with the `purchaserInfo` and the default entitlement shows my previous purchase, with an isActive status of false. I was never presented with the purchase modal. When I `restoreTransactions`, the `purcahserInfo` shows the same, an expired entitlement. Why can’t I re-purchase an expired subscription?
Hi people,first of all to creators, thanks for the awesome product! Just keep up with good work!I have a question about, what happens if we clear our purchase history in our AppStoreConnect?I saw this post but I wanted to clarify what happens when we go in AppStoreConnect to:Users and Access → Sandbox → Test Accounts → Edit → Clear purchase history?Would this clear purchase history in RevenueCat Sandbox data too?
I have an existing Objective-C project that is already using CocoaPods.After adding the pod 'Purchases' to my podfile my project no longer runs.It quits with the error messages:__abort_with_payloaddyld[15384]: Library not loaded: @rpath/libswiftCore.dyliblibswiftCore.dylib' (no such file)I am on Xcode 13.0I checked the solutions on this page https://stackoverflow.com/questions/26024100/dyld-library-not-loaded-rpath-libswiftcore-dylib, and based on that, have confirmed the following:For both my project and target:Build Settings > Build Options > Always Embed Swift Standard Libraries is set to YesFor my target:Build Settings > Linking > Runpath Search Paths is set to @executable_path/FrameworksI also Cleaned the project and deleted all Derived Data.What else do I need to do to resolve this error?
I’ve set up a synced StoreKit Configuration file for my app. On simulators it fetches all the offerings without a hitch, but when running on device it doesn’t. Is this a known limitation or is there something I’ve missed?
I use com.android.billingclient:billing:4.0.0 on my application and purchases_flutter 3.10.0 for the revenuecat subscriptions.From May 2022, users can't see the free trial or intro price options. Then, I messaged the GooglePlay and they replied as below:Hello Google Play Developer, Due to a bug in our system, since May 3, 2022, you may be experiencing incorrect or missing subscription information in the results from the Google Play Billing library’s deprecated querySkuDetailsAsync() function. During this time the Google Play Billing library may not have returned information to your apps about free trial and intro price offers for one or more of your subscriptions, even if the user was eligible for these offers. In these cases, users only saw the subscription base plan in the purchase cart, without any free trials or intro prices.Action RequiredWe recommend that you review all of your subscriptions with free trial and intro price offers in the Play Console, and ensure that the correct o
Lately, I’ve been getting more messages from users where fetching offers from RC does not work.They are getting the error (on Android):Unable to resolve host "api.revenuecat.com": No address associated with hostnameCode: 10(Error performing request.).Is this ALWAYS related to the user’s devices or network?What the best way to help users getting this error?Cheers,Chris
“This method will send all the purchases to the RevenueCat backend. Call this when using your own implementation for subscriptions anytime a sync is needed, like after a successful purchase.”Source: https://sdk.revenuecat.com/android/5.0.0/purchases/com.revenuecat.purchases/-purchases/sync-purchases.htmlIf I understand correctly syncPurchases:1. upload the local device’s receipt to RevenueCat2. Transaction might under another app user id, so if needed transfer going to happen.3. The user access all entitlement based on the device’s receiptIs it correct? If yes, I don’t understand why need to call “like after a successful purchase.”.I assume purchaseProduct make a full sync with RevenueCat backend after the purchase, because the app should send the current receipt to the RC server, so why needed syncPurchases?
When attempting to purchase a product I’m receiving an alert from Apple that says "You are not authorised to make purchases of this InApp in Sandbox at this time." (image below). Has anyone encountered this before and has a solution?
Hi guys, I'm trying to understand how to deal with "App User ID" and user accounts. All good if I have the next flow:A user downloads an app. The user register in the app Based on the registered user account, I can generate an "App User ID" and send it to RevenueCat. Then, based on the registered user account, I always have access to the user "App User ID" because it is stored in my database and mapped to the registered user account. Later on, users can restore purchases anytime after they log in to the app. Because again, I have his "App User ID" stored in my database.But what should I do if I have no user registration in the first place? Is it possible? For example:A user downloads an app. I generate some random "App User ID" based on the device UUIDD The user goes through onboarding screens with a PayWall in the end. The user makes a purchase. All that I have now, it's his "App User ID" mapped to his device UUID, and that is it. If the user changes the phone or tries to log in on
I'm using Flutter to develop my application, but I ran into a problem when I tried to incorporate a revenue cat subscription feature into my Android app. This problem is specific to Android, not iOS, so the error message I'm seeing in the debug log is “Error loading offerings info: PlatformException(3, The device or user is not allowed to make the purchase., {code: 3, message: The device or user is not allowed to make the purchase., readableErrorCode: PurchaseNotAllowedError, readable_error_code: PurchaseNotAllowedError, underlyingErrorMessage: Error when fetching products. DebugMessage: Billing Unavailable. ErrorCode: BILLING_UNAVAILABLE.}, null)”I have followed all the instructions they have given me, and I have made sure to do so, but I'm still having trouble. If someone could assist me, I would be very grateful.
Hello, I have installed the necessary play store and google cloud console for my android mobile application. I did it according to revenuecat documentation and videos here.I published my application in closed test and enabled license test. Test users can subscribe successfully. (I can see this in the sandbox data section)After seeing that it was successful in closed test, I opened it to all users in the production phase and uploaded a new apk.As a result of the review, Google rejected it. They said the problem was that the subscription could not be made. The subscription options were listed successfully, but when they wanted to make the payment, the following error message appeared:The item that you were attempting to purchase could not be found.
Hello! Enjoying using RevenueCat so far but I’ve hit a head dead with iOS integration. I’ve made sure my single product is “Ready to Submit” state on App Store Connect. I’ve made several sandbox apple accounts. My Bundle ID is set up correctly on the RX dashboard. When I go through the purchase flow it all looks successful (including Apple success dialog) but at the final step I get the following RC error: 2021-11-30 21:20:34.384306-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ PaymentQueue updatedTransaction: pawp_membership_monthly 1000000921455600 ((null)) (null) - 12021-11-30 21:20:34.389609-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ Loaded receipt from url file:///private/var/mobile/Containers/Data/Application/63B42ADB-A483-438C-87A1-B35A40640015/StoreKit/sandboxReceipt2021-11-30 21:20:34.389793-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ Found 0 unsynced attributes for App User ID: 872142021-11-30 21:20:34.391632-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ There are no requests cu
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
I have the following error when I run the SwiftUI application on the devise (iOS) or via the iOS simulator:---🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). More information: https://rev.cat/why-are-offerings-empty---How I initialise the RevenueCat SDKimport SwiftUIimport RevenueCatimport RevenueCatUI@mainstruct SpeedApp: App { init() { Purchases.logLevel = .debug Purchases.configure(withAPIKey: "...token...", appUserID: "1") } var body: some Scene { WindowGroup { ContentView() } }}My setup:RevenueCat and AppStore App configuration have same bundle ID. Product id for the subscription in RevenueCat and AppStore the same (I’ve loaded the products in RevenueCat via the App Co
Hi,The following issue (https://github.com/RevenueCat/react-native-purchases/issues/200) was closed but I am still experiencing the error when I do a release build of a new scheme (i.e. staging, prod etc) of my React Native app. This was fine until now as we had a workaround of removing the `build` and `pods` folders and reinstalling the pods i.e. `rm -rf ios/build && rm -rf ios/pods && yarn && cd ios && pod install` every time we switched schemes and wanted to do a new release build.However, in the last few days, we have added an Apple Watch Extension to our RN app which is built using SwiftUI. Anytime that we try to build the Watch App with preview mode enabled (https://developer.apple.com/documentation/swiftui/previews-in-xcode) it fails with the following errors.Declaration of 'RCPurchases' must be imported from module 'Purchases' before it is required Could not build Objective-C module 'PurchasesHybridCommon' Is there any workaround to this? It is
Hey Everyone, The Problem: Paywall looks great, is super easy to implement, BUT seems easy to bypassThe issue is when you runContentView() .presentPaywallIfNeeded(requiredEntitlementIdentifier: "standard")you get a great UI on the iOS paywall, but the user can swipe down and go to ContentView() for free, or press the ‘close button’ x in the upper right hand corner and get to the ContentView for free. This issue was raised here a few months ago, but there does not seem to be a solution yet. An Idea of Workaround, but it’s not there yetOne way I like to add logic goes like thisif subscriptionManager.isSubscribed || subscriptionManager.isOnIntroductoryOffer { ContentView() } else { PaywallView() //But seems to have no way to send this to ContentView }above you can see that I just to the logical check myself. But the issue then is that even if I call the PaywallView() itself, you do get th
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.