Skip to main content
Question

Android Paywall Shows Legacy Layout Instead of Designed Template

  • October 24, 2025
  • 2 replies
  • 50 views

Forum|alt.badge.img

Hello!
I have added a RevenueCat paywall, and on iOS everything works correctly, I see the exact paywall I created in the dashboard.
However, on Android the paywall looks completely different: it shows a gradient background, large logo, “Restore purchases” button which is removed, and is missing all the feature texts. But the offerings are correct.

It seems that Android is loading the legacy or fallback paywall instead of the new Paywalls v2 design.

Details:

  • Paywall ID: default

  • Offering ID: default

  • react-native-purchases: 9.6.0

  • react-native-purchases-ui: 9.1.0

  • Using: (RevenueCatUI.presentPaywall({ offering: currentOffering })

Tried:

  • Uninstalled and reinstalled the app

  • Republished the paywall

  • Confirmed products and entitlements are shared between iOS and Android

Could you please help we figure out what is causing this issue?

Thank you!

2 replies

Forum|alt.badge.img+8
  • RevenueCat Staff
  • 675 replies
  • October 28, 2025

Hi, one thing I noticed is that you are running two different versions of our SDK and the UI, we recommend these be the same to avoid any issues. Please upgrade the react-native-purchases-ui to 9.6.0, and if this doesn’t help can you please run RevenueCat debug logs with log level verbose and provide these when you try to fetch the paywall on Android, see here? And can you please provide a screenshot of what you are seeing when trying to fetch the Android paywall?


Forum|alt.badge.img
  • Author
  • New Member
  • 1 reply
  • October 29, 2025

Hi, thanks for the response!

I currently have both SDKs on the same version:

  • react-native-purchases: 9.2.2

  • react-native-purchases-ui: 9.2.2

When I try to upgrade to 9.6.0, the app fails to build on Android due to Gradle and CMake issues (unrelated to RevenueCat), so I reverted to 9.2.2 for now.

I’ve attached a screenshot showing how the paywall looks on Android, it appears to load the default layout (gradient background, large logo, and “Restore purchases” button). On iOS, the paywall displays correctly (as designed in RevenueCat).

Here are my debug logs when fetching the paywall on Android (with Purchases.setLogLevel(Purchases.LOG_LEVEL.VERBOSE) enabled):
​​​​​​