Get help with your SDK implementation.
Recently active
I recently started using RevenueCat SDK in an existing iOS app. I noticed that some users cannot restore purchases on a new device, and even after making a new purchase on the new device, the entitlement for Pro features was enabled only on one device at a time. That is completely wrong behaviour! As I figured it by now, it is causes by RevenueCat’s default setting, which I was not aware of, and which I cannot change myself. Where do I ask for a fix from RevenueCat?
Hi, I’m using the Flutter SDK for auto-renewing subscription handling (with free trial).I need to find the very first date the user subscribed (trial subscription).Can I do this using the Flutter SDK?
The Flutter library for RevCat depends on androidx.core:core-ktx, and Google’s latest version androidx.core 1.7.0-alpha02 is causing Android build errors and preventing app deployment. Is there anything RevCat can do to address this, or anything you’d recommend we do on our end? Our pubspec.lock/yaml file haven’t been updated in a while so not sure why Google’s latest change impacts us. For more details on our issue:Running our Android emulator without any new changes or library updates suddenly started breaking with `error: resource android:attr/lStar not found`. From investigation, we saw a lot of Flutter & React Native developers posting the same issue: https://www.reddit.com/r/Unity3D/comments/ph2596/android_builds_fail_due_to_core170alpha02_release/ https://stackoverflow.com/questions/69033022/message-error-resource-androidattr-lstar-not-found https://stackoverflow.com/questions/69021225/resource-linking-fails-on-lstar/69029908#69029908 We found the androidx.core:core-ktx dep
I am made a purchase from google play, I have received a successful event, immediately after that google is sending a cancellation event. Is it a RevenueCat bug? if it is not then how can I solve this?
Hi there, I am using the Revenuecat REST API to confirm a user paid. For context, we send our users a special confirmation based on the amount they paid, so they can get their payment reimbursed.I would like to get also the exact amount (ideally in €) from revenuecat REST API, but I haven’t found a proper endpoint. Does it exist? And if not, will it? I think it should be possible, since I can see it in the revenuecat dashboard if I click on a customer br
I have created subscription with annual introductory offer and I am trying to fetch that product to show the user current offering but I am receiving wrong data as the validity of the plans is showing in some minutes.How can I show the user active introductory price for given subscription?How can I show multiple offers with multiple offers?I am using React native 0.64.2.
After a user completes a purchase through either google play billing or through the revenue cat sdk does the google play purchases receipt get sent to revenue cat to be displayed in some dashboard?Is there any documentation about the revenue cat sdk reading/observing the google play purchase receipts?
Hi,I had a non-consumable Unlock All purchase in my app before moving to RevenueCat. I’ve had iOS users who purchased it before RevenueCat integration. Let’s call these users User from the past. Recently I moved to RevenueCat and created a new auto-renewable purchase (Subscription Unlock All) using RevenueCat code and removed the old code responsible for non-consumable purchase from my app completely (including the old restore functions that worked). The app has a restore button and it calls Purchases.shared.restoreTransactions for restoring Subscription Unlock All purchases, it works correctly. Now, I would like to Unlock All Features and add the ability to restore purchases for every user from the past who purchased a non-consumable Unlock All purchase before RevenueCat integration. THE QUESTION:Am I right that in a Revenuecat dashboard I just need to add my old non-consumable Unlock All product to the Entitlement that is working for a Subscription Unlock All purchase and this will r
Our current project contains 22 offerings (all of them have products inside), but when we call Purchases.sharedInstance.getOfferingsWith() offerings object contains only 20 items (same thing happens on both Android and iOS).Is this correct behaivour, because we cannot find this 20 items limit in documentation?
We were wondering what kind of experiments were possible. We wanted to make 2 different subscription screens (different designs and layout) and use RC experiments to determine which one converts better. How would we go about this? Is this even good practice and a valid use case for RC experiments?
This is the apple reason We noticed that your Kids Category app includes analytics, advertising and collects, transmits, or has the ability to share personal information or device information with third parties. Specifically:- Your app includes third-party analytics or third-party advertising with the ability to collect, transmit or share identifiable information, including, for example, IDFA. We found that your app references the ASIdentifierManager API, which provides access to a user's IDFA, in the following location(s) in your binary:• /System/Library/Frameworks/AdSupport.framework/AdSupportIt would be appropriate to remove all instances of “ASIdentifierManager” from your app, even if they are not utilized in your app's functionality. after looking in my app directory and looking for any Ads support framework/library I found that Revenuecat support Ads how can i disable collecting idfa
Hello,I’m testing out revenuecat and tried sending receipt data from the iOS app store for a couple of customers using the receipts endpoint. Revenuecat showed the transactions for the imported users correctly but the total spent for the imported customers shows as zero. I even tried adding the “price” property on the REST request to no avail. Know what might be up? I need to migrate data for a few 1000 customers and so its critical that it work correctly. Thanks
I have a problem with my app. As long as I installed the app to my iPhone with Xcode, everything was working (Apart from the fact that having configured the products from the Xcode file and not from the App Store, in the end the purchase failed). Now that I uploaded the app to testflight, when purchasing a product I can’t even see the iOS purchase popup. Could It be the fact that there is no longer the Xcode purchases configuration file and that the one on the App Store hasn’t been approved yet? I can I fix that?
Google Play sent a reminder: “Starting on August 2, 2021, all new apps must use Billing Library version 3 or newer. By November 1, 2021, all updates to existing apps must use Billing Library version 3 or newer.”Does RevenueCat already use the Billing Library v3 or is there anything we would need to do to make sure the transition is smooth? Thanks!
Hi there! I have a question about RevenueCat logIn (and Blocking Transfers) as introduced in: Suppose this is how my iOS/Node app is designed to work:I have a user database and each user has a unique record and id. We require users to sign up with email and password before they’re shown the purchase flow. We use their unique database record id as the RevenueCat appUserID when purchasing a package. Our RevenueCat app is set up to Block Transfers.If I understand this correctly, this means that as long as a user logs in with the right appUserID, they should have the appropriate entitlement everywhere. That includes different devices on iOS, Android, and web that log in with the right appUserID and use the RevenueCat offerings API. Additionally, if the an entitled user signs out, and someone else logs in from the same device (different appUserID), RevenueCat will pull in THEIR entitlement, which may or may not exist, and would trigger their own Purchase flow if needed. In the other words,
I’m receiving the following error message and I would like to check other situations where I can handle such errors, but I couldn’t find anything, no article nor documentation.{ "code": 7242, "message": "No promotional entitlements to revoke for this subscriber."}Is there a way to receive all possible error codes and their meaning so that I can better handle it when communicating with the REST API and avoid unnecessary errors?
On one of my devices, I’m consistently getting nil in PurchaserInfo for both originalApplicationVersion and originalPurchaseDate. Based on what I’ve read in the docs and elsewhere, I thought in the sandbox I should always expect originalApplicationVersion to be “1.0” and originalPurchaseDate to be 2013-08-01.I did notice that in the header for both of these properties, it says:@note This can be nil, see -[RCPurchases restoreTransactionsForAppStore:]But that function doesn’t exist.This seems like pretty odd behavior, since it’s only happening on one of my devices, both in TestFlight and running through Xcode. I can’t confirm it easily, but I think one of my TestFlight testers is experiencing it too.I also tried a few different versions of the SDK and the issue was the same. Purchases iOS 3.12.3iOS 14.7.1
Hi,We are looking into using the RevenueCat integration with Stripe to provide our users with a way to purchase subscriptions via our website.I have looked at the RevenueCat docs but it is not clear to me to the ideal way to do this. Should the RevenueCat SDK be embedded in the webpage? This would require the public key to be in clear text on the web - is there an issue with that? I know that it is a public key and is usually embedded in an app, but this is still more secure than having it on a website. Another option is to proxy requests via our own backend? And how would you suggested we list available offerings on a website? The getOfferings API requires an app_user_id however we would like to display offerings on our website homepage before any form of user has been created.Thanks for your helpDanny
Hello,I’m trying to run RevenueCat SDK on android and iOS from flutter and I have two questions.This is my code for purchasing.‘’’makePurchase() async { try { PurchaserInfo purchaserInfo = await Purchases.purchasePackage(package); var isPro = purchaserInfo.entitlements.all["test"]!.isActive; print('PRO : $isPro'); if (isPro) { print("이즈프로"); DataStorage().setPremiumUser(true); ShowSnackBar().getSnackBar(context, 'Thank you for purchasing.'); Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (context) => MainFrame()), (Route<dynamic> route) => false); } } on PlatformException catch (e) { showErrorMsg('Purchase error', e); }}‘’’ App was closed after the first purchase was successful.I was testing on the Android device and the purchasing was successful. I can see the purchasing record from my Google play console. But the app was closed right after purchasing finished. The error seems occurred from the red line above (p
Hi everyone,For testing purposes in sandbox mode, I would like to be able to generate a brand new user id, that would not be tied to any purchase, while staying on the same Apple device.The scenario would be this: A tester is logged in with an anonymous user ID, or an alias of one. The tester makes a bunch of purchases / restore etc. operations. The tester needs to test something else as a brand new user. The tester generates a brand new user ID (provided ID), that is not an alias. The tester is able to perform new purchase related tests as a brand new user.I’m currently trying to make step 4 happen. I’ve tried logging out and logging in with a new provided ID, but it just creates a new alias.From the login() chart in the docs, what I’m asking seems to be impossible but I would really like to make sure and if that is the case, find out whether there might be some type of workaround?Any help is greatly appreciated!
I noticed that it takes a few seconds to load the purchase screen in iOS after calling `Purchases.purchasePackage` in the React Native package.It also takes several seconds after the user completes the purchase before the receipt is acknowledged and this method returns a result.Is there any mechanism to know which part of the process you’re in? I’d like to be able to inform the user at first, “Loading . . .” but then change it to “Confirming purchase . . ..”Thanks!!!
Hi, I have integrated SDK in my android app and its working great.but sometime I am gettingError fetching offerings - PurchasesError(code=NetworkError, underlyingErrorMessage=Unable to resolve host "api.revenuecat.com": No address associated with hostname, message='Error performing request.')this error. any resolution for this? thanks
Hi,I have integrated revenuecat in my android app, I have the 3 days trial period setup for my app that i want to activate when user starts using the app. And want to show how many days are left for trial expiry time, after trial only i want to ask for the subscription. Is there any options to activate the trial and show the trial expiry status? Thanks in advanced.
I would like to know how I can set consumable purchase to inactive state after the user has used the product. For example, in my app, I have a consumable purchase that the user can use one time and then after that, I want to set that purchased product's entitlement state to inactive so that the user would have to buy it the next time before they can use the product.Any help with this will be very useful and much appreciated.
Our App has quite a lot of inApp purchases for e-book like content.The current system works and it would be easiest to just keep it as it is (for the iOS side). Our server knows about the available items and the item content. Adding all products to revenueCat would not really add value and might introduce errors. Is it possible to use revenueCat just be handing over the product ID? Or is it better to leave the purchase code as is and use the revenue Cat SDK for handling the subscriptions?
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.