react-native-google-mobile-ads. The same pattern applies to other fallback mediators: load CloudX first, load the fallback only if CloudX does not load, and keep the app flow moving when neither source is ready.
Initialize CloudX and Google Mobile Ads before using the hook. Keep your existing pacing, retry, and placement timing rules around it.
useFirstLookInterstitial.ts
load() when the screen is ready to prepare the placement. At the placement moment, call show(). If it returns false, neither CloudX nor the fallback had a ready ad, so continue the app flow without showing an ad.
GameScreen.tsx
load() again when your app is ready to prepare the next placement opportunity. Both underlying hooks release their event subscriptions when the component unmounts; the CloudX hook also destroys its interstitial instance.