Get help with your SDK implementation.
Recently active
Hello! My app is made using flutter and purchases_flutter. About a month ago I upgraded purchases_flutter from 5.6.5 to 6.30.2. The software update has been accepted, but a few days ago I received the following message:We found an issue in the following area(s):Version code 26: Policy Declaration - Data Safety Section: Device Or Other IDs Data Type - Device Or Other IDs (some common examples may include Advertising ID, Android ID, IMEI, BSSID, MAC address)I checked my merged manifest file and there is no <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>code inside manifest. I’ve seen this article: Google Play's Data Safety and it talks only about purchase history (financial data). In my existing data security form, I declared that the application does not process any data (I have not seen the above mentioned article before).What to do? Submit a declaration on processing only financial data (Google clearly writes about Device Or Other IDs). Is it possible t
Hey guys I facing this issue trying to use the react-native-purchases-ui, when I tri to build running npx expo run:android I receiving this error. My packages:"expo": "~51.0.28","@expo/config": "~9.0.0","@babel/core": "^7.20.0","react-native": "0.74.5","react-native-purchases": "^8.0.1","react-native-purchases-ui": "^8.0.1",My build config: [ "expo-build-properties", { "ios": { "useFrameworks": "static" }, "android": { "compileSdkVersion": 34, "targetSdkVersion": 34, "buildToolsVersion": "34.0.0", "minSdkVersion": 24, "enableProguardInReleaseBuilds": true, "enableShrinkResourcesInReleaseBuilds": true, "enablePngCrunchInReleaseBuilds": true } } ]FAILURE: Build failed with an exception.* What went wrong:Could not determine the dependencies of task ':app:processDebugResources'.> Could not resolve all dependencies for configuration ':
Hi, I’m using the latest version of RevenueCat SDK on Android 5.7.1. I’ve noticed in debug logs that `AppInBackground` is always `true` even through the app is at foreground.This has caused some issues, such as cache not being updated in time. IIUC if app is in background, the SDK only updates cache once a day instead of the default 5 mins. Also, I realise that offerings are not being cached at app launch. When I start the activity with paywall, there’s always a noticeably delay of 2-3s to fetch the offerings. I’m not sure if this is related to `AppInBackground` always being `true`. Here’s a complete list of debug logs when I open the app```2023-02-14 01:15:11.298 30603-30603 [Purchases] - DEBUG com.yygg.note.app D ℹ️ Debug logging enabled2023-02-14 01:15:11.298 30603-30603 [Purchases] - DEBUG com.yygg.note.app D ℹ️ SDK Version - 5.7.12023-02-14 01:15:11.298 30603-30603 [Purchases] - DEBUG com.yygg.note.app D ℹ️ Pa
Hello,I’m using the latest Revenue Cat SDK (8.4.0) and i’m trying to do the following use case in Sandbox :Subscribe to a monthly subscription Immediately refund it from Revenue Cat dashboard Open the app and see that the premium content is no longer available for the userI’m callingPurchases.sharedInstance.getCustomerInfoWith(fetchPolicy = CacheFetchPolicy.NOT_STALE_CACHED_OR_CURRENT) { customerInfo -> checkStatus(customerInfo) }And always get this Logs : Retrieving customer info with policy: NOT_STALE_CACHED_OR_CURRENTℹ️ Checking if cache is stale AppInBackground trueℹ️ Vending CustomerInfo from cache. Something weird here, is that AppInBackground is always returning TRUE.This means that the cache will not be stale before the 25 hours delay and never within the 5 minutes delays for foreground application. Then the cache is never updatedI’m initializing my Purchases only once in the onCreate of my Application classif (BuildConfig.DEBUG) { Purchases.logLevel = L
Everything is working as expected using internal testing with the apk file. As soon as I upload the aab file as part of the same build, my in app purchases do not trigger on android. I can’t seem to troubleshoot this since it’s working locally and with the apk, but not during closed testing. Has anyone experienced this or have any advice? Thanks.
Hey folks,We have a good amount of users who sign up multiple years in a row with different email addresses and then our purchase history for them shows them incorrect offers because they don’t get linked up in the RevenueCat backend. I don’t know this for sure, but I suspect many people are also removing our app in the interim (which may be part of what makes this trickier)We’re trying to call `syncPurchases` whenever we have a successful login (so they aren’t anonymous IDs). But we still don’t get it right.If I call `restorePurchases` where we’ve called `syncPurchases`, everything works. Of course, the caveat is that the OS-level login prompt sometimes shows up. Is this a RevenueCat bug? My understanding is that `syncPurchases` should basically be a drop in replacement for `restorePurchases` with no prompts. Using React Native and code push, I’ve been able to verify the only thing I need to make my logic work is to switch `syncPurchases` with `restorePurchases`, but I’m reluctant to
Hi,I've encountered an issue while integrating RevenueCat into my Expo project, and I need some guidance to resolve it.Here's what I have done so far:I initially added my products to App Store Connect. Then, I connected my App Store Connect account to RevenueCat using the App Store Connect API. After that, I tried to create new products in RevenueCat, and I was able to list the products directly from App Store Connect. I successfully added them from there. I created my offers and linked them to the products.However, when I run const offerings = await Purchases.getOfferings(); in my Expo project, I encounter the following error: [Error: There is an issue with your configuration. Check the underlying error for more details. 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-empty] I am try
I deleted a package identifier in an offering I was setting up. I then tried to add the identifier back in with the same ‘name’ and description and I get the message that the package identifier already exists. However, it is no longer in the list. Does this mean that I cannot delete package identifiers and then re-add them back in if I change my mind on an offering that is not current. What happens if I delete the complete offering? Will all package identifiers I used no longer be available to re-use in a new offer? Thanks
Hi,The “Checking Subscription Status” page in the documentation says “It's important to note that CustomerInfo will be empty if no purchases have been made and no transactions have been synced. This means that entitlements may not exist in CustomerInfo even if they have been set up in the RevenueCat dashboard.”“originalAppUserId” is on CustomerInfo, and I’m using “originalAppUserId” to identify customers who want to remain anonymous before they purchase a subscription (I use “originalAppUserId” as the key to store data in Firebase which they will need to have access to before and after subscribing). Will this property be empty too?If it is, is “originalAppUserId” available anywhere else prior to CustomerInfo being created, or can I force the creation of CustomerInfo (by calling syncPurchases for example)?Failing that, am I safe to assume that where “originalAppUserId” isn’t available I can use “appUserID” and assume that will become the “originalAppUserId” once the user has subscribed?
Which of these delegate methods are expected to be called upon completion of a purchase, or are both expected to be called? I can’t find any documentation at all on the site for PaywallViewControllerDelegate, am I missing something? I can tell what sometimes happens, but I would really like to know what is the expected/prescribed behavior for these two delegate methods. If I put the same actions in both for a successful purchase, it could cause problems, and I don’t want to have to deal with a race condition.paywallViewController(_, didFinishPurchasingWith: )paywallViewController(_, didFinishPurchasingWith: , transaction: )
Is there a way to give user’s 3 days free of pro without subscribing to the actual subscription?I’d like to upgrade them to pro for a few days so that they can try it and then downgrade them after the trial and prompt them that they can get another week for free once they subscribe.Duolingo has this model when you reach a certain amount of days, they give you 3 days free of pro without subscribing.Is there a way for me to do this?
Using react-native-purchases package at version 8.0.1 on an Expo project at version 51.0.22Trying to run Purchases.configure throws the error.useEffect(() => { if (Platform.OS === "ios") { Purchases.configure({ apiKey: "<OBSCURED>" }) } }, [])
Hello Support Team,I am experiencing an issue with updating the prices in our React Native app, which is built using Expo SDK 51 with react-native-purchases@7.27.1. Specifically, after I change the prices in the Play Store or App Store, the new prices are not reflected in the app's PayWall component. The app continues to display the old prices unless the app is restarted.I have tried calling syncPurchases() before making a request to getOfferings(), but this does not seem to resolve the issue. The PayWall component still receives the old data.Could you please assist in identifying a solution to ensure that the app fetches the updated prices without requiring a restart?Thank you for your assistance.
We have an app that’s build in Flutter, and it works with both Play Store as well as Apple Store. On both platforms we have set up products (no offerings, or entitlements), as the approach is that the users can buy a product (subscription) and change it at any time.The Apple Store subscriptions works well (in sandbox mode) and I am able to buy the lowest subscription, then upgrade to higher, and finally downgrade again, without waiting for a subscription to expire.On Play Store, however, this doesn’t work. I start with the lowest subscription, and then I can upgrade, but if I tried to do another upgrade/downgrade, I get Play Store popup with the following message:Error retrieving information from the server. DF-DFERH-01 Then I get an error from RevenueCat SDK:PlatformException(2, There was a problem with the Play Store., {code: 2, message: There was a problem with the Play Store., readableErrorCode: StoreProblemError, readable_error_code: StoreProblemError, underlyingErrorMessage: Erro
Hello I have the exact same problem as this post, But there is no response I could use.
HI, suddennly it is not possible to fetch anymore google offers from revenue cat from my react-native app ( expo ) . It is working correctly for IOS. I updated, - "react-native-purchases": "^7.15.0",+ "react-native-purchases": "^7.28.1",Error is Error: There was a problem with the store. Can you please retur more meaningfull erros? It is impossible to debug what it is wrong with this api. Thanks.
My problem is with iOSMy subscription is registered under the AppStoreConnect and says “Ready for Review”All my Agreements are signed and up to date.My Bundle ID is correctI was able to successfully import my products to RC.My Products,Offerings, Entitlements are created.My app is registered on RC. (appdd508ae716)I am using TestFlight.I am using Expo I can’t think of anything else, I don’t understand why I am still getting this error. I have not tested on Android yet.
ERROR Error loading offerings: [Error: There is an issue with your configuration. Check the underlying error for more details. 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). React Native + Expo - Testing Revenue Cat on iOS Having trouble getting offerings on my device, however I can get them on my emulator, but they are in Sandbox mode and show the default of the image below. None of my products on App Store connect are priced at this value.Please help - thanks
Hello! Our app is being rejected because since we added RevenueCat we are violating the data practices of the Google Families Policy on our Kids App.The rejection explation below:Your app violates the Families Policy Requirements policy. We’ve identified that your app or an SDK in your app transmits identifier(s) that do not comply with our Families Policy. These identifiers may include, but are not limited to Android Advertising ID (AAID).For example, the destinations of Android Advertising ID transmission may include, but are not limited to: facebook.com.Apps that solely target children, must not transmit the following:Android Advertising ID (AAID) SIM Serial Build Serial BSSID MAC SSID IMEI and/or IMSIApps that target both children and older audiences must not transmit the listed identifiers from children or users of unknown age. Action required: Submit an update to your appRead through the "Data Practices" section (#5) of the Families Policy Requirements, and the User Data policy.
Hello,I’m using the latest Revenue Cat SDK (8.4.0) and i’m trying to do the following use case in Sandbox :Subscribe to a monthly subscription Immediately refund it from Revenue Cat dashboard Open the app and see that the premium content is no longer available for the userI’m callingPurchases.sharedInstance.getCustomerInfoWith(fetchPolicy = CacheFetchPolicy.NOT_STALE_CACHED_OR_CURRENT) { customerInfo -> checkStatus(customerInfo) }And always get this Logs : Retrieving customer info with policy: NOT_STALE_CACHED_OR_CURRENTℹ️ Checking if cache is stale AppInBackground trueℹ️ Vending CustomerInfo from cache. Something weird here, is that AppInBackground is always returning TRUE. This means that the cache will not be stale before the 25 hours delay and never within the 5 minutes delays for foreground application. Then the cache is never updatedI’m initializing my Purchases only once in the onCreate of my Application classif (BuildConfig.DEBUG) { Purchases.logLevel =
How to display paywall in flutter app?
Hi, I’m new to RC and this forum. I’ve searched but couldn’t find anything definitive on this topic but if there is, please let me know…Is there a way in StoreKit 2 (and in extension, in the RevenueCat SDK) to get an unique identifier for the current iCloud ID or user? I'm a bit worried about this part in the SDK docs:If you don't provide an App User ID when instantiating the Purchases SDK, RevenueCat will generate a new random App User ID for you and cache it on the device. In the event that the user deletes and reinstalls the app, a new random App User ID will be generated.I guess my question is: do I have to force the current user to sign in with their Apple ID if I want to prevent the quoted behavior?Edit: Or did I overthink everything again — maybe I should ignore the iCloud ID for my iOS/macOS-only app, and just rely on the RC-provided anonymous App User ID and the restoring purchases mechanism…?
Hello,I have a Flutter application using GetX for state management and a Laravel backend. My app includes a subscription feature, but it was rejected by iOS because I need to integrate in-app purchases. Can anyone help me integrate in-app purchases specifically for iOS? I successfully connected the application from the iOS side with Revenuecat, but I'm stuck and unsure how to proceed to complete the integration.
Hi, Looking at the documentation for custom attributes, I cannot find any information about syncing attributes and offerings using the React Native SDK. Does this mean that it is not required to sync attributes and offerings after setting an attribute or that it is not possible to sync attributes and offerings manually? We are trying to create a targeting rule based on custom attributes set during the onboarding. Curious to learn what the best practice is here. Thanks in advanceAlexander
I can’t pass the App Store Reviews because of this error. I can't produce this case. But review team is keep sending me this. And I can’t pass the reviews for 3 days. On my side, everything works very well.
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.