ImaVastAdManager
Real IMA client-side VastAdManager. Drives AdsLoader.requestAds with the VAST tag URL, renders via an AdVideoPlayer backed by the SDK's ad ExoPlayer, and maps IMA AdEvent/AdErrorEvent to VastAdEventCallbacks
the suspending completion.
IMA removes every view from adUiContainer whenever a new request releases the previous loader, so pass a view that holds IMA's views only: for a Media3 PlayerView, its adViewGroup.
Functions
Request, render, and play adTagUrl; suspends until complete, throws on error.
The tag currently warmed and waiting, or null.
Phase 1 of the two-phase path: fetch, parse and init() the ad for adTagUrl WITHOUT starting it. Suspends until IMA has an AdsManager ready to play.
Phase 2: start the ad warmed by preloadVast. Suspends until complete, like playVast, and throws if nothing is warmed.