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

    Type Alias PollResult

    PollResult:
        | { ad: PooledAd; status: "filled" }
        | { status: "empty" }
        | { status: "timeout" }
        | { error: AdErrorPayload; status: "no-fill" }
        | { error: AdErrorPayload; status: "error" }

    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.

    empty and timeout are not errors: the pool is still refilling.

    A filled result means an ad came out of the buffer and nothing more. There is no hand-off freshness guarantee: on an SDK-managed pool the poll path performs no age sweep. An ad that already exceeds the configured policy window is still handed over with isStaleByPolicy() true; the publisher decides, because a poll removes the ad with no put-back and the publisher's window may be stricter than the platform's own timeout.

    Type Declaration

    • { ad: PooledAd; status: "filled" }

      Ad handed out; ownership transfers to the caller, including destruction.

    • { status: "empty" }

      Buffer exhausted, refill in flight. Retry later.

    • { status: "timeout" }

      pollTimeoutMillis elapsed. The pool keeps filling.

    • { error: AdErrorPayload; status: "no-fill" }

      Request completed with no ad. Routine ad-server outcome, not a defect.

    • { error: AdErrorPayload; status: "error" }

      Network or internal failure.