Imperative load. The caller owns every returned handle: destroy() it, and
evaluate isStaleByPolicy() before rendering, since a handle can cross the
configured window between load and render. The policy timer lives on the
handle; subscribe with onStaleByPolicy while holding if needed.
Resolves the raw triple rather than a MultiFormatLoadResult, so there is
no status word on this path: both arrays empty is a clean no-fill, a
non-empty errors with a handle is the partial case, and a non-empty
errors with no handle is a failure. responseInfo is the ad server's
record of the response and is populated even on a clean no-fill, because a
response record is not a failure and so does not belong in errors.
StaticcreateBuilds a request from one config object, the same object
useMultiFormatAd accepts, mirroring how AdPools.create takes a single
AdPoolConfig.
Throws synchronously when the config cannot be honored without dropping a format or inventing an API (empty formats, banner without sizes, illegal sizes, AdMob unit + banner, requestCount ≠ 1).
One AdLoader / GADAdLoader request that may return native and/or GAM banner.
Multi-format means several formats compete for one ad. It is not multi-count:
requestCountstays 1 in v1.Example