Get help with your SDK implementation.
Recently active
I have used the latest version of purchase_flutter (3.9.3) but when I want to use Amazon, the parameter useamazon isn't recognized by Android studio. Any idea how to get it work?
Hello,I have a single activity Andriod app trying to implement Revenue Cat.I experience app crashes when an configuration change, i.e. screen rotation, occur during the call to Purchases.sharedInstance.restorePurchasesWith…. The method is called from a Fragment and work as intended unless an configuration change occur before Purchases.sharedInstance.restorePurchasesWith… returns the call.Do anyone have any suggestions how to handle configuration changes, should I move calls to the Revenenue Cat SDK to a viewmodel? Best Regards, Tomas
Hello,I’ve a Flutter app available on several platforms, iOS/iPadOS/macOS and Android/AndroidTV.Everything works well but I’m facing an issue on Amazon Firestick. I know revenuecat supports Amazon Store IAP but I can’t publish my app on this store and users install it via apk direct link.So on this platform I disable IAP and just want to login user and check CustomerInfo to see if there is any subscription purchased on another platform.I don’t know how to implement this, if I call the configure(configuration) method which Api Key should I use ? Can I use the android api key even if app is running of Amazon FireOS ?I tried to just login user because the dart documentation says :This function will logIn the current user with an appUserID.Typically this would be used after logging in a user to identify them withoutcalling configure But when I call Purchases.login(userId) :kotlin.UninitializedPropertyAccessException: There is no singleton instance. Make sure you configure Purchases before
In the doc “Using RevenueCat with SwiftUI”, https://www.revenuecat.com/docs/swiftui-helpers, they use “import Purchases” all other places in the support documentation “import RevenueCat” is used. Should I shift to “import Purchases”?
I have a problem in handling slow test card , approves after some time in android sandbox testing . if somebody know how to handle this in React native then please help
purchaseProduct is now deprecated. Please don’t remove it.The first reason is that it is the most simple solution to buy a product. You just need one line of code and the identifier string (no object like the other solutions). It could also be the first starting point for beginners, so they don’t have to learn stuff they don’t need. E. g.:Learn purchaseProduct Do you have often changing products or need more data about a product? Now learn getProducts + purchaseStoreProduct You need to switch between product bundles (e. g. A/B Tests)? Use getOfferings+purchasePackage You need even more? Paywalls…The second reason is that any other solution then purchaseProduct requires always to connect to RevenueCat to fetch the products/packages/offerings etc. This is bad for GDPR, because it's most of the time not requested by the user (tracking)
ERROR: 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)I have this issue and try to recreate RevenueCat project and AppStore Store Kit to solve this issue.I am using Flutterflow for iOS app.I have checked all steps to use in-app purchase(lifetime). Please help me
Hello, I’m using RevenueCat in my Flutter-based application. In my app, there is an authentication (login/register) system. To reference the user, I call Purchases.login('backend_app_user_id') whenever a user logs in or registers, so it updates the user ID.I’m also using Purchases.addCustomerInfoUpdateListener to listen to changes in CustomerInfo. I call this function once at the launch of the application, and later it automatically recalls itself whenever some changes happen in the CustomerInfo. That’s how it is supposed to work, right?However, the problem is that whenever I call the Purchases.login method, which basically updates the user ID and CustomerInfo object, Purchases.addCustomerInfoUpdateListener doesn’t respond to this change. It doesn’t fire the addCustomerInfoUpdateListener whenever I call the login method.
Hi! I am wondering how Twitch does a generatic subsciption IAP. Looks like they have only one subscription “1Sub Token”, but when you try to subscribe to individual users, it displays the username next to the checkout flow. E.g., in the screenshot “Subscription - Asmongold”.
Hi, I’m using UIKit so I don’t know if this is also a problem with a SwiftUI implementation, but I just noticed a major issue with RevenueCat Paywalls.When you’re using an iPad (or an iPhone Pro Max in Landscape mode) and setting up the paywall with displayCloseButton: true, the paywall is either completely blank or with a split-view menu on the leftI tried a bunch of stuff to try to lock the PaywallViewController to portrait mode but none of it worked. I upload a screenshot took on an iPad Pro 11’’ running iPadOS 17 and the 2 others are from my iPhone 15 Pro Max running iOS 17.(the same bug happens on iOS 15 and 16)
I have a subscription in my app that allows the user to “redeem” 6 times each month. I keep track of that in an external database.My app uses anonymous ids only – there’s no login or accounts.How can I reliably get the same App User ID when a user opens the app, creates a subscription, or reinstalls the app? I find that it’s constantly changing.
I’ve implemented moving from paid → subscription in one of my apps and I’m not seeing the version numbers I would expect in PurchaserInfo. Here are 3 examples from Production users: "original_application_version": "1", "original_purchase_date": "2021-03-01T03:46:37Z",Version 1 of this app was never released, this should be version 2. "original_application_version": "4", "original_purchase_date": "2021-10-25T12:46:48Z",Version 4 of this app went live on 1st Feb 2022, this should also be version 2. "original_application_version": "2", "original_purchase_date": "2022-02-02T04:56:03Z",Version 2 ran from 20th Oct 2020 to 26th Jan 2022, this should be version 4.This is currently causing me to grant free access to users that shouldn’t have it and not grant free access to users that should!!Should I just be using originalPurchaseDate?
I’m using the following API to get the user’s state: `https://api.revenuecat.com/v1/subscribers/:id`Unfortunately, the API is not returning back the upgraded package while the user is in TRIAL period.Here is my typical user flow:User subscribe for 3 days trial period (this package is extremely limited, that way we could push the users to upgrade their subscription) User upgrade the subscription on trial period. (At this point I can not see the upgraded package neither in the “entitlements” nor in the “subscriptions”)When a customer upgrades products during an introductory period (including a free trial), Apple does not cancel the introductory offer but instead keeps the introductory offer active in addition to the upgraded product. So in these cases you can expect two products in the same Subscription Group to be active simultaneously.According to this documentation: https://www.revenuecat.com/docs/managing-subscriptions I assume that the API should return this information
I have one simple entitlement/offer/product (package) definition for a yearly subscription with a 7-day trial period for new users who didn’t have any subscription before.Now, I would like to get the user’s eligibility for the trial period directly from Google Play, but as far as I see it, this is currently not possible. So instead, I’m using CustomerInfo.allPurchasedSkus.isNotEmpty()to check if a user is eligible for the trial period. If this check returns true (it’s not empty), then it means the user has bought a subscription before and therefor is not eligible for the trial period.Unfortunately, this gives me mixed results - sometimes this check works correctly and sometimes not. So my question is, what’s a 100% bulletproof way of checking a user’s eligibility for a defined trial period?
Hello!We are wondering how hard of a requiremente is the min sdk 24 in the latest version of the Android package. Researching a bit it looks like it’s only used in the new Paywalls UI feature.Would it be safe to not increment the minimum sdk if we are not using the Paywalls UI functionality? Currently our minimum is 21, and we would like to avoid incrementing it if possible. We are using RevenueCat on Flutter, if that makes any difference. Thanks in advance!
Hellowe are hitting a deadend when we try to retrieve offerings when using flutter and amazon our flutter package purchases version is 4.0.0and we are using amazon.alpha4 we tried everything possible to get the offerings but everything failed, I have read the community posts here, and tried github posts on revenuecat repository, and I couldn’t find any information or fixes. We tried using the app with live app testing and with app tester on amazon and both didn’t work. here is the console:D/[Purchases] - DEBUG( 4941): ℹ️ Products request finished with result SUCCESSFULD/[Purchases] - DEBUG( 4941): ℹ️ Retrieved productData: {}D/[Purchases] - DEBUG( 4941): ℹ️ Product data is emptyD/c ( 4941): In App Purchasing SDK - Sandbox Mode: sendGetUserDataRequestD/c ( 4941): In App Purchasing SDK - Sandbox Mode: handleResponseD/[Purchases] - DEBUG( 4941): ℹ️ User data request finished with result SUCCESSFULD/[Purchases] - DEBUG( 4941): ℹ️ Requesting Amazon products with identifiers: cvi
I think this was posted before and it is one of the most commen issues but I spent about a week but got nowhere with it.What I have done:Terms and condition via AppStore is all accepted Paid and Free agreement are all good to go Tax requirement are all good to go Renewable Subscription is approved by apple The app works fine with Configuration.storekit file for testing purposes But when we want to go live the following occurs all the time DEBUG: ℹ️ GetOfferingsOperation: Finished2022-08-10 17:06:20.809370+0100 [39243:2154986] [Purchases] - DEBUG: ℹ️ No existing products cached, starting store products request for: ["1637274019"]2022-08-10 17:06:20.809459+0100[39243:2154856] [Purchases] - DEBUG: ℹ️ Serial request done: GET subscribers/$RCAnonymousID%3A0738ae9570e14463a4044d2762350199/offerings, 0 requests left in the queue2022-08-10 17:06:20.842004+0100[39243:2154986] [Purchases] - DEBUG: 😻 Store products request finished2022-08-10 17:06:20.842004+0100[39243:2154855] [Purchases] - DEBU
Hi all,We are using RC Android SDK.The question is how do we know how many API calls will RC make to our Google API account (using the service credential that we have attached to our RC account).The 4 APIs that we use are:Purchases.restorePurchases()Purchases.getProducts()Purchases.purchase()Purchases.getCustomerInfo()Why is it important?We want to scale our app and without knowing the potential usage for Google API, we are in risk on running into the limit and facing a shutdown time (which is actually happening right now to us).Many thanks!
Hey RevenueCat,im getting ready to launching my subscription plan in my app, however, I do want to give my old users free access forever. Is that possible?
This might be similar to the existing question here, but I am not too sure and seems like that conversation has stopped.So will ask here again: My grace period is set to 3 days and I got the BILLING_ISSUE and CANCELLATION (with BILLING_ERROR) events same time once the paid period ended and grace period started. But I am on day 6 now and still no EXPIRATION event has come and the user is essentially using the paid content for free now.If this is tied to the account hold feature mentioned in the other post, then how can I tell? Google says we need to stop paid content once grace period ends and hold starts. But RC did not send any event tied to this hold so that my servers can remove paid content for this user.Could you help with this situation and how to proceed further? Thanks.
Hello, I have subscriptions setup for app in AppStoreConnect, not in App Store yet. I have set up entitlements, products and offerings with RevenueCat with these subscriptions. I need to change the price and the reference name in the App Store. Are there any changes that need to be made on the RevenueCat side?
We can get the currency code (e.g. EUR) from product.priceCurrencyCodebut how do we get the currency symbol (e.g. €)?
I am currently facing an issue while trying to implement the RevenueCat SDK in a Flutter project for the Amazon App Store. I have followed the documentation provided for integrating RevenueCat with Flutter, but I am encountering errors during the process. (https://www.revenuecat.com/docs/flutter#amazon-appstore)Issue:The problem arises when I add the RevenueCat SDK dependencies to my Flutter project as instructed in the documentation. After adding these dependencies, running flutter run results in errors. Code:purchases_flutter: git: url: git://github.com/revenuecat/purchases-flutter.git ref: amazon.alpha.3Error:Git error. Command: git fetchstdout: stderr: fatal: unable to connect to github.com:github.com[0: 140.82.121.3]: errno=Operation timed out
Hello! Enjoying using RevenueCat so far but I’ve hit a head dead with iOS integration. I’ve made sure my single product is “Ready to Submit” state on App Store Connect. I’ve made several sandbox apple accounts. My Bundle ID is set up correctly on the RX dashboard. When I go through the purchase flow it all looks successful (including Apple success dialog) but at the final step I get the following RC error: 2021-11-30 21:20:34.384306-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ PaymentQueue updatedTransaction: pawp_membership_monthly 1000000921455600 ((null)) (null) - 12021-11-30 21:20:34.389609-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ Loaded receipt from url file:///private/var/mobile/Containers/Data/Application/63B42ADB-A483-438C-87A1-B35A40640015/StoreKit/sandboxReceipt2021-11-30 21:20:34.389793-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ Found 0 unsynced attributes for App User ID: 872142021-11-30 21:20:34.391632-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ There are no requests cu
Hi everyone!I am working on a game in Unity and have noticed that when i use the Test Card: “Slow test card, approves after a few minutes”, that i get an error: “PAYMENT_PENDING_ERROR”. This can be because of parental controls etc, but not in this case! When getting this error i have no way of giving the users their IAP product that they just purchased (when the payment goes through eventually). I have been looking at different options, but there is no perfect answer. How are you personally handling this? Related post about the same thing from 2020: https://github.com/RevenueCat/purchases-flutter/issues/60Another post: I actually though about implementing something in the like of saving the “customerInfo.NonSubscriptionTransactions” on the local device, when a purchase is succesful and then on startup comparing the local and the list recieved from CustomerInfoRecieved, but this is not bullet proof and might cause a user who has purchased something to get the same reward multiple times
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.