Discussion and help from anything related to RevenueCat.
Recently active
I am using react-native-purchases-ui. In my code, I have explicitly set displayCloseButton: true when calling the presentPaywallIfNeeded function. The close button is shown successfully on iOS with the teal color. However, on Android, it is not visible at all. I am using: “expo”: “49.0.17”,"react-native": "0.72.6","react-native-purchases": "7.21.0","react-native-purchases-ui": "7.21.0", See examples:ANDROID Android Paywall (no close button)iOS
In my app I pretty much copy & pasted the Paywall code from the revenuecat example. So far no issues were detected during test phase and the restore purchases works as well. However after submitting for review on Apple App Store the app was rejected due to (a violation of Guideline 3.1.1):We noticed that your app includes or accesses paid digital content, services, or functionality by means other than in-app purchase, which is not appropriate for the App Store. Specifically:- The subscriptions can be purchased in the app using payment mechanisms other than in-app purchase. I’m not sure if this is related to using the revenuecat library or not, but I only have one way to buy the subscription and that’s via the button in the paywall. As “proof” of their claim they also included a screenshot which shows the loader overlay that’s shown while waiting for the ios native popup to show. Anyone else that faced this issue before or any suggestions on how to “fix it”?
When building an Expo dev client for Android, the build process fails with a Gradle error related to the minSdkVersion required by the com.revenuecat.purchases:purchases-hybrid-common-ui:10.2.0 library. The build process terminates due to a manifest merger failure, indicating that the minSdkVersion of 23 in my project (defined by Expo) cannot be smaller than version 24 declared in the RevenueCat library.Error Message:[RUN_GRADLEW] /private/var/folders/xw/4k1kxhpx04303l7nwzy641br0000gn/T/eas-build-local-nodejs/7fdf107e-ffb6-4e98-a686-8cd5dc9436de/build/android/app/src/debug/AndroidManifest.xml Error:[RUN_GRADLEW] uses-sdk:minSdkVersion 23 cannot be smaller than version 24 declared in library [:react-native-purchases-ui] /private/var/folders/xw/4k1kxhpx04303l7nwzy641br0000gn/T/eas-build-local-nodejs/7fdf107e-ffb6-4e98-a686-8cd5dc9436de/build/node_modules/react-native-purchases-ui/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml as the library might be using APIs not
Hello! I was wondering if somebody knows a trick to check if I am enrolled in the Small Business Program. I would like also to see from an official report which is the take over percentage applied actually to new subscriptions. Any recommended approach? Thank you in advance
I’m using the latest version of RC (4.39.0) and am getting crashes on [RCPurchases configure] on everything beneath iOS15.Is anyone else experiencing this?
How i can test the Apple Search Ads & RevenueCat Integration is correctly correcting data or not before making app live?is there any way to test it with sandbox?
I am using the Flutter purchases_ui_flutter package and I love it so far. When the paywall screen is shown, the top of the pages shows almost to the top, but not quite. Is there a way to allow the screen to go all the way to the top of the page? Thanks.
Our design calls for displaying the prices of our packages in a value proposition screen before the user has signed in. We want to avoid creating anonymous users at all costs, since this causes issues for our backend in handling RC webhooks. Unfortunately it seems like the RC SDK requires us to have configured Purchases before we can query offerings, and if the user has not signed in then configuring purchases will result in creating an anonymous user ID. Is there a recommended approach to this? It seems like an unnecessary restriction to have a user ID in order to query product offerings. Shouldn’t an API key suffice?
Hi there,We have a Flutter app for both iOS and Android that is integrated with RC through the SDK. We offer both subscriptions and one-time purchases(IAP). We are now integrating Stripe payments for both subscriptions and one-time purchases in our new web app. However, we are facing difficulties with the integration of one-time payment validation as it requires a Stripe Checkout Session. We have a custom payment form and UI that uses Stripe payment elements, and we are unable to use Stripe Checkout sessions. Are there any other alternatives that we could explore to create entitlement for these purchases?
When I run the command:Purchases.getOfferings()I get the following 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.The problem is that my colleague gets the offerings without a problem, so it’s not the configuration issue, we are using the same codebase and the same API key. What might be the problem?The whole error object:{"nativeStackAndroid":[],"userInfo":{"underlyingErrorMessage":"There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the Play Store.\nMore information: https://rev.cat/why-are-offerings-empty","readableErrorCode":"ConfigurationError","readable_error_code":"ConfigurationError","message":"There is an issue with your configuration. Check the underlying error for more details.","code":23},"message":"There is an issue with your configuration. Check the underlying error for more deta
My paywall has yearly and lifetime subsciption. I can’t find the way to replace the chinese of lifetime to the right word since now the meaning of 寿命 is the actual lifetime. The right translation should be 终身.
There is an official documentation page for integrating RevenueCat with firebase. The problem is that there are only code examples for Swift, but our team is using RevenueCat within Unity3d game project.Please, can someone help us to do the same using Unity3d firebase SDK by giving us some code examples that mimics the functionality of the swift code in documentation?Also it will be cool if RevenueCat team will see this message and add Unity3d code examples in documentation.
I have a monthly plan with 1-week trial introductory offer for iOS. I use RevenueCat Paywall. If I add a second introductory offer with a discount for the first 3 month, would it work?The other solution is to create a new subscription with discount introductory offer, but without free trial and a new paywall?
ref: www.revenuecat.com/docs/redocusaurus/plugin-redoc-3.yamlall unix timestamps are specified as type: integer - its pretty obvious that e.g. 1708417962662 does not fit into int32 and need format: int64 specified exampleexpiry_time_ms: type: integer description: >- The desired next expiry time to assign to the subscription, in milliseconds since the Epoch. The given time must be later/greater than the current expiry time for the subscription. example: 1708417962662example errorjson: cannot unmarshal number 1711127957264 into Go struct field Subscriber.request_date_ms of type int32 can you please provide a fix for this asap
I pass the Package that I got from Purchases.GetOfferings() to Purchases.PurchasePackage(). 2024/03/18 17:13:58.628 6919 6999 Error Unity NullReferenceException: Object reference not set to an instance of an object.2024/03/18 17:13:58.628 6919 6999 Error Unity at RevenueCat.SimpleJSON.JSONNode.Escape (System.String aText) [0x00000] in <00000000000000000000000000000000>:0 2024/03/18 17:13:58.628 6919 6999 Error Unity at RevenueCat.SimpleJSON.JSONString.WriteToStringBuilder (System.Text.StringBuilder aSB, System.Int32 aIndent, System.Int32 aIndentInc, RevenueCat.SimpleJSON.JSONTextMode aMode) [0x00000] in <00000000000000000000000000000000>:0 2024/03/18 17:13:58.628 6919 6999 Error Unity at RevenueCat.SimpleJSON.JSONObject.WriteToStringBuilder (System.Text.StringBuilder aSB, System.Int32 aIndent, System.Int32 aIndentInc, RevenueCat.SimpleJSON.JSONTextMode aMode) [0x00000] in <00000000000000000000000000000000>:0 2024/03/18 17:13:58.628 6919 6999 Error Unity at Rev
When presenting paywalls using .presentPaywallIfNeeded in Flutter, a progress indicator is missing.Can you please update the Flutter package so that a progress indicator can be displayed during the loading process of the paywall?
I’m trying to understand what this would return if the user is NOT connected to the internet when they first launch the app after a clean install. const payWallResult = await RevenueCatUI.presentPaywallIfNeeded({ requiredEntitlementIdentifier: "pro", });What im suspecting is that it returns PAYWALL_RESULT.NOT_PRESENTED, but this is wrong ,since when you are subscribed and not need the paywall this would be the case as well. So it returns this status if A) you are not connected to the internet (only on clean install) and B) you have a subscription already. This can make users that know this trick - just disable internet and have full access to all features, by just disabling internet for this app. Any advice ?
Hi !Is there a way to get the store country code via the flutter SDK ?
Hello, We have a subscription-based, multi-platform product that’s available on Web, Android, and iOS.Last week we set up Google Play and Apple Store integration with RC for our product and it’s finally working. We just started doing Stripe integration for our Web users, and it seems to be a lot more complicated and confusing than we expected. We feel that Strip integration is a 3rd-class citizen of RC, since there are only one vague doc, and a 2 year old sample code and a lot of required manual work. Here are our thoughts and questions. 1) Any use of SDK for Stripe at all?!When we first evaluated RC, we thought the Purchases SDK of RC would give us a hand on all platforms. (See the first paragraph below) However, it seems like the Client Side SDK of RC should be completely discarded on Web/Stripe, as it cannot do basic tasks like getPurchaserInfo (Source) even when we pass the strip_xxx Public API Key and app_user_id to the setup() method of SDK. It throws cordova_not_available err
I see that you guys have this overview metrics endpoint but looks like there is no way to get metrics by Offering. Could you please tell do you plan to add it to REST API or I should go with Webhooks?Thanks
Hi everyone,Is it possible to breakdown the “Subscription Retention” Charts by country? I couldn’t find any setting that let’s my chart breakdwon cohorts by different attributes. Besides, when I try to filter by country (e.g. country = United States), the number seems wrong, it shows much less results than I expected. Anyone know why?
Hello!I know that by developers locally its possible to clear the Purchase History on the Sandbox Testers section in AppStoreConnect. But how to clear the Purchase History for TestFlight testers that are not necesary connected to the Mac with cable and XCode?Is it posible? Where do I see the purchases I’ve made?Thanks in advance,Paolo.
Hi team,Is there a way to link a specific offering to specific app within a project?I am using a project to allow for shared subscriptions in the future, but to do so, I have to share my offerings between apps. The current system only allows for one default offering for all apps within the bundle and the offerings call from the iOS SDK returns all offerings as there is no way to mark them for a given app.I’d love a way to say that this specific offering or offerings is only for this given app and only to return it for that app API key.Otherwise I end up with errors like There's a problem with your configuration. No packages could be found for offering with identifier default_monthly.
I have both subscriptions and in-app purchases (lifetime unlock). All use the same entitlement (unlock). I would like to differentiate between sandbox and non-sandbox purchases. Specifically, if someone buys in production, that should overrule anything bought in the sandbox, and Sandbox purchases should not be used in Production.The entitlement info provides that information but because it’s a dictionary, it only stores one purchase for the unlock entitlement. Problem 1: If someone buys something in production and later buys something in the sandbox, I believe the entitlement could be “inSandbox” because it’s the most recent transaction, even though there is also a production one (and I prioritize production purchases over sandbox)Problem 2: Non-subscription purchases have a sandbox flag, but TransactionsFactory.nonSubscriptionTransactions() discards that information, so that it is not possible to determine if a non-subscription transaction was purchased in the sandbox (even though tha
Hi there!I’m currently implementing the paywall for my game in Unity. If fetch all offerings via the SDK, and my idea now is to check if the user is eligible for the free trial i have configured on all my products, and make the paywall offer that accordingly.How do I do this in Unity? I don’t find any documentation on it, I feel like I have to run it on different devices, look at the different JSONs the SDK receives, read through the source code, etc. Feels odd for this being such a common use-case.My first idea was if I can check “StoreProduct” objects in the packages of an offer have an “IntroductoryPrice” set, and then offer a free trial. But maybe that one is always set, regardless of eligibility? The existence of the “CheckTrialOrIntroductoryPriceEligibility” method makes me think so. For Android, you write “If Google Play determines that a customer is not eligible for the offer, it will not show up in the subscriptionOptions of the StoreProduct in the SDK at all.” To sum up: I ne
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.