Discussion and help from anything related to RevenueCat.
Recently active
I am trying to use Purchases in an expo project.If I build with xcode, everything is fine. However, we rely on the expo development build during development. Because ain’t nobody got time for xcode. If I try to run with the expo dev server (npx expo run:ios) then I get the error ERROR Invariant Violation: `new NativeEventEmitter()` requires a non-null argument., js engine: hermes this happens at the time of import of Purchases (import Purchases from “react-native-purchases”).I followed the standard installation and usage for expo.It looks like this might be some sort of incompatibility with NativeViewGestureHandler because that also starts generating errors only when I try to import Purchases.Note that I know that purchases probably won’t work in this mode, at least on the simulator, but it shouldn’t crash the app. That makes for some really challenging dx.
I integrated the library successfully for iOS and wanted to also do the same with Android. However, when I upload my build to the play console, I get the following error:"We have found that at least one of the app bundles included in this release uses the following Play Billing Library versions:AIDLThese versions of Google Play Billing are no longer supported. Upgrade to a supported version to publish this app. More information" (translated)I have checked the dependencies, only v 6.0.2 appearsI added this line to the manifest “<uses-permission android:name="com.android.vending.BILLING"/>”, other than that I didn’t add anything else.
How does RevenueCat identify the transaction associated with a particular user when the user makes a purchase using an offer code through an external link that directs them to the App Store, instead of using the presentCodeRedemptionSheet method?
Hey Everyone,I have recently added RevenueCat to one of my apps and all looks ok.I uploaded a release to Google Play and has been reviewed and published. When I register a user (Has to be my google account??), the offerings show no problems, but when I tap to buy, I am only present with test cards, and I can’t add a different payment method.It was my understanding RC would detect sandbox and live environments.Is anyone able to shed some light on this please?Michael C.
I see this, But I don’t know how to address it. I thought Web was supported? Does that mean if I’m accessing via browser, revcat isn’t working?
The documentation says “The subscription has set to be paused at the end of the period. Please note: You should not revoke access when receiving a SUBSCRIPTION_PAUSED event, but only when receiving an EXPIRATION event (which will have the expiration reason SUBSCRIPTION_PAUSED).”However, an EXPIRATION event is never triggered. Is this just an issue with sandbox?
I'm setting up my paywall through RevenueCat. When I remove the footer from the screen or make any other changes, it reverts to the default settings. It never saves my latest changes. What could be causing this issue?
I have an existing subscription app that’s over a year old that has always used RC. I’ve tested purchasing and restoring in the past before. I wanted to give RC paywalls a go and overall it’s been very easy to implement. However, I’m hitting a strange situation that I can’t figure out: the restore button on the paywall isn’t working as expected.I was already displaying a sheet with my own paywall and I just swapped in PaywallView instead inside the sheet.If there’s currently not a sub active I can purchase (sandbox) either of the two subscription options I have via the paywall without a problem. When the purchase goes through the sheet containing PaywallView gets dismissed.However, when I click the restore link I get a popup that says “Purchases restored successfully!”. The paywall is NOT dismissed. When I close the paywall manually the app (correctly) acts as if no subscription is active since there was nothing to restore.If I put my paywall I created myself (which calls Purchases.
I get back results on V1 when I get customers but not on V2, V2 states “ONLY FOR WEB SUBSCRIPTIONS USING REVENUECAT BILLING”.Does that mean just keep using V1 to get customer subscriptions only, and if so, will V2 ever get discontinued or this added?ie:v1:api.revenuecat.com/v1/subscribers/useridv2:api.revenuecat.com/v2/projects/projectid/customers/userid
Is there a way to get this 33% discount text/percentage in the native SDKs? I’d like to show this discount percentage in my app’s other screens. It has a huge impact on the revenue
Hi All, We have more than one Direct Subscription packages on our paywall like Weekly, Monthly and Annual. But there is only one place on Revenuecat and Adjust integration?This means we are not able to track these events on Adjust and also the renewals of these subscription events :(
Setting the mixpanelDistinctId for the first time works fine, but when trying to set it again, an error occurs, indicating that the "MixPanel Distinct ID cannot be modified."However, after clearing the mixpanelDistinctId and then setting it again, it works fine.I'm not sure where the problem is. [Purchases] - DEBUG: ℹ️ Found 1 unsynced attributes for App User ID: $RCAnonymousID:xxx[Purchases] - DEBUG: ℹ️ Unsynced attributes: ["$mixpanelDistinctId": [SubscriberAttribute] key: $mixpanelDistinctId value: xxx setTime: 2024-06-03 03:38:51 +0000][Purchases] - ERROR: 😿‼️ Error when syncing subscriber attributes. Details: The operation couldn’t be completed. (RevenueCat.BackendError error 0.) UserInfo: [:][Purchases] - ERROR: 😿‼️ One or more of the attributes sent could not be saved. ["$mixpanelDistinctId": "MixPanel Distinct ID cannot be modified."]
Hello, I implemented paywall using revenue cat version 4.41.1 on iOS but on Iphone SE the paywall is not displaying correctly, image is not visible and title and subtitle are cut off.What should I do?Thank you!
According to this post, there must be something entered for the Google play package (e.g., com.example.example) which “will be specified in your app's build.gradle”. While I’ve entered something, I realize my credentials might not be verified yet nearly 48 hours out because it that package name doesn’t match that of my app in the google play console.However, that is because I have not yet uploaded the app to the google play console. It is far from finished. Is there a workaround for this? Note I am (obviously) a newbie, and I’ve looked online but can’t find any way to set the package name manually. If it matters, I am using Expo/React Native for this project.
My Apple Watch app has an companion iOS app, my steps are: Purchase subscription on iOS app (with a success) Try to call `restorePurchase` method on my Apple Watch app It always shows messages like “receipt not valid” I am using StoreKit to test on both simulator and real device, both doesn’t works and shows “receipt not valid” messageIf I don’t use StoreKit method to test, calling `restorePurcahse` or `purchase` always shows message telling me to login on iPhone Apple Watch app: Does anyone know how to correctly check if a user has purchased a subscription on Apple Watch (with a companion iOS app)? Thank you
Hi.I have integrated RevenueCat to my iOS app and am using it with satisfaction.I want to integrate it into my Android app as well, but I want to use it only in observer mode for the time being because of issues related to the non-comsumable life-time premium version.(Because of the risk of consuming non-comsumable items) Does it count towards MTR when I use RevenueCat only in observer mode?
I'm currently Promotional Offer using RevenueCat into my React Native app and encountering an issue with purchasing discounted packages. Specifically, I'm using the Purchases.purchaseDiscountedPackage(selectedPackage, paymentDiscount) method. During unit testing on a physical device, I'm consistently getting an error stating "couldn’t find package."Has anyone experienced a similar issue or have insights on how to resolve this? What steps can I take to ensure that the selectedPackage and paymentDiscount are correctly identified and processed during unit testing on a physical device locally?Additional Details:The selectedPackage and paymentDiscount are being correctly fetched and displayed in the app. Regular purchases without discounts work as expected. The issue only arises when trying to purchase a discounted package. Testing is being conducted on a physical device locally.Code Snippet:if(selectedPackage.product.discounts.length > 0) { const paymentDiscount = await Purchases
How to show Paywall in Java implementation. I’m trying to implement RevenueCat via Java and can’t find the docs to show Paywall. Kindly guide me
Hello, I think I’ve integrated RevenueCat successfully, but I'm encountering an issue with downgrades I use Firebase to store user credits, and Cloud Functions trigger updates based on events.The problem is that RevenueCat sends an "Initial Purchase" event when a user downgrades their subscription. This event doesn't differentiate between a new purchase and a downgrade. As a result, my Cloud Function awards credits to users even when they downgrade, which isn't the desired behavior.I think it would a good idea to indicate in the event what type it is.Or am i missing something ?Thanks
Hi people,first of all to creators, thanks for the awesome product! Just keep up with good work!I have a question about, what happens if we clear our purchase history in our AppStoreConnect?I saw this post but I wanted to clarify what happens when we go in AppStoreConnect to:Users and Access → Sandbox → Test Accounts → Edit → Clear purchase history?Would this clear purchase history in RevenueCat Sandbox data too?
Hi experts,One of my customer cancelled subscription in Android setting during contract period. And now the customer cannot see anything from my app. How can that be done?Based on subscription document in google, everything should be still accessible even cancellation is requested as long as the contract is not expired. Is there something wrong in Play store or revenueCat?Please advise. Thank you!Regards,Joey
Hello. I granted my Google account a promotional entitlement from the RevCat console for testing in my app during development (running in an emulator). I canceled it 7 days ago, but RevCat is still returning the promotional entitlement as Active. (I have run the app countless times over the past week.)This is what the dashboard shows for my user: And this is what RevCat is showing when the app runs: The Flutter code pulling in the above data is simply:customerInfo = await Purchases.getCustomerInfo(); Can someone explain why this is happening, and how I can ensure that my app is pulling in the correct entitlement data?Thank you.
Asking this again since comments have been closed and not clear update has been provided. When does the RevenueCat Billing and Web SDK support multi-currency? Documentation states:Only USD is currently supported (multi-currency support will follow later) I understand it’s on the roadmap but we need a clearer timeline please.
Hello, I try to implement the promotional offers on my flutter app with 2 weeks free trial but when I click to subscribe I have a popup telling me that it is reserved for subscribers or former subscribers I do not understand?
I’m trying to test a new introductory offer but it’s proving to be a bit more difficult than anticipated.I’m running my scheme using a StoreKit Configuration file in the simulator (although the same happens without the file on a device with sandbox user). When testing for eligibility, I get “unknown”. I’ve tried deleting the user from the dashboard and deleting the StoreKit transactions from Xcode > Debug > StoreKit but it doesn’t change the outcome.The only thing that works is to force StoreKit 2 with .with(usesStoreKit2IfAvailable: true) which I know is deprecated.This is problematic because now I’m wondering if my app is showing introductory offers correctly to my live users. Any guidance on this would be greatly appreciated! 🙏 As a side-note, this is made more complicated by the fact I’m deploying that intro offer using targeting and custom attributes. When deleting a custom attribute (or a customer), it looks like it’s no longer possible for my app to set a value for those
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.