Skip to main content
Solved

Paywall v2 not being shown on Android


Forum|alt.badge.img+3

Hello team!

I’m configuring a Paywall with the new v2 version. For iOS I’ve managed to make it work perfectly.

Now, on Android it seems to be all correct, but the paywall shown is not the one I have configured, it seems a basic default one.

I’ve checked and I have the correct Products and Offerings, as I always check it with the getOfferings function in the app.

What I can do, do you know what could be the problem?

Thanks!

Best answer by JayShortway

@carlos-bertomeu We haven't found the root cause yet, but here's a workaround you can try.

The issue is with the "({{ product.price_per_month }}/month)" string. This string exists twice in your localizations, for both English and Spanish. However, for some reason the SDK only receives it once for Spanish (and twice for English). Could you try making a change to these strings (all 4 variations to be sure), and then saving the paywall and publishing it? I'd be curious to see if that allows the paywall to be displayed. After that you can revert the strings to their original values. 

Let me know how this goes!

 

View original
Did this post help you find an answer to your question?

26 replies

JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • February 27, 2025

Hi ​@carlos-bertomeu, thanks for reporting this! Could you share the logs? The SDK should print problems with the paywall to the log. Thanks in advance! 


Forum|alt.badge.img+3

Hi ​@JayShortway  I’m using React Native with Expo. I don’t see any error or logs on the expo server terminal.

I have this line added for debug: Purchases.setLogLevel(Purchases.LOG_LEVEL.DEBUG). But I can’t see the logs.


Forum|alt.badge.img+3

@JayShortway  I’ve managed to see the logs.

 

02-27 15:54:10.092  5716  5716 D [Purchases] - DEBUG: ℹ️ Vending Offerings from cache

02-27 15:54:10.092  5716  5716 D [Purchases] - DEBUG: ℹ️ Checking if cache is stale AppInBackground false

02-27 15:54:10.094  5716  5716 D [Purchases] - DEBUG: Retrieving customer info with policy: CACHED_OR_FETCHED

02-27 15:54:10.095  5716  5716 D [Purchases] - DEBUG: ℹ️ Vending CustomerInfo from cache.

02-27 15:54:10.095  5716  5716 D [Purchases] - DEBUG: ℹ️ Checking if cache is stale AppInBackground false

02-27 15:54:10.113  5716  5716 W RevenueCatUI: Missing string localization for property with id: '1xBBkkIzfA', for locale: 'es_ES'.

02-27 15:54:10.113  5716  5716 W RevenueCatUI: Displaying default template due to validation errors.

I’ve seen those. I don’t see which string is missing, I’ve added and translated all I have.


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • February 27, 2025

Thanks ​@carlos-bertomeu, that's helpful! I took a look and it seems to be a bug on our side. We'll investigate and get back to you! My apologies for the inconvenience. 


Forum|alt.badge.img+3

Oh, great! Let me know!


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • Answer
  • February 27, 2025

@carlos-bertomeu We haven't found the root cause yet, but here's a workaround you can try.

The issue is with the "({{ product.price_per_month }}/month)" string. This string exists twice in your localizations, for both English and Spanish. However, for some reason the SDK only receives it once for Spanish (and twice for English). Could you try making a change to these strings (all 4 variations to be sure), and then saving the paywall and publishing it? I'd be curious to see if that allows the paywall to be displayed. After that you can revert the strings to their original values. 

Let me know how this goes!

 


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • February 27, 2025

Hi ​@carlos-bertomeu, not sure if you already tried the workaround, but wanted to let you know that the strings look okay from our side now. Let me know if the issue is resolved on your end. 


Forum|alt.badge.img+3

Hello, now is working fine. 

Thank you so much for your support and quick response.


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • February 28, 2025

@carlos-bertomeu That's great to hear! Thanks for letting me know. Do you happen to recall anything that might have caused this issue? For instance, were you editing the paywall in one tab, and editing the localizations in another? If there's nothing that you think could have caused it, that's fine too of course, but otherwise it would be helpful for us in trying to reproduce the underlying issue.


Forum|alt.badge.img+3

Hi ​@JayShortway ,

To be honest, I’m not entirely sure how it got to that point. It’s true that at some point I was modifying the languages and making changes to the Paywall while it was open in both tabs, but I’m not exactly sure what caused the issue.

Another thing—I’ve already sent feedback through the Typeform, but I think there might be another bug in the new Paywall v2:

I set a background for a package when it’s selected, and while I noticed yesterday it works fine on Android, it doesn’t show on iOS. It’s strange.

Paywall configuration
Paywall I see on iOS


 


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • February 28, 2025

Thanks for reporting back, that's useful information regardless! 

