Skip to main content
Question

Paywall v2 displaying fallback PW on react-native Android

  • February 28, 2025
  • 3 replies
  • 25 views

Forum|alt.badge.img+6
  • New Member
  • 3 replies

Just testing Paywalls v2 on react-native. iOS works perfectly, Android is showing the fallback - standard paywall.

    "react-native-purchases": "^8.7.0",
    "react-native-purchases-ui": "^8.7.0",

react-native: ^0.76.1

The logs don’t seem to show any errors:
 

ℹ️ Debug logging enabled
ℹ️ SDK Version - 8.13.0
ℹ️ Package name - XXXXXXXXXXXXXXXX
👤 Initial App User ID - null
ℹ️ Purchases configured with response verification: DISABLED
👤 Identifying App User ID: $RCAnonymousID:XXXXXXXXXXXXXXXX
ℹ️ Deleting old synced subscriber attributes that don't belong to $RCAnonymousID:XXXXXXXXXXXXXXXX
ℹ️ Listener set
ℹ️ Sending latest CustomerInfo to listener.
ℹ️ setAttributes called
Retrieving customer info with policy: CACHED_OR_FETCHED
ℹ️ Vending CustomerInfo from cache.
ℹ️ Checking if cache is stale AppInBackground true
ℹ️ Starting connection for com.android.billingclient.api.BillingClientImpl@aXXXXXXX
ℹ️ App foregrounded
ℹ️ CustomerInfo cache is stale, updating from network in foreground.
Retrieving customer info with policy: FETCH_CURRENT
ℹ️ Updating pending purchase queue
ℹ️ Querying purchases
ℹ️ Offerings cache is stale, updating from network in foreground
😻 Start Offerings update from network.
ℹ️ Starting connection for com.android.billingclient.api.BillingClientImpl@aXXXXXXX
Request already scheduled with jitter delay, adding existing callbacks to unjittered request with key: BackgroundAwareCallbackCacheKey(cacheKey=[/subscribers/%24RCAnonymousID%XXXXXXXXXXXX/offerings], appInBackground=false)
ℹ️ Updating pending purchase queue
ℹ️ Found 0 unsynced attributes for App User ID: $RCAnonymousID:XXXXXXXXXXXXXXXX
ℹ️ No subscriber attributes to synchronize.
ℹ️ Billing Service Setup finished for com.android.billingclient.api.BillingClientImpl@aXXXXXXX
ℹ️ Updating pending purchase queue
ℹ️ Cleaning previously sent tokens
ℹ️ Tokens already posted: []
ℹ️ Saving tokens []
ℹ️ Tokens already posted: []
ℹ️ No pending purchases to sync
Request already scheduled with jitter delay, adding existing callbacks to unjittered request with key: BackgroundAwareCallbackCacheKey(cacheKey=[/subscribers/%24RCAnonymousID%XXXXXXXXXXXX], appInBackground=false)
ℹ️ Restoring purchases
ℹ️ Querying purchase history for type subs
ℹ️ Purchase history is empty.
ℹ️ Querying purchase history for type inapp
Billing connected with country code: DE
ℹ️ Purchase history is empty.
Retrieving customer info with policy: CACHED_OR_FETCHED
ℹ️ Vending CustomerInfo from cache.
ℹ️ Checking if cache is stale AppInBackground false
API request started: GET /subscribers/%24RCAnonymousID%XXXXXXXXXXXX/offerings
API request completed with status: GET /subscribers/%24RCAnonymousID%XXXXXXXXXXXX/offerings 304
ℹ️ Requesting products from the store with identifiers: annual_discount, pro, annual_23
ℹ️ Querying purchases
ℹ️ Querying purchases
ℹ️ Cleaning previously sent tokens
ℹ️ Tokens already posted: []
ℹ️ Saving tokens []
ℹ️ Tokens already posted: []
ℹ️ No pending purchases to sync
ℹ️ Products request finished for annual_discount, pro, annual_23
💰 Retrieved productDetailsList: ProductDetails
💰 annual_23 - ProductDetails
💰 annual_discount - ProductDetails
ℹ️ Cleaning previously sent tokens
ℹ️ Tokens already posted: []
ℹ️ Saving tokens []
ℹ️ Tokens already posted: []
ℹ️ No pending purchases to sync
ℹ️ Requesting products from the store with identifiers: pro
ℹ️ Products request finished for pro
💰 Retrieved productDetailsList: ProductDetails
💰 pro - ProductDetails
ℹ️ Building offerings response with 3 products
API request started: GET /subscribers/%24RCAnonymousID%XXXXXXXXXXXX
API request completed with status: GET /subscribers/%24RCAnonymousID%XXXXXXXXXXXX 304
😻 CustomerInfo updated from network.
OfferingImagePreDownloader: starting image download
Pre-downloading Paywall V2 image: https://assets.pawwalls.com/1181742_low_res_1738874945.webp
Pre-downloading Paywall V2 image: https://icons.pawwalls.com/check.webp
Pre-downloading Paywall V2 image: https://icons.pawwalls.com/x.webp
Pre-downloading Paywall V2 image: https://icons.pawwalls.com/circle.webp
API request started: POST /events
API request completed with status: POST /events 304
 ℹ️ Vending Offerings from cache
 ℹ️ Checking if cache is stale AppInBackground false
 Retrieving customer info with policy: CACHED_OR_FETCHED
 ℹ️ Vending CustomerInfo from cache.
 ℹ️ Checking if cache is stale AppInBackground false
Tracking event: PaywallEvent(creationData=CreationData(id=85c4a809-5c24-488f-b766-XXXXXXXX, date=Fri Feb 28 20:51:44 GMT+01:00 2025), data=Data(offeringIdentifier=pro, paywallRevision=3, sessionIdentifier=3a221278-2842-420b-a30e-XXXXXXXX, displayMode=full_screen, localeIdentifier=en_US, darkMode=false), type=IMPRESSION)

Any Ideas why this would happen?

3 replies

jeffrey_bunn
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • 240 replies
  • March 4, 2025

Hi ​@womo, thanks for sharing. Do you happen to have any targeting rules in place that might be serving a different Offering to Android users (tied to a V1 paywall)?


Forum|alt.badge.img+6
  • Author
  • New Member
  • 3 replies
  • March 5, 2025

Hi. Thanks for the reply. I don’t have any targeting rules set up.


jeffrey_bunn
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • 240 replies
  • March 7, 2025

Hi ​@womo, thanks for letting me know. I’ve dug into this, and Android validation is a bit more strict than iOS. What this means in practice is if there’s an error in your paywall (a common one is if it contains a package component that references a package missing from the offering), Android will fallback to a default paywall while iOS will show the paywall but log a warning. Our team will likely unify this behavior shortly. Can you review your paywall to ensure no components reference packages that aren’t present in your offering, and let me know if it resolves the issue?


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