Discussion and help from anything related to RevenueCat.
Recently active
I use RevenueCat in apps developed with Flutter. It does not show up inside the IOS Runner Privacy Report. I use the last version purchases_flutter: ^6.25.0Is this an issue or is as intended?
The image aspect ratio recommended for the Template 4 - Persian Paywall is stated as 19.5:9 - https://www.revenuecat.com/docs/tools/paywalls/creating-paywalls#uploading-images Is this correct? the image width is over twice as big as the height?
I have just published on stores my Flutter app with the new subscriptions, but it is still on sandbox, and when i try to make a purchase, the bottom modal has the Testflight text.How to switch to release env?thanks
// or if you need to present a specific offering:const paywallResult: PAYWALL_RESULT = await RevenueCatUI.presentPaywall({offering: offering // Optional Offering object obtained through getOfferings});This code is not working properly , always return the default offering
I want to further clarity on my understanding. I hope to get a response.My question is regarding the 1% commission when sales are above 2500 USD. Does this revenue sum only apply to the products i link to revenue cat? I have only linked my subscriptions and not my one time payments where I handle them myself.any help and clarification on this will really be appreciated. Thank you!
I'm trying to refund a user's subscription, but I can't seem to find such an option. What could be the reason for this?Of course, it’s from Play Store
I am getting another random error in Production when I fetch my products. Is it better to hardcode my 2 offerings: Monthly & Annual instead of relying on RevenueCat `getOffering()` API which is resulting in errors too often? None of the errors happen locally, only in production. Logging is useless.
While I’ve previously (as of February?) been able to make sandbox purchases in my iOS app, they are now all failing. I initially get a “purchase was successful” message but then get: There was a problem with the App Store. Problem communicating with the Store when trying to validate the receipt. After the initial purchase attempt, these receipts get cached on the device and the verification is re-attempted on each start-up, with the same error. In addition, I’ll then see: Error computing offline CustomerInfo. Will return original error.Creation error: Unable to compute offline CustomerInfo when purchasing consumable products. I am testing on multiple devices (iOS 16 & 17). I am using Xcode 15.3. I’ve updated to the latest purchases-ios package (4.40.0 -- was previously 4.34.0). I’ve created new sandbox accounts. (This is the only way to get rid of the “cached receipts” above.) I’ve tried with the device logged into my Apple ID and App Store logged into sandbox (this is how it worke
Using RevenueCatUI.presentPaywall() how do I present a specific paywall for a particular offering identifier? Can’t find this anywhere int he docs. For RN. Thank. you.
When i try to open a paywall the apps crashes without returning any error.With Flipper Crash Reporter i can see the error :FATAL EXCEPTION: mainProcess: com.dev12br.coupleGame, PID: 19923java.lang.IllegalStateException: ViewTreeLifecycleOwner not found from android.widget.FrameLayout{b1c81c V.E...... ......I. 0,0-0,0} at androidx.compose.ui.platform.WindowRecomposer_androidKt.createLifecycleAwareWindowRecomposer(WindowRecomposer.android.kt:352) at androidx.compose.ui.platform.WindowRecomposer_androidKt.createLifecycleAwareWindowRecomposer$default(WindowRecomposer.android.kt:325) at androidx.compose.ui.platform.WindowRecomposerFactory$Companion$LifecycleAware$1.createRecomposer(WindowRecomposer.android.kt:168) at androidx.compose.ui.platform.WindowRecomposerPolicy.createAndInstallWindowRecomposer$ui_release(WindowRecomposer.android.kt:224) at androidx.compose.ui.platform.WindowRecomposer_androidKt.getWindowRecomposer(WindowRecomposer.android.kt:300) at androidx.compose.ui.platform.Abstr
Hello! There is no method to set the protected attribute $firebaseAppInstanceId in react native, so the 3. of this tutorial for the revenueCat ↔ firebase analytics integration can’t be completed. Setting it with Purchases.setAttributes({$firebaseAppInstanceId: THE_ID }) doesn’t work. How can I do it?
When trying to fetch the offering from revenue cat [Error: There was an unknown backend error.]. I am getting this error suddenly. I even purchased some products. Suddenly I got this error. Any idea what to do?
Hi RevenueCat Team,I am getting the below error while fetching offerings only for some users and for most of users it’s working fine and payments are going through, “PurchasesError(code=ConfigurationError, underlyingErrorMessage=There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the Play Store. More information: https://rev.cat/why-are-offerings….”We did fetched some details from the devices it is happening.They are completely valid model with latest Android versions.And also they do have Play Store installed with latest version.Also checked if they are eligible for a payment using callback provided by RevenueCat and it’s showing true.Any help would be greatly appreciated
Good day, This is my first time using RevenueCat. I wanted to use it to allow anonymous users to buy 1 all access package for a fixed price. Currently my app supports android only and I am assigning a device bound unique Id in my configuration (see snippet). This is a hexadecimal string unique to each combination of app-signing key, user, and devicePurchases.configure({ apiKey: APIKeys.google, appUserID: Application.getAndroidId(),})My question on the matter is that I was wondering what prompts the Restore Purchases functionality. Is it the google play account that completes the purchase initially? If so what happens if a user is logged into multiple accounts. I’ve tested it for myself by buying the package on an emulator using my GmailA account. Then on my real device press the restore purchase button with GmailA logged in. This worked. even though the appUserId Is not the same (since it’s a different device). Hence the question if it is managed by RevenueCat’s backend using t
I have successfully setup paywall in my app. Pricing etc. everything is in place.I can see the localized versions of the paywall as a preview in paywall setup screen of revenuecat website. However in my own smartphone I can only experience english version.
I am good so far up to the point of being able to display the paywall, however, I don’t see any examples of how to handle the results once the user makes a selection.
Hi!We’ve recently starting using RevenueCat and everything seems to be working fine!We have a backend-focused approach, where we query the REST API to get subscription information server-side. Something we have noticed is that the API returns old data when immediately querying it after receiving a webhook event or purchase. This happens with both server webhooks or webhooks to the SDK. We have noticed that this can take longer than 2 seconds before querying the API delivers the new data.The question then is, when can we expect querying the API to return the same state of the data as in the webhook event? Kind regards,Bob
ERROR: 🍎‼️ 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-emptyand in app:Error 23: There is an issue with your configuration. Check the underlying error for more details Previously I’ve added a StoreKit Configuration file whilst working in simulators.I still face the Error 23 issue in TestFlight as many of my testers have reported. I’m running my code on device, not simulator to try debug this, and have not selected a StoreKit config file in my schema. I have also tried deleting my StoreKit config file as well. My subscriptions and in app purchases have the status “Waiting for Review” in app store connect. Error on my device endSchema run options
Right now I have 1 entitlement-id named powersEntitlementID, and I’m using it in iOS which works fine:Purchases.shared.getOfferings { [weak self](offerings, error) in guard let package = offerings?.all.first?.value.availablePackages.first else { return } self?.showPurchaseActionSheet(for: package)} func showPurchaseActionSheet(for package: Package) { Purchases.shared.purchase(package: package) { (transaction, customerInfo, error, userCancelled) in }} Using that in my PurchasePowersController, it shows me the correct action sheet. But I intend on adding a new productID/EntitlementID and I will use them in different ViewControllers. How can I get the EntitlementID/name from a Package object? For example if I had 2 entitlements named powersEntitlementID and energyEntitlementID. I can use the following code in PurchasePowersController and PurchaseEnergyController class PurchasePowersController: UIViewController { override func viewWDidAppear(_ animated: Bool) { super.v
Certainly, I can help you formulate your question in English. Based on your concerns, here's a way you could phrase your question for a forum or support request:Subject: Empty "items" Array in Response from RevenueCat Subscriptions EndpointHello,I've been working with the RevenueCat API to retrieve a list of subscriptions associated with a specific customer using the /projects/{project_id}/customers/{customer_id}/subscriptions endpoint. According to the documentation, this endpoint should return all subscriptions associated with the customer, currently including only those made via RevenueCat Billing on the web.However, when I make a request to https://api.revenuecat.com/v2/projects/myProjectId/customers/myCustomerId/subscriptions, the response successfully returns a 200 status code, but the "items" array in the response body is empty. This occurs despite the fact that I expect this particular customer to have active subscriptions.Here is an example of the response I'm receiving: jsonC
Hi, We would like to send an email and push notifications to users which are on our yearly plan and have an upcoming renewal in 7 days. We would like to avoid users who have opted-out for renewal and/or are on a monthly plan. I was thinking of the approach below, but I’m wondering if it’s the best way to do it:Use webhooks from RevenueCat When we receive RENEWAL or INITIATE_PURCHASE (with period=NORMAL to avoid free trial users), we schedule the sending of email/notification based on the parameter expiration_at_ms If we receive CANCELLATION with reason = UNSUBSCRIBE, we cancel the schedule for this user => not sure if we will receive this when the user opt-out for renewal or at the end of the subscription periodWhat do you think of this? Is there a better approach? Thanks!
Even though the user purchases successfully one of the products from an Entitlement, the purchaserInfo.entitlements.all["entitlement"]?.isActive is always false.I have everything configured correctly in Xcode, AppStore Connect and in RevenueCat and I am testing on a real device. This issue is new, the version of my app which is on AppStore did not have this problem even in sandbox. What shall I do?
Is it possible to automatically grant promotional entitlements to users based on certain criteria? I see from this article that it can be done through the REST API but I’m unclear if that can be criteria based. Example use cases:We would like to automatically grant a promotional entitlement for users that:Apply a specific Apple Offer Code New subscribers within a certain timeframe Other RevenueCat customer attributes (that we could pass in)Thank you!
Google Play now supports in-app products with more than 1 quantity. Can’t find how to specify quantity via the RevenueCat Android SDK. Is it not implemented yet?
I am looking at the page Configuring the SDK, in the sub section, advanced configuration for iOS - https://www.revenuecat.com/docs/getting-started/configuring-sdk#ios and the documentation for this method is really limited.How do I know how to handle the completion block and what each of the arguments from that completion block do? An example in the docs of how to implement it would be really useful. Any help would be much appreciated. Thanks
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.