Get help with your SDK implementation.
Recently active
Hi,Here are the packages I have in my pubspec.yaml file.cloud_firestore: ^2.5.3firebase_core_web: ^1.1.0cloud_firestore_web: ^2.4.3firebase_core: ^1.7.0firebase_auth: ^3.1.2provider: ^6.0.1firebase_messaging: ^10.0.8firebase_crashlytics: ^2.2.2firebase_analytics: ^8.3.3purchases_flutter: ^3.0.0 I run everything in Flutter stable channel version 2.5.2.I tried using flutter channel beta version 2.6.0-5.2.pre as well. The iOS version of the phone is 15.0.1. And I run tests on Iphone 7 (physical device, not a simulator). The app works perfectly fine on Android but it hangs at the start of the app when I call the following function:Offerings rcOfferings;rcOfferings = await Purchases.getOfferings(); And the getOfferings() function never returns.. It was working perfectly fine before.. During the update procedure, the only change I made is the following:Remove the following: Purchases.identify(rcAppUserId);And instead use: Purchases.logIn(rcAppUserId); Is this a known issue? What can be pot
The following code published at https://www.revenuecat.com/docs/subscription-guidance/subscription-offers#checking-eligibility is unable to detect the trial offer eligibility correctly in the sandbox environment. Is there any solution to this? Thank you! Purchases.shared.getOfferings { offerings, error inif let product = offerings?.current?.availablePackages.first?.storeProduct {Purchases.shared.checkTrialOrIntroDiscountEligibility(product: product) { eligibility inif eligibility == .eligible {// show trial/introductory terms} else {// user is not eligible, show non-trial/introductory terms}}}}
Hi - I’m new to RevenueCat, and currently looking at use it to replace a direct BillingClient implementation for an Android app. For the app in question we offer two in-app-purchases - both are lifetime (i.e. non-consumable).From what I can see after integrating the SDK, it appears to be attempting to consume the purchase. Indeed looking at the SDK code on GitHub, it appears to attempt to consume any INAPP product’s, and only acknowledges SUBS.So - am I doing/understanding something wrong here? Can I support non-consumable INAPP purchases on Android using RevenueCat?
Installed SDK a couple of weeks ago. Now trying to use a paywall and saw the demo of the “supplied” paywall, but doesn’t seem to have installed RevenueCatUI (or fails when I try and import RevenueCatUI like in their video...) Total newbie I’m afraid...is there something I need to install in addition to the SDK and in addition to AppStore connect setup? Or do I need to forget it and code a basic paywall myself?
Hello,Although I have been using RC for a few years I am trying the Paywall feature for the first time, on a new app.I added a product on AppStore Connect, imported it into RC and added the RC SDK to my SwiftUI app.I initialized RC as per the docs, and it is working because I can output my product name after calling getOfferings: the logs also show that RC initialization has been successful.However, PaywalView displays a red badge with “Purchases has not been configured” Extra info:I am trying to embed the paywall view into a Carousel, that is why you see the three dotsDo you have any suggestions?Thanks,Davide
Hi AllI want to enable users to tip other users and wondering how the money gets to the user. For example user 1 will tip user 2 for their content using IAP, how does user 2 receive the money, is this handled by Apple, or do we collect IAP tip payment and distribute it ourselves. Thanks!
I’m intergrating RevenueCat Paywalls. There are two main ways to present a paywall in SwiftUI using View modifier `presentPaywallIfNeeded(...)` or manually allocating `PaywallView(displayCloseButton: true)`. And there is not callback events for manual allocation, how to handle events in this case?
I wrap my app with BugSnag to capture errors. It’s not entirely uncommon to have errors with the `Purchases` API from RevenueCat. For example, just today: You can see the error is `Error performing Request` which comes from my code block: useEffect( function offerings() { async function getOfferings() { try { if (!paywallEligible) return; const offerings = await Purchases.getOfferings(); if (offerings.current?.availablePackages.length) { setOfferings(offerings); setActivePkg(offerings.current?.availablePackages[0]); } } catch (e) { setMessage(['error', 'Error retrieving products.']); Bugsnag.notify({ name: 'getOfferings Error in Paywall', message: (e as Error).message, }); console.error(e); } finally { setIsLoading(false); } } if (!isReady) return; getOfferings(); }, [setMessage, isReady] );Because thi
I have integrated latest SDK of flutter in my app. I’m using default Paywall created by Revenuecat. In Android device not able to Skip button which we generally use in Paywall. How to add that.
Hello!We are integrating subscriptions in FlutterSir we have two subscriptions(PRO and ELITE) in a single group(AppStore). We have user login system. We give app user id. So the issue is that it is working well but we need the following: 1. User want to upgrade from PRO to ELITE within the app. mean changing subscription plans within the app. Please guide me how to do it. Please share any related documentation where i can follow the steps to do upgrade/downgrade subscription from the app, yes not from setting. is there any code to do this?
I am unable to see entitlements/purchases on android when I’m logged in with the same user id that I used for iOS (I purchased through iOS).Here is how I setup the app user id: import React from "react";import { useSelector } from "react-redux";import Purchases from 'react-native-purchases' const SetupRevenuecat = () => {const stateAuthSession = useSelector(state => state.auth.session)React.useEffect(() => {Purchases.setLogLevel(Purchases.LOG_LEVEL.DEBUG)console.log(stateAuthSession?.user.id)if (Platform.OS === 'ios') {console.log('ios user id: ', stateAuthSession?.user.id)Purchases.configure({apiKey: 'appl_xxx', appUserID: stateAuthSession?.user.id })} else if (Platform.OS === 'android') {console.log('android user id: ', stateAuthSession?.user.id)Purchases.configure({apiKey: 'goog_xxx', appUserID: stateAuthSession?.user.id })}Purchases.setAttributes({ "email": stateAuthSession?.user.email })}, [])}export default SetupRevenuecatLoading both android and ios shows: BUNDLE ./in
I've updated my schema on Xcode to set my location to a different country. I tried running it on both a physical device and a simulator. In both cases, all the apps on the device respond to the simulated location, but Revenue Cat continues to show the paywall in my actual local (prices and currency). I'm assuming that the RC SDK is not relying on geolocation, so it needs to pick up the change. Do I need to change my IP address? Is there an easy way to test paywalls in simulated locations?
Hi all,I’m setting up subscriptions with RevenueCat and I noticed that `[RCPurchases.sharedPurchases customerInfoWithCompletionHandler:^(RCCustomerInfo * _Nullable info, NSError * _Nullable error) {` will have the completion handler called a background thread. Is this intended? Are all RevenueCat callbacks on background threads? Do I need to always run `dispatch_async(dispatch_get_main_queue()` after a RevenueCat API?Thanks!
Hi, the app is using RC to make a purchase, I already update the bundle Id and the keys into the RC dashboard, However when I tried to make a purchase I’m seeing in the logs that is in sandbox env.And when the Apple pay dialog is presented, it is displaying information about sandbox user. My question: Should I modify something in the RC dashboard to user a production environment ?2023-07-26 09:02:41.399867-0500 Sharpen[2703:1095151] [receipt] WARN: 🍎‼️ App running on sandbox without a receipt file. Unable to determine into eligibility unless you've purchased before and there is a receipt available.request for these products because they were already cached: ["2023.07.premium.recurring.offer"]2023-07-26 09:02:41.399717-0500 Sharpen[2703:1095151] [network] DEBUG: ℹ️ GetIntroEligibilityOperation: Started2023-07-26 09:02:41.399867-0500 Sharpen[2703:1095151] [receipt] WARN: 🍎‼️ App running on sandbox without a receipt file. Unable to determine into eligibility unless you've purchased befo
Hi,I am facing an issue getting StoreProduct on Android using Flutter. On iOS, everything is fine, I can add any product on AppStoreConnect, then get it in RevenueCat automatically and then display and purchase products in my app.But on Android, I can’t get any product.The app is in production but also in Closed Testing. My product is “Active” in Google Play Console.The only thing I can think for now is Google Play Console giving me a problem with the payment profil. Do you think it can be from there ? I’m not the owner of Google account so I can’t check.I think I’ve tried every solution on internet..
When presenting paywalls using .presentPaywallIfNeeded in Flutter, RevenueCatUI does not include a close button. I've tried it with 5 - Bengal template. Can you please update the Flutter package so that the close button is displayed automatically on the paywall?
I have another example of a customer history where I am not sure if it should currently have or not have entitlements. For reference customer id is zFJvdHtkE2evnc9fnhtGVNLcDt52.The webhook events are in this order: What seems to be missing is another EXPIRATION event. Feb 21 should be when the grace period expires and the subscription should end. But at this time after one renewal and after pausing the subscription, we have yet to receive any information of the latest status. RC console says that Subscription expired on 2024-02-18. Is there any reason no webhook event came in in February?
Hi, We are currently managing app specific entitlements by relying on webhooks.Does the SUBSCRIPTION_PAUSED event require any intervention to add/remove entitlements? Or this event is just informative and is correctly preceded and followed by RENEWAL and EXPIRATION events (which do need actions)?This sections of the documentations seems short and I was not able to get a clear picture.Thank you
I am using revenuecat paywall for react native. I created paywalls for english and arabic. I was able to change the contents of paywall into arabic but i was not able to change the restore, terms and policy buttons to arabic.I am using Sphynx content template, but also tried it Bengal content template. Please guide me if I am missing something.
I tried to use this url https://github.com/RevenueCat/purchases-ios.git and didn't worked for me.
Hello RevenueCat Community,I've encountered a scenario in my app where RevenueCat seems to be assigning an anonymous ID to the user even when I have previously configured the SDK with a specific appUserID. This behavior appears to manifest when there's no internet connection available.From my understanding, once a user is assigned a specific appUserID, RevenueCat should use this ID for any future interactions, including syncing purchase information or entitlements. However, in offline scenarios, it seems to revert to using an anonymous ID, which I find perplexing.Could someone clarify under what conditions RevenueCat opts to use an anonymous ID instead of the appUserID provided during SDK configuration? Additionally, are there best practices or considerations we should be aware of to ensure consistent user identification, especially in offline scenarios or during network interruptions?I can handle network issue, and ask the user to turn on the network, but it’s different for the issue
Hi there, We are looking into creating the Apple Privacy Report for our react native app. I have seen that the ios SDK now includes a Privacy Manifest and that NSPrivacyTracking is false. This seems correct for the default behaviour of the SDK. Am I correct in thinking that it is your intention to leave it to the developer to add to their own Privacy Manifest if they choose to collect device identifiers using the RevenueCat SDK? Many thanks,Lydia
We’ve been using the open source SwiftyStoreKit for a long time for our non-consumable in-app purchases, but the project hasn’t been updated in many years: https://github.com/bizz84/SwiftyStoreKit. They have zero support for StoreKit 2 with pretty much none planned.We recently started using RevenueCat for the subscriptions side of purchases (we just launched our first subscription). Can it also be used for our non-consumables? We’d just completely switch to it within our app if that’s the case to clean up our code. Android as well?
Hello!When looking at the iOS SDK, I see various methods that can be used on a Product that are missing from the Flutter SDK:`localizedPricePerMonth` `pricePerMonth` `priceFormatter`These are extremely useful to show the user how much their annual subscription will be per month and how much they are saving compared to the monthly subscription.Are there plans to bring these on Flutter? Or is there a workaround?
Build input file cannot be found: '/Users/corentinsayman/Downloads/LokumEzmesi/Library/PackageCache/com.revenuecat.purchases-unity@6.7.0/Plugins/iOS/PurchasesDummy.swift'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? Please help me.
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.