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

    Interface AdPool

    interface AdPool {
        formats: AdFormat[];
        poolId: string;
        resolved: AdPoolResolvedConfig;
        addListener(listener: (event: AdPoolEvent) => void): () => void;
        destroy(): void;
        getAvailability(): Promise<AdPoolAvailability>;
        peekResponseInfo(): Promise<ResponseInfo | null>;
        poll(): Promise<PollResult>;
    }
    Index
    • Subscribe to pool lifecycle events. Refresh / exhaustion observability:

      • Library-managed: expired + refreshed (with replacedAdId)
      • SDK-managed: exhausted + available (per response id)

      Returns an unsubscribe function.

      Parameters

      Returns () => void

    • Destroys this pool.

      Staleness policy on an already-polled ad lives on that ad, not on the pool: the policy timer keeps running after poll() / release() and is not stopped by this call. Do not rely on pool destroy() to tear down ads already handed out; destroy held ads explicitly when you are done.

      Returns void

    • Reads current buffer readiness. See AdPoolAvailability for the count contract and the upper-bound caveat (no expiry sweep on Android V2).

      Prefer this (or the hook's live available / observedCount) over inventing a retained-count promise: the SDK may optimize cache order and the app-wide cap is server-delivered.

      Returns Promise<AdPoolAvailability>

    • Non-consuming snapshot of the buffer head only. Carries no time information, so it is not a freshness / age check. Racy: do not treat it as a poll.

      SDK-managed (fullscreen) pools are capability-gated by AdCapabilities.poolResponseInfoPeek: iOS and Android Next-Gen expose an SDK peek API; classic Android does not. When that capability is unavailable, this call hard-errors with reason 'pool/peek-unsupported'.

      Library-managed (emulated) display pools peek the library's own buffer head and do not consult poolResponseInfoPeek — they resolve on both platforms. A successful Android peek on an emulated pool is not proof that the SDK peek capability is supported.

      On either path, a resolved null means the head is empty — not "unsupported". Check the capability (or catch 'pool/peek-unsupported') before treating null as empty inventory on SDK-managed pools.

      Returns Promise<ResponseInfo | null>

    • Takes the next ad, transferring ownership to the caller. Async because a poll crosses to native and GMA delivers load callbacks on the main thread. Never call during render: polling consumes inventory.

      Hands over whatever came out of the buffer, including inventory that already exceeds the configured staleness window (reported via isStaleByPolicy() on the ad). Does not auto-discard past the window.

      Never rejects: every outcome, including failures, is a PollResult.

      Returns Promise<PollResult>

    formats: AdFormat[]
    poolId: string