Looking into your package background issue, is it still a problem? I tried to reproduce with your paywall on iOS, and the background seems to work okay on my end. Let me know!   


Forum|alt.badge.img+3

This is what I still see, and I want to see it in the green background not the gray one when the package is selected, I mean, as I see it in the Paywall v2 editor. So, yes, it is still happening to me.


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • March 3, 2025

Hi ​@carlos-bertomeu, I have attached what it looks like on my end, which seems to match the desired behavior you're describing. Which version of react-native-purchases are you using?

I have asked the rest of the team to see if they have any idea what might be going on. Apologies for the inconvenience! 

 


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • March 3, 2025

Hi ​@carlos-bertomeu, we were able to reproduce your issue in an older SDK version. There are 2 things you can do to fix it: 

  • Either: make any change to the paywall, save it, and publish it. This should automatically fix the paywall for older SDK versions as well.
  • Or: update to react-native-purchases 8.7.0. 

You can also do both, of course. Let me know if that works for you! 


Forum|alt.badge.img+3

@JayShortway  you’re right! I’ve updated the package and now it’s solved! Thank you so much team!


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • March 5, 2025

@carlos-bertomeu Awesome, glad to hear that! Happy to help! 😄


Forum|alt.badge.img+3

Hi ​@JayShortway , now it seems that this selected check icon is not being shown, it was shown a few days ago.
 

 


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • March 5, 2025

Hi ​@carlos-bertomeu, that's odd. It shows up okay on my end. What happens if you select a different icon, save, and then select the check icon again? Also, are there any errors in the console or network tab of the browser's developer console? (In Chrome, that's right click → inspect.) Apologies for your trouble. 


Forum|alt.badge.img+3

Hi ​@JayShortway , weird, It only happens with the check icons. I just realized that the check icons on the bullet points are not there neither.

I’ve tried to change the color or the icon, and the only one that is not appearing is the check icon, the others are working fine.

It’s working fine for the end users. But not on the editor.


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • March 6, 2025

Hi ​@carlos-bertomeu, thanks for the details! Some icons sometimes not showing up appears to be a known issue. We're looking into it! 


Forum|alt.badge.img+3

I’m having the same issue. On android, it shows the default paywall (without any design) but it’s working fine on iOS. I’m on react-native-purchases/ui package 8.8.0. 
 

I have the following set for logging but i don’t see the logs in metro at all

Purchases.setLogLevel(Purchases.LOG_LEVEL.DEBUG);

Any idea what could be going on here?


Forum|alt.badge.img+3

Hi, to see those logs, you need to access the android device logs, I do it like this: 

adb logcat -v threadtime emulator-5554

And there you’ll see those logs that could help you identify the problem.

 To see the list of emulators available is with this I think:

adb devices 

 


Forum|alt.badge.img+3
carlos-bertomeu wrote:

Hi, to see those logs, you need to access the android device logs, I do it like this: 

adb logcat -v threadtime emulator-5554

And there you’ll see those logs that could help you identify the problem.

 To see the list of emulators available is with this I think:

adb devices 

 

Thanks for these details. I was able to finally see the logs:

03-13 04:44:22.613  5051  5051 W RevenueCatUI: Offering with id 'default_v2' does not have a package with id '$rc_annual'. It has these packages instead: [$rc_monthly].
03-13 04:44:22.613  5051  5051 W RevenueCatUI: Displaying default template due to validation errors.
03-13 04:44:22.619  5051  5051 W RevenueCatUI: Could not process value for variable 'sub_offer_duration' for package '$rc_monthly'. Please check that the product for that package matches the requirements for that variable. Defaulting to empty string.

 

Interestingly, it works fine on the iOS (hides yearly) but fails on the android side.


JayShortway
RevenueCat Staff
Forum|alt.badge.img+5
  • RevenueCat Staff
  • 38 replies
  • March 13, 2025

Hi ​@zain-zafar-395908, thanks for sharing your logs. Indeed currently Android is a bit more strict than iOS. It seems that your paywall has a package component referencing the $rc_annual Package, but your Offering does not have such a Package. Either removing the package component from the paywall, or adding a $rc_annual Package to your Offering should fix it. Let me know if this works for you!


Forum|alt.badge.img+3
JayShortway wrote:

Hi ​@zain-zafar-395908, thanks for sharing your logs. Indeed currently Android is a bit more strict than iOS. It seems that your paywall has a package component referencing the $rc_annual Package, but your Offering does not have such a Package. Either removing the package component from the paywall, or adding a $rc_annual Package to your Offering should fix it. Let me know if this works for you!

Yup, figured that out and fixed it by adding annual products.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings