Hello.
We found a bug in IMA iOS SDK, they are, if ad support Picture-in-Picture, after the Post-roll advertisement ends, the content that should have finished playing is played.
But if ad don't support Picture-in-Picture, this issue does not occur.
- Details:
* After playing Post-roll ad that supports picture-in-picture, the content is played from the position several seconds before the end.
- Specs:
* Xcode 14.2
* iPhoneXs device (16.1.2)
* IMA iOS SDK version 3.18.4
- Contents:
* Movie : Content in IMA Sample App "AdvancedExample" for iOS
* Ads : IMA Sample Tag
- Project:
googleads-ima-ios-client-side-main/Swift/AdvancedExample
- Steps:
1. Create AVPlayer instance with content URL
2. Create AVPlayerLayer instance with AVPlayer instance
3. Create AVPictureInPictureController instance with AVPlayerLayer instance
4. Create IMAAdDisplayContainer instance by "IMAAdDisplayContainer(adContainer: , viewController: )"
5. Create IMAAVPlayerVideoDisplay instance with AVPlayer instance
6. Create IMAPictureInPictureProxy instance with AVPictureInPictureControllerDelegate
7. Create IMAAdsRequest instance using "IMAAdsRequest(adTagUrl:, adDisplayContainer:, avPlayerVideoDisplay:, pictureInPictureProxy:, userContext: )"
8. Create IMAAdsLoader instance with IMAAdsRequest instance
9. If "IMAAdsLoaderDelegate.adsLoader(_ loader: , adsLoadedWith adsLoadedData: )" is called, call "IMAAdsManager.initialize(with: )"
10. If "IMAAdsManagerDelegate.adsManager(_ adsManager: , didReceive event: )" is called and IMAAdEventType is LOADED, call "IMAAdsManager.start()"
11. If "IMAAdsManagerDelegate.adsManagerDidRequestContentPause" is called, call "AVPlayer.pause()"
12. If "IMAAdsManagerDelegate.adsManagerDidRequestContentResume" is called, call "AVPlayer.play()"
We strongly hope that these bugs will be fixed.
Best regards.