微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS IMA SDK-关闭应用内浏览器后,视频不再恢复单击“了解更多”后

如何解决iOS IMA SDK-关闭应用内浏览器后,视频不再恢复单击“了解更多”后

我正在使用IMA SDK播放VAST广告。广告视频播放完美,但是当我单击视频广告中的“了解详情”按钮时,该按钮会打开应用内浏览器。在该窗口中点击“完成”后,视频广告将不会继续播放。我应该在这里添加一些内容以恢复它吗?我相信SDK可以解决这种情况。

解决方法

想法是让用户在您的应用重新获得关注时恢复广告。请记住,用户可能会忘记该应用程序是在后台运行的,因此一旦焦点对准该应用程序时广告就响起广告,用户可能会感到惊讶。

  1. 在IMA播放器上添加播放按钮。

  2. 向按钮添加触发器

    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 举报,一经查实,本站将立刻删除。