Skip to main content
Answer

Android Paywall Shows Legacy Layout Instead of Designed Template

  • October 24, 2025
  • 7 replies
  • 95 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!

Best answer by Haley Pace

Hi ​@riin-b444ef thank you for these logs! I believe what you are seeing is a known bug we are currently fixing regarding badges that can occur in some cases. Can you please let me know if deleting the badge fixes this issue for you? If it does you can also try deleting/recreating badge if you still want to use it or creating new paywall as workaround while we work on this bug.

If that doesn’t resolve the error please let me know and I’d be happy to investigate this further.

7 replies

Forum|alt.badge.img+8
  • RevenueCat Staff
  • 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
  • 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):
​​​​​​


Forum|alt.badge.img
  • Author
  • New Member
  • November 10, 2025

Hello Haley, can you still help me with this?


Forum|alt.badge.img+8
  • RevenueCat Staff
  • November 15, 2025

 Hi ​@riin-b444ef I’m so sorry, I missed the notification for your previous reply. Unfortunately from the snippet of your debug logs I am not able to see why you are getting the default paywall. Can you please try upgrading your SDK version and UI version to our most recent 9.6.5 here? https://github.com/RevenueCat/react-native-purchases/releases/tag/9.6.5

I was able to successfully fetch your paywall locally on my device so I believe this might be due to you using an older version of our SDK, see attached. If you still are unable to fetch it then can you please run debug logs again and send the entirety of them to me? You can dm me these in Community to avoid sharing any sensitive info, or you can attach them to a support ticket here: https://app.revenuecat.com/settings/support?tab=contact


Forum|alt.badge.img
  • Author
  • New Member
  • November 24, 2025

Hello!

I upgraded the SDK to the latest version (9.6.6). The issue is still not resolved, but now I can see from the logs why the default paywall is shown on Android: [2Purchases]: Missing string localization for property with id: 'Ullmp5jkE7', for locale: 'en_US'.
[2Purchases]: Displaying default template due to validation errors.
 

I checked the paywall configuration and I don’t see any missing fields. If I manually remove a string from the paywall and try to save, I do get an error and I’m not able to save it. But in the current state I can make changes and save without any errors in the dashboard.

So I don’t understand what this Ullmp5jkE7 field refers to in the logs or where it is coming from.

I also sent you a private message with more detailed logs (starting from app launch), but since I haven’t heard back for a few days, I’m adding this here as well.

Could you help me understand what this Ullmp5jkE7 property is and how I can fix this validation error?


Forum|alt.badge.img+8
  • RevenueCat Staff
  • Answer
  • November 26, 2025

Hi ​@riin-b444ef thank you for these logs! I believe what you are seeing is a known bug we are currently fixing regarding badges that can occur in some cases. Can you please let me know if deleting the badge fixes this issue for you? If it does you can also try deleting/recreating badge if you still want to use it or creating new paywall as workaround while we work on this bug.

If that doesn’t resolve the error please let me know and I’d be happy to investigate this further.


Forum|alt.badge.img
  • Author
  • New Member
  • November 28, 2025

Thank you so much for the help. Removing the badge and adding it back solved the issue, the correct paywall now shows on Android. Everything is working as expected again. Really appreciate your assistance!