Discussion and help from anything related to RevenueCat.
Recently active
Hi,We’re working on a Flutter application with one of the main features requiring in-app-purchases.Due to requirement of integrating our back-end (webhooks), as well as collaborators, we’d sign up for the “Starter” plan (https://www.revenuecat.com/pricing).Before we do sign up, kindly please clarify: Do you have any plans for integrating PayPal as well? You already provide Stripe integration, but no PayPal – is this in the plans or is there perhaps some limitation on PayPal side which prevents such, or perhaps other reason which you can disclose. Or is adding PayPal as payment method to Google Store (https://support.google.com/store/answer/6160267?hl=en) / Apple Store (https://support.apple.com/en-us/HT202631) on customer’s side the only way to have such? The single API for Google / Apple / Amazon and Stripe you provide through Flutter SDK (https://pub.dev/packages/purchases_flutter), as well as extensive documentation, are impressive. However, we have not found anything regarding Ke
By reading the docs of Displaying Paywalls, it seems like Paywall Dialog is only available when using compose. Is there any non compose way of displaying it?Thanks.
When running my app, I show a paywall as activation for the app (similar to Netflix). Right when the app launches, on Thread 1, the app gives an EXC_BAD_ACCESS and the app terminates.This error happens in the core RevenueCat package, in RevenueCat > Sources > Paywalls > PaywallData.swiftUnder “extension PaywallData” in “public struct Configuration”, the exception is called on line 224 (line 3 in this codeblock):/// If set, the paywall will display a terms of service link.public var termsOfServiceURL: URL? { get { self._termsOfServiceURL } set { self._termsOfServiceURL = newValue }}The full error is: Thread 1: EXC_BAD_ACCESS (code=1, address=0xfffffffffffffff8)This is my console logs:10.27.0 - [GoogleUtilities/AppDelegateSwizzler][I-SWZ001014] App Delegate does not conform to UIApplicationDelegate protocol.DEBUG: ℹ️ Configuring SDK using RevenueCat's UserDefaults suite.DEBUG: 👤 Identifying App User IDDEBUG: ℹ️ Debug logging enabledDEBUG: ℹ️ SDK Version - 4.43.0DEBUG: ℹ️
It would be GREAT if we could easily compare the current data to the previous range. For example, when I’m looking at this year’s revenue chart, I want to see how that compares to last year’s revenue. Or if I’m looking at the last 28 days of new subscriptions, I want to know how does that compare to the previous 28 days? This is pretty easily done with line charts, by adding another line with less opacity or a different color, but I understand it might not as easy to implement with other chart types or segmented charts.
A succeed purchase is complete, but when I re-launch the app again, the paywall page is displayed again. How to avoid it, meaning to check if a user already purchased before then if yes not pop up the paywall.``` .sheet(isPresented: $showPaywall) { MyPaywallView() }``` ```import SwiftUIimport RevenueCatimport RevenueCatUI struct MyPaywallView: View { var body: some View { PaywallView() }} #Preview { MyPaywallView()}```
Hello everyone! I heard about it that you are looking for a Mobile engineer, I could be the one, with 10 years of experience, worked with my last client which had over 1M DAU.I’m dropping here some of my skill set: ✅ Android, Java, RxJava, Kotlin, iOS, Objective-C, Swift, React-Native, Backend, Frontend, Database, Rest API, Unit testing, Multi-threading, Security, UI/UX, Bash scripting;✅ Software Architecture: Dependency Injection, MVVM, MVC, MVP, OOP, SOLID;✅ Development: Android Studio, IntelliJ IDEA, Xcode IDE, Proxyman, Sublime Text, Sublime Merge, iTerm Terminal, TablePlus, RapidAPI;✅ Tools: GIT, CI/CD, Jira, Slack, Meet, Teams, Jenkins, GitLab, GitHub; ✌️😄
Hello,i've found an issue in revenuecat API that i want report in order to have the possibility of get a bug bounty.i've search your company on HackerOne but didn't found it. how can i report that?thanks.
My app has a freemium model and requires users to create an account and log in to access the free features of the app. For the premium stuff, user has to buy a subscription.In Closed Testing, Google reviews the app and needs login credentials to access the app. I can create login credentials for the free features, but how do I handle the premium features? What is the standard procedure used with RevenueCat?Thank you
Appsierra is a the best software testing company known for its robust suite of quality assurance and testing services. Founded with a vision to deliver excellence in software testing, Appsierra has established itself as a reliable partner for businesses seeking to enhance the quality, reliability, and performance of their software applications.Core Services and Expertise: Comprehensive Testing Solutions: Appsierra offers a comprehensive range of testing services that cover all aspects of software quality assurance. This includes functional testing, regression testing, performance testing, security testing, usability testing, compatibility testing, and more. By employing industry-leading tools and methodologies, they ensure thorough testing across various platforms and environments. Automation Expertise: Recognizing the efficiency and scalability benefits of automation, Appsierra excels in automation testing. They leverage state-of-the-art tools and frameworks to automate repetitive t
I’m working on setting up the Superwall integration, following the instruction on https://www.revenuecat.com/docs/integrations/third-party-integrations/superwall. I’m looking for advice on the best practices for making sure the user IDs match between RevenueCat and Superwall. Our iOS app uses a RevenueCat anonymous ID on first launch, then asynchronously generates a user ID and sends it to RevenueCat. However, the ID is not guaranteed to exist because it’s tied to the user’s iCloud account, so some users may just use the anonymous RevenueCat ID. The flow I was considering was something like this:After launch, retrieve the RevenueCat anonymous appUserID and send to Superwall. Attempt to generate iCloud-based ID. If iCloud-based ID is created successfully, send to RevenueCat and Superwall. Otherwise, do nothing.Does that seem correct? (Or is this something I need to take up with Superwall instead?)
Hi,I'm new to revenue cat and I'm not sure how to integrate 2 different subscription types with different plans (1M, 6M, 1Y). I have already integrated a Silver subscriptions type with the 3 plans using the current offerings. Right now I don't if possible if I can make another offering in revenue cat for the Gold plan and it can be called in the app. Thanks in advance.
I am facing problems in the latest version of iOS.Xcode version: Version 14.2 (14C18)POD Target: 11.0 [!] CocoaPods could not find compatible versions for pod "PurchasesHybridCommon": In Podfile: purchases_flutter (from `.symlinks/plugins/purchases_flutter/ios`) was resolved to 4.10.0, which depends on PurchasesHybridCommon (= 4.13.1)None of your spec sources contain a spec satisfying the dependency: `PurchasesHybridCommon (= 4.13.1)`.You have either: * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`. * mistyped the name or version. * not added the source repo that hosts the Podspec to your Podfile. flutter doctorDoctor summary (to see all details, run flutter doctor -v):[✓] Flutter (Channel stable, 3.7.0, on macOS 13.1 22C65 darwin-arm64, locale tr-TR)[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)[✓] Xcode - develop for iOS and macOS (Xcode 14.2)[✓] Chrome - develop for the web[✓] Andro
Dear Support Team,I am using Flutter with the RevenueCat package for my app, and I encountered a crash during the Apple review process. Please refer to the attached screenshot. I am not familiar with Objective-C, but it seems there is an issue with the customerInfo function. Do I need to modify this part of the code to resolve the crash? Thank you for your assistance.Best regards,
I am using the revenuecat paywalls. I feel this is an error that should be fairly well known? But Under certain circumstances I have not been able to confirm which. A free trial maybe available to users, and maybe displayed correctly as such, but then when the user tries to purchase package, the introductory offer is not available?(I have tested this with every device I have, and attempting to ask international friends. but All the time it is just as expected. Free trial → Free Trial. But for the Google Play tester in India mostly India this occurs… I thought it was because of the override India has for prices over 5000 rupees, so I brought the price down to that and confirmed in the play console that the override wasnt occuring but the error still occurs for India tester(s)? I have no idea if its a bug in revenuecat integration or more likely a bug in the google side? (Am I doing something wrong?) Again everywhere but during the review tests does this bug appears…
Hi everyone,Does anyone know if it’s possible to get the promo code that was used to download an app, in the case that the code wasn’t actually used to start the subscription at that time? I.e. the user taps a promo code url, and they don’t have the app installed, so they are taken the App Store. The app prompts them to download the app, which they do. They are then prompted to redeem the code (and start a subscription), but they choose not to. Is it possible to get the code that was used? Ideally I’d like it to be available in RevenueCat, maybe as a user attribute.The use case is as follows: I have someone who will be promoting my app for me, giving potential users a promo code with a discount. In the case that the user starts a subscription with their code, the subscription can be attributed to them. However, I also want to attribute the user to my promoter in the case that the user downloads the app via their promo code url, declines to initially start a subscription, but then goes
I have followed all the steps for integration with react native to fetch subscription from google play. However the getOfferings method always returns the following{"current":null,"all":{}}Would appreciate some help. P.S. I have created subscription in Google Play Store and Revenuecat both
Hello Everyone!.I've implemented RevenueCat's subscription functionality in both my Android and iOS apps.The Customer Dashboard in RevenueCat is currently showing the paid subscription information for my Android users accurately. However, it's not displaying any paid subscriptions for my iOS users. I have verified that the paid subscriptions are working correctly for iOS users through the App Store and on their iPhones. The issue solely lies in the RevenueCat Customer Dashboard not showing the paid subscription information for iOS users. Has anyone faced a similar issue or have any suggestions on how to resolve this problem? Your advice and insights would be greatly appreciated! Thank you in advance!
I am successfully setting the user’s attributes in my RN app with setAttributes, however, they do not show in the dashboard. I’ve waited over 3+ hours at this point. I’ve put the app in the background, and quit/re-started, but they still do not show in the dashboard. I also invalidatePurchaserInfoCache in our dev environment. What is needed to get this to work?
My app has two modes, offline and online. The offline mode (which doesn’t require users to log in) offers users a non-consumable, while the online mode (which requires users to log in) offers subscriptions. RevenueCat handles the subscriptions part well. However, for the non-consumable part it’s a bit confusing. I’ve read multiple posts here and saying that RC will always CONSUME the products. However, Google’s Billing Library offers two ways to handle non-subscriptions products, one is to acknowledge, another way is to consume (https://developer.android.com/google/play/billing/integrate#non-consumable-products and https://developer.android.com/google/play/billing/integrate#consumable-products). By calling ` BillingClient.acknowledgePurchase()`, it ensures that it’s treated as non-consumable so that when user tries to purchase this again, Google Play will prompt an error saying “You’ve already owned this item”. By calling `BillingClient.consumeAsync`, it will therefore be treated as
Hello, I can find here https://www.revenuecat.com/docs/integrations/third-party-integrations/clevertap steps to make RevenueCat integration with CleverTap, I can find several programming languages how to do this, but unfortunately I can’t find (Dart) which is the programming language of Flutter.So is there any docs or steps how to implement this integration in a Flutter app?Also is it free or need to upgrade plan?Thanks in advance.
I’m interested in setting up two introductory offers. First, the user will get 7 days free, then the user will get a discounted first year (e.g. $50), then the user gets charged the full price for the second year (e.g. $100). Pretty sure I can set all this up in Apple and Google. Will RC’s Paywalls handle this with variables? For example, will RC detect if the user is eligible for either/both the intro offers (e.g. a free week and a discounted first year) and display the correct pricing via variables on the paywall? As far as I can see, I don’t see variables that handle different prices for different years. I only see one price. Does RC variables handle this multiple intro offers scenario? Like, using variables, can I get the paywall to say something like “$50 for first year, then $100 per year after that”? Or does RC just display the discounted first year, and it’s up to Apple to display that the second year will go up in price during Apple’s checkout process?
When designing a RC Paywall, if I use a variable like {{ total_price_and_per_month }} will the dollar sign always be used, or will people in other countries see the price in their currency, with their currency symbol?
I seem to be getting an incorrect value for my free trial billingPeriod on Android.I thought it would be good to ask here whether I’m understanding this correctly and/or whether to open an issue on GitrHub.I’ve set the trial period to 90 days in the Play Console, but in the returned package I’m getting 86 days. Looking at the iso8601 value, 84 days corresponds to 12 weeks so it looks like it’s ignoring the 6D. I’ve just learned that iso8601-1 doesn’t allow any other values if W(eeks) is specified but iso8601-2 does. It seems like, although P12W6D is correct (84 days + 6 days = 90 days) the ‘value’ field is showing an iso8601-1 interpretation (84 days only) rather than iso8601-2.Could this be a bug?
I have setup the code for magic weather sample app provided by revenue cat, for Flutter.I followed the whole guide, creating the service account, adding license tester etc, providing all the required permissions in google play console to service account email etc.And the app is working fine in debug mode, even if I create a release apk and install it in my physical device, it works fine.But when I uploaded the aab on google play console, and downloaded it into my physical device, my offerings are not loading. The indicator just keeps loading and loading.I have tried internal testing and closed testing. Initially I was trying it in internal testing only, as I didn’t have to provide icon, description, screenshot etc for that, so it was easy, but when it didn’t work, I tried closed testing, but it still didn’t work. I didn’t submit the app for review, completed rest of the steps, and downloaded app using the link.
Hello, I use the revenuecat library to remove ads in my game (non-consumable) and buy coins (consumable). I don't use login, I make purchases anonymously.- Remove ads (cannot be consumed) When I buy, I check whether the purchase has been made by checking customer info -> entitlements. Is this method correct?- When I cancel/return my purchase to remove ads (which cannot be consumed), this situation is reflected very late in customer info -> entitlements. Is it because it is a test?- When I canceled/returned my purchase of removing ads (which is not consumable), I noticed that when I removed all offers (both non-consumable and consumable) with getOfferings, the product to remove ads (which is not consumable) did not arrive. Is it because of this test?- I check the Coin I purchased (consumable) in customer info -> entitlements and confirm my purchase. Is this method correct?- Where can I track this situation when I cancel/return my purchase of Coins (consumables)? Should I take b
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.