Called when the IMAAVPlayerVideoDisplay will load a stream for playback. Allows the publisher to
register the AVURLAsset for Fairplay content protection before playback starts.
Called when the IMAAVPlayerVideoDisplay has at least partially loaded media for
playback and the player item is loaded. Only called for dynamic ad insertion.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eIMAAVPlayerVideoDisplayDelegate\u003c/code\u003e protocol provides callbacks for events related to video loading and playback in IMAAVPlayerVideoDisplay.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eplayerVideoDisplay:willLoadStreamAsset:\u003c/code\u003e allows publishers to handle content protection (like Fairplay) before stream playback.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eplayerVideoDisplay:didLoadPlayerItem:\u003c/code\u003e is called when media is partially loaded for dynamic ad insertion, indicating the player item is ready.\u003c/p\u003e\n"]]],[],null,["# GoogleInteractiveMediaAds Framework Reference\n\nIMAAVPlayerVideoDisplayDelegate\n===============================\n\n @protocol IMAAVPlayerVideoDisplayDelegate \u003cNSObject\u003e\n\nA callback protocol for IMAAVPlayerVideoDisplayDelegate.\n- `\n ``\n ``\n `\n\n ### [-playerVideoDisplay:willLoadStreamAsset:](#/c:objc(pl)IMAAVPlayerVideoDisplayDelegate(im)playerVideoDisplay:willLoadStreamAsset:)\n\n `\n ` \n Called when the IMAAVPlayerVideoDisplay will load a stream for playback. Allows the publisher to\n register the AVURLAsset for Fairplay content protection before playback starts. \n\n #### Declaration\n\n Swift \n\n optional func playerVideoDisplay(_ playerVideoDisplay: ../Classes/IMAAVPlayerVideoDisplay.html, willLoadStreamAsset URLAsset: AVURLAsset)\n\n Objective-C \n\n - (void)playerVideoDisplay:(nonnull ../Classes/IMAAVPlayerVideoDisplay.html *)playerVideoDisplay\n willLoadStreamAsset:(nonnull AVURLAsset *)URLAsset;\n\n #### Parameters\n\n |----------------------------|-----------------------------------------------------------|\n | ` `*playerVideoDisplay*` ` | the IMAVPlayerVideoDisplay that will load the AVURLAsset. |\n | ` `*URLAsset*` ` | the AVURLAsset representing the stream to be loaded. |\n\n- `\n ``\n ``\n `\n\n ### [-playerVideoDisplay:didLoadPlayerItem:](#/c:objc(pl)IMAAVPlayerVideoDisplayDelegate(im)playerVideoDisplay:didLoadPlayerItem:)\n\n `\n ` \n Called when the [IMAAVPlayerVideoDisplay](../Classes/IMAAVPlayerVideoDisplay.html) has at least partially loaded media for\n playback and the player item is loaded. Only called for dynamic ad insertion. \n\n #### Declaration\n\n Swift \n\n optional func playerVideoDisplay(_ playerVideoDisplay: ../Classes/IMAAVPlayerVideoDisplay.html, didLoad playerItem: AVPlayerItem)\n\n Objective-C \n\n - (void)playerVideoDisplay:(nonnull ../Classes/IMAAVPlayerVideoDisplay.html *)playerVideoDisplay\n didLoadPlayerItem:(nonnull AVPlayerItem *)playerItem;"]]