1

在集成了 GoogleInteractiveMediaAds 的 iOS 应用上,“跳过广告”按钮不起作用。同时手动呼叫adsManager.skip()工作完美。按钮本身会对 tuches 做出反应,因为它改变了边界并且看起来突出显示。不幸的是,我没有找到任何手动处理水龙头的东西,所以也许有人已经遇到过这种情况并且可以提供帮助。

        guard
            let adInformation = delegate?.latestAdInformation(), let url = adInformation.urlForIMA,
            let adContainer = delegate?.videoAdDisplayContainerView()
            else { return }

        switch adInformation.adsType {
        case .interstitials, .none:
            self.play(ignoreAds: true)
            return
        case .prerolls, .all:
            fallthrough
        @unknown default:
            break
        }

        let adDisplayContainer = IMAAdDisplayContainer(adContainer: adContainer, companionSlots: nil)

        let request = IMAAdsRequest(
            adTagUrl: url,
            adDisplayContainer: adDisplayContainer,
            contentPlayhead: contentPlayhead,
            userContext: nil)

        adsLoader.requestAds(with: request)

        func adsLoader(_ loader: IMAAdsLoader!, adsLoadedWith adsLoadedData: IMAAdsLoadedData!) {
        // Grab the instance of the IMAAdsManager and set ourselves as the delegate
        adsManager = adsLoadedData.adsManager
        adsManager?.delegate = self

        // Create ads rendering settings and tell the SDK to use the in-app browser.
        let adsRenderingSettings = IMAAdsRenderingSettings()
        if let vc = delegate?.adWebControllerPreferredOpenViewController() {
            adsRenderingSettings.webOpenerPresentingController = vc
        }

        // Initialize the ads manager.
        adsManager?.initialize(with: adsRenderingSettings)
    }

    func adsLoader(_ loader: IMAAdsLoader!, failedWith adErrorData: IMAAdLoadingErrorData!) {
        self.play(ignoreAds: true)
    }

    func adsManager(_ adsManager: IMAAdsManager!, didReceive event: IMAAdEvent!) {
        if event.type == IMAAdEventType.LOADED {
            adsManager.start()
        }
    }

    func adsManager(_ adsManager: IMAAdsManager!, didReceive error: IMAAdError!) {
        self.play(ignoreAds: true)
    }

    func adsManagerDidRequestContentPause(_ adsManager: IMAAdsManager!) {
        self.pause(ignoreAds: true)
    }

    func adsManagerDidRequestContentResume(_ adsManager: IMAAdsManager!) {
        self.play(ignoreAds: true)
    }

在此处输入图像描述

4

0 回答 0