Get help with your SDK implementation.
Recently active
I am unable to load an IAP/subscription after it has been approved for over 48 hours. Left a comment on an older post, but wanted to make a second thread for visibility. (Hope that’s cool) If I run the app on simulator, a local device, or test flight everything loads perfect.Subscription has been approved for over 48 hours. Subscription loads fine on local/testflight. Filled out all agreements.App is in pending developer release. I downloaded the app from the app store with a generated code, and in app purchases do not work.I ran the production app and plugged my phone in to view the console. Still getting “Could not find SkProduct for ( “my_product_name”) There is a problem with your configuration”, but only in production. “my_product_name” is not in the actual log, I did not include my real product name. I was wondering if there is anything I could still be missing, or do I need to wait longer? The in app purchase was approved on Saturday at 11 AM. It is not Monday, 6:45 PM.Any help
Google has just announced changes to how they handle subscriptions: https://developer.android.com/google/play/billing/compatibility and https://support.google.com/googleplay/android-developer/answer/12124625 While existing subscriptions will continue to work, there are new ways to create offers and even new (on Android) subscription types like prepaid. Does RevenueCat already have a timeline how and when all of this will be supported both in SDK and dashboard? FYI: I’m also seeing the following warning in our Play Store account - I guess RevenueCat is using the InAppProduct API: “You're using the InAppProduct API to manage subscriptions, which is no longer updated. Start using the new Subscriptions API to get new features including multiple base plans and offers, as well as prepaid plans.”
Im having some problems installing the revenuecat package using swift package manager. This happens when I try and clone a project from scratch and install the required packages. The error reads“Dependencies could not be resolved because no versions of “purchases-ios” match the requirement 5.5.0 and root depends on “purchases-ios” 5.5.0.”If anyone could has experienced this problem before and knows of ways to solve it that would be very helpful. Thanks! Michael
I have a problem when trying to add Service Account Credentials JSON.I’m using the same file that I've used in the past, for 4 different apps, but now I’m getting an error. I’ve noticed that previously we had to copy-paste the content of the json file in the text field, and now we’re adding file itself (this image is from the documentation). Also, I’ve checked that service account has appropriate permissions for all of my apps.
Since calling `.configure` with the app user id automatically transfers purchases to the new account on Android according to the docs, is there any reason to manually call `restorePurchases` on Android? Also, does `logIn` also transfer purchases on android, or just `.configure`? should I call `.configure` again when the user changes accounts?
trying to create some simple consolidated reporting using the actual product description and I dont see a way to get more that product identifier through REST API using getOfferings… is there another way to get the desired information.
Hey All, my app got approved with RevenueCat implemented. The button to make a purchase shows up in TestFlight, but it is not showing up in my production app. This would mean that either currentOffering equals nil or there are no availablePackages. However, I do not understand why it would work in TestFlight. Any suggestions?
Hi,In my app I am calling Purchases.getOfferings() .If I build my app and submit it with eas, and then install it on the mobile device with test flight:eas build --platform ios --auto-submitThen the offering list is returned as expected. But when I try to run it for debugging with --dev-client , on my mobile devicenpx expo start --dev-clientThen the following exception is thrown:failed {"code":"23","message":"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). \nMore information: https://rev.cat/why-are-offerings-empty","domain":"RevenueCat.ErrorCode","userInfo":{"readableErrorCode":"CONFIGURATION_ERROR","readable_error_code":"CONFIGURATION_ERROR","source_file":"RevenueCat/OfferingsManager.swift:125","source_function":"handleOfferingsBackendResult(with:completion:)","NSLocalizedDescription":"There's a problem with your configuration.
I added the react-native-purchases package of my react native project. When i run eas build it fails with the following error: (ios/Pods/RevenueCat/Sources/Identity/CustomerInfoManager.swift:192:29) 190 | 191 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)> 192 | var customerInfoStream: AsyncStream<CustomerInfo> { | ^ 'AsyncStream' is only available in iOS 15.0 or newer 193 | return AsyncStream(bufferingPolicy: .bufferingNewest(1)) { continuation in 194 | if let lastSentCustomerInfo = self.lastSentCustomerInfo { 195 | continuation.yield(lastSentCustomerInfo)
My app works fine at local testing on simulator and real device but when i upload my app to testflight then i am unable to purchase the subscription. I have read all the documentation and related articles but unable to resolve it. Please give me suggestion how i resolve it. Thanks
My iOS SwiftUI app is in Testflight, everything seemed OK, but since this weekend, there is this strange behaviour. When the app is run for the first time, everything works fine. But on second run (and all subsequent runs), offerings are not shown.If the app is deleted from device and reinstalled, the issue repeats: first launch shows offerings, second launch does not.______ Console ____________2022-03-20 21:32:45.986445+0100 AppName[12345:1234567] [Purchases] - DEBUG: 👤 Identifying App User ID2022-03-20 21:32:45.988665+0100 AppName[12345:1234567] [Purchases] - DEBUG: ℹ️ Debug logging enabled2022-03-20 21:32:45.988708+0100 AppName[12345:1234567] [Purchases] - DEBUG: ℹ️ SDK Version - 4.2.0-SNAPSHOT2022-03-20 21:32:45.988732+0100 AppName[12345:1234567] [Purchases] - DEBUG: 👤 No initial App User ID2022-03-20 21:32:45.991893+0100 AppName[12345:1234567] [Purchases] - DEBUG: ℹ️ Sending latest CustomerInfo to delegate.2022-03-20 21:32:45.992082+0100 AppName[12345:1234567] [Purchases] - DEBU
Why the prices (package.localizedPriceString and Apple payment confirmation pop up) different ?I use package.localizedPriceString to show prices. I’m using pod RevenueCat (4.11.0)iOS 16.0.2 iPhone Pro Max
Hello, I’m trying to implement the SDK in Capacitor using the Cordova plugin for iOS, but whe in run the configureWith method nothing happens and I found the following log in XCode: CDVPlugin class CDVPurchasesPlugin (pluginName: purchasesplugin) does not exist.Error: Cordova Plugin mapping not foundI’ve tried with multiple versions of the plugin with no success
I have an existing app that I am upgrading to use RevenueCat. If the current version of the app (non-RC version) is installed then you upgrade to the revenueCat integrated version in the logs I see the following error: [Purchases] - DEBUG: ℹ️ CustomerInfo cache is stale, updating from network in foreground.[Purchases] - DEBUG: ℹ️ Network operation 'GetCustomerInfoOperation' found with the same cache key 'FB1D5F41-6C6F-4...'. Skipping request.[Purchases] - ERROR: 😿‼️ There was a problem related to the customer info. Requested a cached CustomerInfo but it's not available.[Purchases] - ERROR: 😿‼️ There was a problem related to the customer info. Requested a cached CustomerInfo but it's not available. I’m guessing this error is just shown because I asked for a cached version of the CustomerInfo in my code but there wasn’t anything in the cache? I’m wondering if this error is benign or something I need to fix? Seems strange this would be logged as an “ERROR” if it wasn’t important vs. j
Hi,Apple requires apps to provide the users with a way to delete the accounts they have set up in the app. I guess it does not only apply to the id in our login system, but also the associated information on RCat.Is there a way to remove the user id and other data from RCat altogether, using iOS/Android SDKs? I might be dumb, but I can’t find anything in the reference.Thank you :)
On my React-Native app, which is configured with RC, tested and working completely fine on development builds and .apk installations, the purchased subscriptions expire after 5 minutes and do not auto-renew with revenuecat.Also, if you try to purchase the item again google play store throws an error indicating the user is already subscribed. Strangely, the issue only arises in closed testing signed .aab build from the google play console. On .apk’s and dev-builds the subscriptions auto-renew without any issues, and the “active” array remains with the purchased subscription. The issue seems to be on the side of the revenuecat api, which for some reason returns an empty “active” array after the 5 minutes have expired on the production builds. Is this expected behaviour in .aab build/closed testing environments? Apologies if that’s the case, I’ve been looking at the documentations and forum posts, there doesn’t seem to be anything written about this. Below are the screenshots of the app,
Using react-native-purchases v5.0.2 and I can’t seem to get Purchases.addCustomerInfoUpdateListener to fire when I make a purchase (it’s not a subscription in case that matters). Testing in both simulator and a device and neither seems to work.I have a hook to track “premium” status and I want my tab view to automatically update when premium is unlocked from a different screen. I could hack in a manual call to `getCustomerInfo` when a screen regains focus but this is error prone so I’d really like to avoid it. Also, in case it matters. The documentation mentions:This will fire whenever we receive a change in purchaser info on the current device and you should expect it to be called at launch and throughout the life of the app.But I’m not seeing it “called at launch” either. Any help here is greatly appreciated.
I’ve encountered an issue using Xcode 14 beta 4. Updated to RevenueCat 4.9.0 and still seeing the issue. If I use a StoreKit config file with an iOS 16 simulator, when I attempt to make a purchase, the iOS pay dialog never appears and I get RevenueCat.ErrorCode Code=1 "Purchase was cancelled." If I switch to an iOS 15 simulator, it works fine. If I switch to a different scheme that doesn’t use StoreKit, I get the iOS dialog to sign in. If I try this on my own iOS 16 device, it works fine. It seems to only be an issue while using the simulator with iOS 16. Here is what I get when I print out the error.Error Domain=RevenueCat.ErrorCode Code=1 "Purchase was cancelled." UserInfo={source_file=RevenueCat/SKError+Extensions.swift:33, source_function=asPurchasesError, readable_error_code=PURCHASE_CANCELLED, NSLocalizedDescription=Purchase was cancelled., NSUnderlyingError=0x7f85d1a9e2e0 {Error Domain=SKErrorDomain Code=2 "(null)" UserInfo={NSUnderlyingError=0x7f85d1a9e260 {Error Domain=ASDErro
The sample app is pretty light when it comes to restoring purchases: Button("Restore Purchases") { Task { try? await Purchases.shared.restorePurchases() } }There are 3 possible outcomes when it comes to a subscription:Success Failure due to lack of active subscription ErrorI want to be able to show an alert of sorts in all 3 cases.My view has two variables:@Environment(\.isPremium) var isPremium@EnvironmentObject var customer: CustomerWhere customer is Purchases’ delegate and has the CustomerInfoand isPremium derives its value from that customer, an @ObservedObject of my app:.environment(\.isPremium, customer.isPremium)The button to restore looks like this. Button(action: { isRestoringPurchase = true Task { do { let _ = try await Purchases.shared.restorePurchases() } catch {
Hi there, May you please assist. Im am using purchases_flutter: ^4.3.1 ❯ flutter --versionFlutter 3.3.6 • channel stable • https://github.com/flutter/flutter.gitFramework • revision 6928314d50 (6 days ago) • 2022-10-25 16:34:41 -0400Engine • revision 3ad69d7be3Tools • Dart 2.18.2 • DevTools 2.15.0 The issue is -After filling in apple id + passwordClicking on either ‘Cancel’ or ‘Ok’ I always get the error below PlatformException(1, Purchase was cancelled., {userCancelled: true, code: 1, message: Purchase was cancelled., underlyingErrorMessage: , readableErrorCode: PURCHASE_CANCELLED, readable_error_code: PURCHASE_CANCELLED}, null) I am OKAY with getting the exception when user clicks cancel, but I don’t understand why I get the error when user clicks OK Please note: Android implementation working fine. Only iOS affectedAlso all offerings displayed on screenshot below are coming from RevenueCat without any issues.
I have installed cordova-plugin-purchases on my app which works fine on the android version.But on IOS while i am following all the documentation on both physical device and simulator and while my setup seems ok, i cannot trigger any purchases related action/function.I did all the stuff described here: Testing purchases in App Store SandboxThe actual behavior seems like all plugin functions are empty of code.I do not get either a success or an error callback at all from whatever method i ‘ve tried to call.I have tried in both actual devices and simulator with xcode builds.If needed i can post sample code.
A long time ago we implemented in app purchases in our application through RevenueCat and it was working fine until we got this two issues from users.1)First -errorCode: PurchasesErrorCode.storeProblemError,details: {code: 2, message: There was a problem with the App Store., readable_error_code: STORE_PROBLEM, userCancelled: false, underlyingErrorMessage: An unknown error occurred, readableErrorCode: STORE_PROBLEM},It appears in logs when users are trying to press "subscription buy button".We didn’t touch any implementation of this and configuration in App Store Connect or RevenueCat so it’s just happening for some reasons of App Store?Also, maybe this information will be helpful - previous build was rejected in first attempt because of ‘cannot locate iAP’ after build was approved but in this build appeared this issue. 2)Second - errorCode: PurchasesErrorCode.ineligibleError,details: {code: 18, message: The User is ineligible for that action., underlyingErrorMessage: User is ineligible
Our company is working on healthcare educational software that allows users to pay for multiple years via Stripe. While this is not the norm in software, it is somewhat normal with healthcare and educational software. From what I can tell, RevenueCat does not allow entitlement or subscription modification of any kind, nor does it allow manual assignment of entitlements (outside of a one-year promotional entitlement) via the API.Is there any way to programmatically grant/modify a user’s entitlement with RevenueCat, or expire a user’s entitlement via the API?
I am trying to submit an update to my Flutter app to Apple, but it has been rejected a few times now.Initially the error was during restorePurchases(), the error was a PlatformException:PlatformException(0, Unknown error., {readable_error_code: UNKNOWN, code: 0, userCancelled: false, underlyingErrorMessage: The receipt is missing., readableErrorCode: UNKNOWN, message: Unknown error.}, null)Following the RevenueCat docs about missing receipts, I asked the reviewer to re-login with their Apple account, but the issue persisted. Then a similar issue occurred when the reviewer saw that they could still purchase the product, and so pressed purchase:PlatformException(9, The receipt is missing., {underlyingErrorMessage: , readableErrorCode: MISSING_RECEIPT_FILE, readable_error_code: MISSING_RECEIPT_FILE, code: 9, message: The receipt is missing.}, null)According to this Apple tech note (outdated?): “The absence of the appStoreReceipt is typical when the application is installed using Xcode or
Success building iOS RevenueCat Framework 4.11.0 and earlier (Xcode 13.2.1 13C100)Fails with errors building iOS RevenueCat Framework 4.12.0 and after (Xcode 13.2.1 13C100)Reproduction: Empty project (iOS ‘Application’ template) with RevenueCat framework added via File > Add Packages. No additional changes or code.(Xcode 13.2.1 is the final available for MacOS BigSur 11.6.5)Suggestions? Sample errors (see attachment): purchases-ios/Sources/Support/ManageSubscriptionsHelper.swift:37:78: error: converting non-sendable function value to '@MainActor @Sendable (Result<CustomerInfo, BackendError>) -> Void' may introduce data races fetchPolicy: .cachedOrFetched) { result in ^ purchases-ios/Sources/Misc/OperationDispatcher.swift:58:47: error: converting function value of type '@MainActor @Sendable () -> Void' to '@convention(block) () -> Void' loses globa
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.