Hi there,
We have recently gone ahead and upgraded our IMA SDK to v3b7 due to b6's poor performance under iOS 8 (too much lag between load/play events.)
However, b7 has presented us with a slew of new problems. The biggest deal-breaker at the moment is that the ad does not seem to get destroyed when it should be; this seems to be exacerbated by attempting to destroy it in the background.
Consider the following real-world scenario:
- ad is loaded in background, starts playing in background (it is an audio ad)
- ad finishes or is skipped using remote control; we call destroy on our IMAAdsManager instance
- now our app begins playback of our audio content
- in foreground or background, if we now toggle playback using a remote control, it will toggle not only our audio, but ALSO the ad that was supposed to have been destroyed
So now we have a situation where either the ad will play over our app's audio (or, if we pause app audio using our app's pause/play button, they will toggle out of phase and either one will play or the other.)
Worse: let's say that ad A was loaded as in the scenario above, and ad B is loaded, plays and finishes in the foreground, next time we use the remote control pause/play toggle, it'll unpause ad A (and sometimes we'll get a 200-300 ms snippet of audio from ad B, as if it had never been cleared from a buffer.)
To add a perverse cherry to the top of this mess, the ad playback now competes for our app's now playing info in the MPNowPlayingInfoCenter. Under b6, we managed this information to show the user what's playing (with artwork, to boot.) Now the MPNowPlayingInfoCenter shows the URL of the ad that's currently playing.
It certainly seems that the SDK moved from an AVPlayer-based solution to a UIWebView-based solution, which is causing all of these issues. None of these issues were present in b6. The only reason we moved to b7 was due to the awful performance under iOS 8 (events during payload and playback that usually took 0.5-2 seconds now take 5-10).
Please advise.