react-native-google-mobile-ads
    Preparing search index...

      react-native-google-mobile-ads

      React Native bindings for Google Mobile Ads.

      Start with the classic classes and components (BannerAd, NativeAd, direct create/load/show), move to the options-form hooks when React should own one ad's lifecycle, and reach for preload pools or multi-format requests only when you need warmed inventory or one flexible slot. Pools and multi-format requests are additive. Existing direct APIs remain supported.

      The full decision list, including the show() error channels and consent gates, lives in the AGENTS.md shipped with the npm package. See also Ad formats, Preload pools and multi-format recipes, and For AI agents.

      Multi-format requests return one winner; custom native formats and multi-count (numberOfAds / requestCount above 1) are outside this surface. Scoped mediation adapter packages integrate networks with Google Ad Manager; they are not alternative ad-pool hosts. Compatibility shims remain in v17, with deprecated positional fullscreen-hook overloads scheduled for removal in v18.

      Before Opt-in v17 path
      Positional fullscreen hook plus a mount load() effect Options object with autoLoad; branch on status
      Direct fullscreen instance loaded well before use Fullscreen preset + pool; poll immediately before showing
      Separate native and banner requests for one flexible slot One multi-format request; render the winning handle

      Migration is optional. Do not add a provider to classic flows that do not need warmed inventory, and do not use a pool when one hook-owned fullscreen ad is enough.

      • useAdPool reporting absent means the provider/config does not own that poolId; it is not a slow create.
      • Two usePooledAd instances sharing a depth-1 display pool can starve each other. Give each placement an id or centralize polling.
      • Never destroy hook-owned inventory. With usePooledAd or useMultiFormatAd, call release() first when ownership must leave the hook; other hooks keep ownership, so use the hook's own destroy().
      • Options-form fullscreen hooks intentionally remain idle when autoLoad is false or adUnitId is null.
      • Automatic fullscreen loading does not warm the next ad after closed; call load() when another impression is plausible.

      This generated reference covers core. Public scoped adapters are published as @react-native-google-mobile-ads/applovin, facebook, inmobi, mintegral, moloco, pangle, unity, vungle, and yandex. Their package READMEs are the adapter references; the private _template workspace is not published.

      AdPoolProvider

      Declarative pool ownership. Creates pools for the configs it is given and destroys them on unmount, reconciling by poolId on every render rather than by array identity.

      getAdCapabilities

      Returns the static capability snapshot for this binary.

      MobileAds
      MultiFormatBannerAdView

      Renders a multi-format request banner handle.

      NativeAdView
      NativeAsset
      NativeMediaView
      useAdPool

      Read a pool created by AdPoolProvider or AdPools.create. retry keeps a stable identity for the life of the hook instance.

      useAppOpenAd

      React Hook for App Open Ad.

      useAppOpenAdManager

      App-open manager hook aligned with Google's AppOpenAdManager sample and app-open guidance.

      useForeground

      A custom hook that invokes a callback when the app transitions to the foreground.

      useGAMInterstitialAd

      React Hook for Google Ad Manager Interstitial Ad.

      useInterstitialAd

      React Hook for Interstitial Ad.

      useMultiFormatAd

      Multi-format request as a hook. One request, several eligible formats, one winner (requestCount 1 in v1).

      useNativeAd

      React Hook for Native Ads.

      usePooledAd

      Poll-on-demand against a pool. Never polls during render.

      useRewardedAd

      React Hook for Rewarded Ad.

      useRewardedInterstitialAd

      React Hook for Rewarded Interstitial Ad.

      AppOpenAd
      BannerAd
      GAMBannerAd
      GAMInterstitialAd

      A class for interacting and showing Interstitial Ads.

      InterstitialAd

      A class for interacting and showing Interstitial Ads.

      MultiFormatAdRequest

      One AdLoader / GADAdLoader request that may return native and/or GAM banner.

      NativeAd

      A class for loading Native Ads.

      NativeError
      RewardedAd

      A class for interacting and showing Rewarded Ads.

      RewardedInterstitialAd

      A class for interacting and showing Rewarded Interstitial Ads.

      AdHookReturns
      AdPool
      AdsConsentInfo

      The result of requesting info about a users consent status.

      AdsConsentInfoOptions

      The options used when requesting consent information.

      AdsConsentInterface
      AdsConsentUserChoices

      The options used when requesting consent information.

      AdShowOptions

      A AdShowOptions interface used when showing an ad.

      AdStates
      AppEvent

      An app event received from Google Ad Manager ads.

      BannerAdProps

      An interface for a Banner advert component.

      GAMBannerAdProps

      An interface for a GAM Banner advert component.

      MobileAd
      NativeAdRequestOptions

      The RequestOptions interface. Used when passing additional request options before an advert is loaded.

      RequestConfiguration

      The RequestConfiguration used when setting global ad settings via setRequestConfiguration.

      RequestOptions

      The RequestOptions interface. Used when passing additional request options before an advert is loaded.

      RewardedAdReward

      A RewardedAdReward returned from rewarded ads.

      ServerSideVerificationOptions
      AdapterResponseError
      AdapterResponseInfo

      One waterfall row. outcome narrows adError without pretending the shared adapter identity and latency fields disappear when a row fails.

      AdapterResponseInfoBase

      Fields every waterfall row reports, whether or not that row failed. Latency on failed rows is what makes waterfall debugging useful, so these are never dropped in the error case.

      AdapterStatus

      An immutable snapshot of a mediation adapter's initialization status.

      AdBackend
      AdCapabilities
      AdError

      The single error type every v17 hook and multi-format load result uses.

      AdErrorPayload
      AdErrorReason

      OPEN union. Known members are stable; anything else is a passthrough for error codes added after release.

      AdEventListener
      AdEventPayload

      ERROR payloads remain Error instances at runtime (NativeError) and gain additive AdErrorPayload fields (reason, phase, optional responseInfo). Intersecting with Error keeps (error: Error) => void handlers assignable. PAID payloads are impression-level revenue (PaidEvent).

      AdEventsListener
      AdExpiry

      Publisher-owned staleness policy on inventory the consumer holds.

      AdIdentity

      Identity carried by every piece of inventory the library hands to a consumer, for correlation and diagnostics.

      AdInventoryProvenance

      Who performed the load for this handed-out object.

      AdPoolAvailability

      Snapshot of pool buffer readiness from AdPool.getAvailability().

      AdPoolConfig
      AdPoolDegradeReason

      Degradation reasons reported on resolved.

      AdPoolEvent

      Pool lifecycle events.

      AdPoolPresetOverrides

      Override bag for AdPoolPresets.*. Omits formats and adUnitId so a preset cannot be type-undercut into a different family or unit. poolId remains overridable when you need a stable custom id; overriding it widens the preset return's poolId to string.

      AdPoolProviderProps
      AdPoolResolvedConfig

      Effective pool configuration after capability and app-wide accounting.

      AdPoolsApi
      AdStalenessWindowSource

      Where the applied staleness window on a handed-out object came from.

      CapabilitySupport

      emulated = library-implemented, not SDK-provided. Distinct from degraded.

      CollapsiblePlacement

      Collapsible Placement. The collapsible placement defines how the expanded region anchors to the banner ad.

      DisplayPoolId

      Default poolId for AdPoolPresets.display. Prefer reading AdPoolPresets.display(unit).poolId (or this template with the same unit constant) at both provider and consumer so a typo fails at compile time.

      FullscreenAdFormat
      FullScreenAdHookOptions

      Options object accepted by the second call form of every fullscreen ad hook.

      FullscreenPoolId

      Default poolId for AdPoolPresets.fullscreen. Prefer reading AdPoolPresets.fullscreen(format, unit).poolId at both ends of the joint.

      KnownAdErrorReason
      LoadedAdapterResponseInfo

      The winning row. A loaded response cannot carry an error, so adError is statically null and needs no consumer null-check.

      MultiFormatAdConfig

      The ad unit plus the request that describes one multi-format load.

      MultiFormatAdFormat
      MultiFormatAdHandle
      MultiFormatAdRequestOptions

      One AdLoader-style request where native and/or GAM banner formats compete for a single winner.

      MultiFormatBannerAdHandle
      MultiFormatBannerAdViewProps
      MultiFormatBannerSize

      Fixed GAM sizes safe in an AdLoader request; adaptive/fluid are not.

      MultiFormatLoadResult

      Outcome of one multi-format load, discriminated on status.

      PaidEvent

      Impression-level revenue snapshot.

      PaidEventListener
      PaidResponseInfo
      PollResult

      Outcome of poll(). Replaces a bare null, which could not distinguish an exhausted buffer from a timeout, a no-fill, or a transport failure: cases that call for different consumer responses.

      PooledAd
      PooledAdExpiry

      Publisher-policy staleness surface on the object the consumer owns after poll().

      PooledAdIdentity

      Identity carried by every pooled ad, for correlation and diagnostics.

      ResponseInfo

      Ad-server and mediation-waterfall metadata for one request.

      ResponseInfoExtras
      UseAdPoolResult

      Pool lookup state.

      UseAdPoolStatus

      Status discriminant for useAdPool. Derived from UseAdPoolResult so the string union cannot drift from the result arms. Also the type of usePooledAd(...).poolStatus.

      UseAppOpenAdManagerOptions

      Options for useAppOpenAdManager.

      UseAppOpenAdManagerResult
      UseAppOpenAdManagerStatus

      Where the managed app-open ad is right now. Vocabulary matches the fullscreen options-form hooks where applicable.

      UseAppOpenAdOptions

      Options object accepted by the v17 call form of useAppOpenAd.

      UseAppOpenAdResult

      Result of the v17 call form. App open ads carry no reward.

      UseFullScreenAdResult

      The options-form result, discriminated by status.

      UseFullScreenAdStatus

      Where the ad is right now. Exactly one value applies at a time.

      UseGAMInterstitialAdOptions

      Options object accepted by useGAMInterstitialAd.

      UseGAMInterstitialAdResult

      Result of useGAMInterstitialAd. GAM interstitials carry no reward.

      UseInterstitialAdOptions

      Options object accepted by the v17 call form of useInterstitialAd.

      UseInterstitialAdResult

      Result of the v17 call form. Interstitials carry no reward.

      UseMultiFormatAdOptions

      Arguments to useMultiFormatAd: the shared request config plus its automatic-load policy.

      UseMultiFormatAdResult

      Multi-format hook state, discriminated on status.

      UseMultiFormatAdStatus

      Status discriminant for useMultiFormatAd. Derived from UseMultiFormatAdResult so the string union cannot drift from the result arms.

      UseNativeAdOptions

      Options object accepted by useNativeAd.

      UseNativeAdResult

      Result of useNativeAd, discriminated by status.

      UseNativeAdStatus

      Where the native ad request is right now. Exactly one value applies at a time.

      UsePooledAdResult

      Poll-on-demand hook state, discriminated on status.

      UsePooledAdStatus
      UseRewardedAdOptions

      Options object accepted by the v17 call form of useRewardedAd.

      UseRewardedAdResult

      Result of the v17 call form, including the reward facts.

      UseRewardedInterstitialAdOptions

      Options object accepted by the v17 call form of useRewardedInterstitialAd.

      UseRewardedInterstitialAdResult

      Result of the v17 call form, including the reward facts.

      AdPoolPresets

      Backend-aware pool config presets. Return plain AdPoolConfig objects; AdPools.create validates them the same as hand-written config.

      AdPools
      AdsConsent
      AdStalenessGuidanceMillis

      Google's published guidance figures used as publisher policy defaults, not as the SDK's cache timeout. The real preload TTL is server-delivered and unreadable; these millis are only the defaults applied when the publisher does not configure a window. Public contract: Option 1 — report and hand over inventory that already exceeds the window; do not auto-discard on poll (isStaleByPolicy / onStaleByPolicy on the held object).

      GAMBannerAdSize
      MultiFormatAdPresets

      Multi-format request presets. Return plain MultiFormatAdRequestOptions, so they drop straight into the requestOptions slot of a MultiFormatAdConfig and the ad unit stays at the top level beside it.

      SDK_VERSION
      TestDeviceIds

      Convenience identifiers for RequestConfiguration.testDeviceIdentifiers.

      TestIds
      AdEventType
      AdFormat
      AdsConsentDebugGeography

      AdsConsentDebugGeography enum.

      AdsConsentPrivacyOptionsRequirementStatus

      AdsConsentPrivacyOptionsRequirementStatus enum.

      AdsConsentPurposes
      AdsConsentSpecialFeatures
      AdsConsentStatus

      AdsConsentStatus enum.

      AgeRestrictedTreatment
      BannerAdSize
      GAMAdEventType
      InitializationState
      MaxAdContentRating
      NativeAdChoicesPlacement
      NativeAdEventType
      NativeAssetType
      NativeMediaAspectRatio
      RevenuePrecisions
      RewardedAdEventType
      default → MobileAds