iOS: VAST media file loading reached a timeout disallows avPlayer from playing video

263 views
Skip to first unread message

davidl...@gmail.com

unread,
Aug 28, 2018, 10:58:06 AM8/28/18
to Interactive Media Ads SDK
1.SDK: iOS

Please help with the following issue when the IMA is receives error "VAST media file loading reached a timeout of 8 seconds."  The avPlayer is stopped from playing any video, even though I explicitly call avPlayer.play()
Here's the log of what happens to avplayer:
This happens only in time-out case, in other cases (The VAST response document is empty, Linear assets were found in the VAST ad response, but none of them matched the video player\'s capabilities.) player resumes and plays video as expected

16:16:26 AdsPlayer.adsManager() 💚 DEBUG: AdsManager:Optional(<IMAAdsManager: 0x1c4495220>)  error: Optional("VAST media file loading reached a timeout of 8 seconds.")

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Regular: paused -> waitingToPlayAtSpecifiedRate

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Optional(__ObjC.AVPlayer.WaitingReason(_rawValue: AVPlayerWaitingWhileEvaluatingBufferingRateReason))

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Current item: Optional(<AVPlayerItem: 0x1c001a150, asset = <AVURLAsset: 0x1c463afc0, URL = https://someADSVideofile.mp4>>)

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Regular: waitingToPlayAtSpecifiedRate -> waitingToPlayAtSpecifiedRate

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Optional(__ObjC.AVPlayer.WaitingReason(_rawValue: AVPlayerWaitingWithNoItemToPlayReason))

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Current item: Optional(<AVPlayerItem: 0x1c001a150, asset = <AVURLAsset: 0x1c463afc0, URL = https://someADSfile.mp4>>)

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Regular: waitingToPlayAtSpecifiedRate -> waitingToPlayAtSpecifiedRate

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Optional(__ObjC.AVPlayer.WaitingReason(_rawValue: AVPlayerWaitingWhileEvaluatingBufferingRateReason))

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Current item: Optional(<AVPlayerItem: 0x1c40110a0, asset = <AVURLAsset: 0x1c443c0e0, URL = https://video.mp4>>)

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Regular: waitingToPlayAtSpecifiedRate -> paused

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: nil

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Current item: Optional(<AVPlayerItem: 0x1c40110a0, asset = <AVURLAsset: 0x1c443c0e0, URL = https://video.mp4>>)

16:16:26 AdsPlayer.adsManagerDidRequestContentResume() 💚 DEBUG: Ads manager:Optional(<IMAAdsManager: 0x1c4495220>) DidRequestContentResume for player: Optional(<AVPlayer: 0x1c0007c90>)

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Regular: paused -> waitingToPlayAtSpecifiedRate

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Optional(__ObjC.AVPlayer.WaitingReason(_rawValue: AVPlayerWaitingWhileEvaluatingBufferingRateReason))

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Current item: Optional(<AVPlayerItem: 0x1c40110a0, asset = <AVURLAsset: 0x1c443c0e0, URL = video.mp4>>)

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Regular: waitingToPlayAtSpecifiedRate -> waitingToPlayAtSpecifiedRate

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Optional(__ObjC.AVPlayer.WaitingReason(_rawValue: AVPlayerWaitingWithNoItemToPlayReason))

16:16:26 VideoPlayer.playerStatus() 💚 DEBUG: Current item: Optional(<AVPlayerItem: 0x1c40110a0, asset = <AVURLAsset: 0x1c443c0e0, URL = video.mp4>>)


16:16:26 AdsPlayer.adsManager() 💚 DEBUG: Ads manager Optional(<IMAAdsManager: 0x1c4495220>)  did receive event: Optional("All Ads Completed")


ima-sdk-adv...@google.com

unread,
Aug 28, 2018, 4:02:05 PM8/28/18
to ima...@googlegroups.com
Hi there,

Thank you for providing your Ad Tag. I tried to test it on my end using our BasicExample sample app and I was not able to replicate the issue on my end. The tag plays a pre-roll ad without any issue.

That said, it is possible that this is more likely a network issue on your end considering you are receiving a Timeout error, or a serving related issue since the tag returns an empty response. I would suggest that you try again using a more stable connection, or check if you can replicate the issue using our sample tags

Regards,
Joshua Lagonera
IMA SDK Team

davidl...@gmail.com

unread,
Aug 29, 2018, 4:45:23 AM8/29/18
to Interactive Media Ads SDK
Hi Joshua,
thanks for responding! I've tried again on a sample app, with a sample tag url, and I'm still catching strange error, although it doesn't say Timeout Error, the avPlayer doesn't resume playing a video. Maybe a small video for you to see how to replicate the issue https://drive.google.com/open?id=1AO12PoyIlG8Q7P8VvLRV5RxKGcBY-nlq

func adsLoader(_ loader: IMAAdsLoader!, failedWith adErrorData: IMAAdLoadingErrorData!) {


    // Something went wrong loading ads. Log the error and play the content.


    logMessage("Error loading ads: \(adErrorData.adError.message)")


    isAdPlayback = false


    setPlayButtonType(PlayButtonType.pauseButton)


    contentPlayer!.play()


  }



tag url I'm using: 

ima-sdk-adv...@google.com

unread,
Aug 29, 2018, 4:52:57 PM8/29/18
to ima...@googlegroups.com
Hi there,

Thank you for providing additional insight. Looking at the video you provided, it does seem like there is an issue with resuming the content when the ad request suddenly returned an error. However, I'm not able to replicate the issue on my end when I used our sample apps and the tag you provided, even when I tried the steps you showed on your screen capture.

Did you modify our sample apps when you tried to replicate the issue? If so, can you provide to us the modified project you used? The video you provided did show an error being logged, however it seems to be a different message based on your code implementation. Would you be able to provide to us the error message returned from the adErrorData object?

You may use the Reply Privately to Author option in providing us these information.

Regards,
Joshua Lagonera
IMA SDK Team

Reply all
Reply to author
Forward
0 new messages