如何解决iOS IMA SDK-关闭应用内浏览器后,视频不再恢复单击“了解更多”后
我正在使用IMA SDK播放VAST广告。广告视频播放完美,但是当我单击视频广告中的“了解详情”按钮时,该按钮会打开应用内浏览器。在该窗口中点击“完成”后,视频广告将不会继续播放。我应该在这里添加一些内容以恢复它吗?我相信SDK可以解决这种情况。
解决方法
想法是让用户在您的应用重新获得关注时恢复广告。请记住,用户可能会忘记该应用程序是在后台运行的,因此一旦焦点对准该应用程序时广告就响起广告,用户可能会感到惊讶。
-
在IMA播放器上添加播放按钮。
-
向按钮添加触发器
func playBtnPress(){ // make sure adsManager is initialized guard let adsManager = adsManager else { requestAds() // initialize adsManager return } // resume playback if paused if !adsManager.adPlaybackInfo.isPlaying { adsManager.resume() } }
3。添加IMAAdsManagerDelegate
func adsManager(_ adsManager: IMAAdsManager!,didReceive event: IMAAdEvent!) {
if event.type == IMAAdEventType.LOADED {
// When the SDK notifies us that ads have been loaded,play them.
// hide play button first
playButton.isHidden = true
adsManager.start()
}
if event.type == IMAAdEventType.RESUME {
// When the SDK notifies us that ads playback has resumed from a pause
// hide play button
playButton.isHidden = true
}
if event.type == IMAAdEventType.PAUSE {
// When the SDK notifies us that ads playback is paused
// Show play button
playButton.isHidden = false
}
if event.type == IMAAdEventType.TAPPED {
// You can also add allow the user to tap anywhere on the Ad to resume play
if(!adsManager.adPlaybackInfo.isPlaying) {
adsManager.resume()
}
}
}
,
需要实现IMAWebOpenerDelegate
...
var adsManager: IMAAdsManager!
...
extension ViewController: IMAWebOpenerDelegate {
func webOpenerDidClose(inAppBrowser webOpener: NSObject!) {
print("closed")
adsManager.resume()
}
func webOpenerDidOpen(inAppBrowser webOpener: NSObject!) {
// Do something
}
func webOpenerWillClose(inAppBrowser webOpener: NSObject!) {
// Do something
}
func webOpenerWillOpen(inAppBrowser webOpener: NSObject!) {
// Do something
}
func webOpenerWillOpenExternalBrowser(_ webOpener: NSObject!) {
// Do something
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。