Discussion and help from anything related to RevenueCat.
Recently active
Is there an option to configure multiple Slack integrations?
Anyone know’s how to resolve this? SDK is not ready?
App is getting crash on application onCreate : Caused by java.lang.IllegalStateException: PaywallActivity was not launched through the SDK. Please use the SDK methods to open the Paywall. This might happen on some Google automated testing, but shouldn't happen to users. at com.revenuecat.purchases.ui.revenuecatui.activity.PaywallActivity.onCreate(PaywallActivity.kt:105) at android.app.Activity.performCreate(Activity.java:7994) at android.app.Activity.performCreate(Activity.java:7978) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1548) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3406) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3607) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.
I recently integrated RevenueCat into my Android (Java) app and I’m facing both: Crash: UninitializedPropertyAccessException – singleton not initialized ANR: Slow operations on the main thread during Purchases.configure() RevenueCat InitializationI initialize RevenueCat in my Application class: @Override public void onCreate() { super.onCreate(); Purchases.setLogLevel(LogLevel.DEBUG); Purchases.configure( new PurchasesConfiguration.Builder( getApplicationContext(), "goog_PtfrQdxywvuyHZAeNNLzJalKKIt" ).build() ); } Usage in Premium ScreenIn my PremiumScreen Activity onCreate(): Purchases.getSharedInstance().getOfferings(new ReceiveOfferingsCallback() { @Override public void onReceived(@NonNull Offerings offerings) { // Handle offerings } @Override public void onError(@NonNull PurchasesError error) { // Handle error } }); Crash Details kotlin.UninitializedPropertyAccessException: There is no singleton instance. Make sure you configure Purchases before trying to get the default instan
I know this is a common issue, but none of the advice I’ve found has helped. Perhaps I’m overlooking something.During local development on a real device, everything works perfectly. However, as soon as I upload the build to TestFlight, I get the following 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."I am certain that the product exists on the RevenueCat dashboard.I am certain that the bundle identifier matches everywhere.I do not use any store kit config file.The in-app purchase is in Ready to Submit status.Could the issue be caused by the fact that this is a brand-new app that hasn’t been published in the App Store yet? Currently, my app is in Prepare for Submission status, the purchase is Ready to Submit, and none of the builds are detecting the purchase.
Hi,Im having a hard time getting my app through ios review.Specifically failing it because my rc pay wall shows Error 23 and I get this message in the log…Your products are configured in RevenueCat but aren't approved in App Store Connect yet. This prevents users from making purchases in production. Please ensure all products are approved and available for sale in App Store Connect But I think Im seeing error 23, because apple are not approving my Monetization section.Specifically the app store localization keeps being reject. Is the good hypothesis? That in order to stop error code 23, I need to apple approve the localizations?Im just going round in circles with them
How are we meant to test introductory offers? The documentation & articles show options for configuring introductory offers that do not exist when creating a product on the Test Store.
Hey! I just created my app and set up my ‘in-app purchase’ .p8 file and key, but immediately got this error. Any clues on what to do?
Dear Community,I created an Paywall with an exit offer for one of my Android apps (using the Kotlin Mutliplatform Library). The paywall is showing and working great but the exit offer never gets shown, even when I uninstall and reset the app data. From my understanding, the exit offer should be shown the first time the user clicks on the “X” on the paywall. Any advice is appreciated.
SDK version: 9.15.1androidMinSdkVersion = 29androidCompileSdkVersion = 35androidTargetSdkVersion = 35We are facing nullpointer crash in FontLoader. Fatal Exception: java.lang.NullPointerException: at kotlin.UnsafeLazyImpl.getValue(Lazy.kt:81) at com.revenuecat.purchases.paywalls.FontLoader.getCacheDirectory(FontLoader.kt:36) at com.revenuecat.purchases.paywalls.FontLoader.ensureFoldersExist(FontLoader.kt:163) at com.revenuecat.purchases.paywalls.FontLoader.access$getContext$p(FontLoader.kt) at com.revenuecat.purchases.paywalls.FontLoader.access$ensureFoldersExist(FontLoader.kt) at com.revenuecat.purchases.paywalls.FontLoader$startFontDownload$1.invokeSuspend(FontLoader.kt:76) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111) at kotlinx.c
Using variables such as {{ product.relative_discount }} or {{ product.price_per_period }} seems to work in the paywall editor, however it does not work in development builds. I have attached two screenshots, one of the editor and one of my running dev build. As you can see, the percentage is missing from the dev build, as well as the price period. What am I doing wrong?
Hello,I have a working subscription system with revenuecat for a jazz education app. I wanted to be able sell individual lessons. I heard from many customer that they would want individual lesson purchases that is unlocked for life. I have 42 lessons in the app now and I plan to add more. It will be around 150-180 lessons total. So, What is the best practice here? Do I need to create 150 SKUs ?I have 6 categories and that number will be 10 categories soon.Every lesson in each category will have the same price. However, I will need to track who bought which lesson? So could I somehow have 10 categorical prices to simplify things down and still track 150 lessons with it? Thanks..
Hey everyone,At our company, we currently ingest RevenueCat data through a webhook setup that sends events into our internal pipeline. We’re now considering whether to keep this approach or switch to pulling data directly into S3 (for example, via the API or an ETL process).I’d love to hear what RevenueCat recommends here — and what other teams have found works best — especially regarding: Data reliability and completeness over time. Ease of scaling and maintaining the integration. What’s the setup you’d suggest or have seen work best for production environments?Thanks in advance for any insights!
Hi,Just wondered if anyone else has had similar problems to this? Its a new app and so as far as I understand, when I make a change/try to fix monetisation i must resubmit a new binary with it as well. Problem is they keep rejecting the monetisation side of things. specically App Store Localization. (I see a rejected status next to each Localisation) My app is available for europe and the us. Ive provided Localization for UK and US. I dont get any feedback from the reviews to tell me what the problem is. Anyone else had this before? Thanks
Our paywall on iOS works perfectly fine right now. It fetches the products/offerings and displays the paywall UI.However on Android we are only showing the offerings and not the paywall UI. Was curious if anyone knows the solution/problem?We are running RC:react-native-purchases - 9.7.0react-native-purchases-ui - 9.7.0expo: ^54.0.19We are displaying the paywall via: <RevenueCatUI.Paywall>
I current offer subscriptions through the App Store, Google Play, RC Web Billing, and Stripe directly.I’m investigating implementing the Customer Center and see that it fully supports managing App Store & Play Store subscriptions and promo offers for win backs but it’s not clear to me if it supports management of subs from RC Web Billing and Stripe.My specific questions are:If a customer has a RC Web Billing sub: Can they cancel/manage it from the Customer Center? Do they still have to re-auth from the email magic link? Can I configure win back promo offers? If a customer has a subscription through Stripe directly, can they manage it from the Customer Center, ideally by linking to the Stripe Customer Portal? I’m fine without promo offers on Stripe but it is important that my existing Stripe subscribers can continue to manage their subscription directly from my app, via the RC Customer Center.Thanks!
In my flutter app on Android, paywall is not showing for one user, with endless loading. I have not received any other reports on this problem. The user is detected as from Russia, which might be an issue, but Google seems to support that for subscriptions, at least there is a price. I don’t see any exceptions (there is an analytics event supposed to be thrown if revenue cat paywall fails), so I guess it is just freezing forever SDK version 9.8.0video:https://drive.google.com/file/d/1v5rkR5kP6tsm22T4iCYIN3SbAdHzpScA/view?usp=sharing
We can honour entitlements that were purchased on other platforms by calling login(appUserId).What if someone purchases a package on ios, then logs out of the app, then creates a new appUserId.Wouldn’t this create a scenario where multiple appUserId’s have an entitlement from a single purchase?
I created my paywall in the paywall builder. Initially, before connecting to the appstore and when I had no offerings it was fine. After I connected, and when I tried to publish there were 3 errors regarding packages not supposed to be empty, I then clicked on the error message which resulted in it taking me directly to the package that was affected. I then repeated this for the other errors and clicked publish. However, now it shows me in the paywall creation UI it shows me the correct one until I click/select on the package - where it reverts to its original template state as it was added as a component. It isnt only a paywall creation UI glitch as it has resulted in some of the default template being displayed on the paywall on device (I used the revcat mobile app to check). I have tried changing colours, text saving them and then republishing but nothing works and it seems it has forced the template to show no matter what. I believe the issue may have been caused by the direct clic
Hi all, I have a question about RevenueCat-Mixpanel integration. Through this integration, we’re able to get purchase-related events such as rc_initial_purchase in our Mixpanel dashboard. However, all of our sandbox data are also included in these events, making our Mixpanel charts inaccurate for analysis.So I’m wondering if there’s a way to exclude these sandbox events when being sent to 3rd party tools like Mixpanel.Thanks!
I choosed the Exit Offer on my main Paywall but it doesn’t appear after click “X” button(Navigate Back action). My packages versions are "react-native-purchases": "^9.6.10","react-native-purchases-ui": "^9.6.12".
We want to use the remote paywalls in our app and as there is no problem with iOS we encountered layout issues on bigger screens (e.g. iPad).Is there a way to define a safe area for the paywall? We’re not presenting it as a sheet since we need to embed in the parent view that swaps the views based on the state.If it’s not possible to have a safe area defined the only way of doing so is to change the sizes to fit and set paddings so that the view is hugging the actual size?What we’d like to achieve looks something like this what was mentioned in this post:
Hello RevenueCat Support Team,We are integrating RevenueCat Web SDK (@revenuecat/purchases-js) with Stripe Checkout for our web subscription flow.We are passing customerEmail during purchase, like this: await Purchases.configure(WEB_BILLING_PUBLIC_API_KEY, appUserId); await Purchases.getSharedInstance().purchase({ rcPackage: selectedPackage, customerEmail: subscriptionData?.email, }); Expected behavior: Email field should be hidden or pre-filled for all users (since we already pass customerEmail). Current behavior: For most users, the email field is hidden / pre-filled, which is correct. For some users (e.g., kavita@flunzy.ai, kruti@flunzy.ai), the email field still appears on the subscription screen. We understand that Stripe Checkout controls whether the email field is displayed in some cases, such as existing customer state or session differences.Questions / Request: Can you confirm whether this behavior is expected and controlled by Stripe Checkout? Is there any supported way t
I've asked a question here but it never got answered (probably because the original post got answered and I asked after) so here's a new post to try to get my answer on this topic. If we want to only override "promo" placement with an experiment, we still have to re-define every other placements in the experiment? Or if we just keep the "All Other Case" to "No Offering" it will fallback on the targeting? Not so long ago we used to have this, which was creating a fallback on targeting-defined placements. Re-defining all of them (not only the tested placements) seems very error-prone and cumbersome.
Im extremely stuck on submitting my app to the app store.I tried to submit my app to the app store - but it got rejected based on the paywall screen erroring.Im using a custom screen. I have a few questions.Do I have to submit the app and the subscriptions together?Surely this leads to a catch 22 - where the paywall screen will not ever serve the subscriptions since they are still in review…Ive been waiting for my subscriptions to get reviewed now for like 4 days - I’m wondering if i need to submit the whole APP again for review - to get them to review the whole app again and therefore review the subscriptions (?).If I use my prod revenue cat key - i get a similar error appearing…@app/mobile:dev: WARN [RevenueCat] ⚠️ RevenueCat SDK is configured correctly, but contains some issues you might want to address@app/mobile:dev: @app/mobile:dev: Warnings:@app/mobile:dev: • Your products are configured in RevenueCat but aren't approved in App Store Connect yet. This prevents users from mak
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.