美文网首页
iOS-使用GoogleAds播放视频广告

iOS-使用GoogleAds播放视频广告

作者: 神SKY | 来源:发表于2019-03-29 10:24 被阅读0次

前言

最近小编写一个项目,拿到手的源码中包含有GoogleAds。这是一个谷歌关于广告的库,在这里简单的写一下怎么使用。如果想要更加深入的了解,可以点这里进入官方地址。小编在这个例子使用的是Swift,有需要OC或者安卓的朋友可以留下评论。

第一步,导入库并设置配置文件

这里小编使用的是CocoaPods

pod 'GoogleAds-IMA-iOS-SDK'

然后别忘了设置Info.plist,如下


第二步,添加库并设置相关控件
import GoogleInteractiveMediaAds
--------------------------------------
var adTagUrl = "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator="
var adsLoader: IMAAdsLoader!
var contentPlayhead: IMAAVPlayerContentPlayhead!
var adsManager: IMAAdsManager!
var adTimer: Timer!

这里的广告地址用的是官网demo的地址。为什么有定时器?因为在播放广告的时候,回到手机主页面再回到APP或者打开控制面板再回到APP会让广告卡住,因为增加了一个定时器保存广告的正常播放,如果有更好的办法,可以和小编讨论。

第三步,创建广告请求
func requestAd() {
        
        self.adsLoader = IMAAdsLoader(settings: nil)
        self.adsLoader.delegate = self
        
        let adDisplayContainer = IMAAdDisplayContainer(adContainer: self.view, companionSlots: nil)
        let request = IMAAdsRequest(
            adTagUrl: self.adTagUrl,
            adDisplayContainer: adDisplayContainer,
            contentPlayhead: self.contentPlayhead,
            userContext: nil)
        
        self.adsLoader.requestAds(with: request)
        
    }
第四步,在代理中进行相应的操作
//    MARK: IMAAdsLoaderDelegate - 广告代理
extension ViewController: IMAAdsLoaderDelegate {
    
    func adsLoader(_ loader: IMAAdsLoader!, adsLoadedWith adsLoadedData: IMAAdsLoadedData!) {
        
        self.adsManager = adsLoadedData.adsManager
        self.adsManager.delegate = self
        
        let adsRenderingSettings = IMAAdsRenderingSettings()
        
        self.adsManager.initialize(with: adsRenderingSettings)
        
    }
    
    func adsLoader(_ loader: IMAAdsLoader!, failedWith adErrorData: IMAAdLoadingErrorData!) {
        
    }
}

extension ViewController: IMAAdsManagerDelegate {
    
    
    func adsManager(_ adsManager: IMAAdsManager!, didReceive event: IMAAdEvent!) {
        
        if event.type == IMAAdEventType.LOADED {
            self.adsManager.start()
            openTimer()
        } else if event.type == IMAAdEventType.COMPLETE {
            
        } else if event.type == IMAAdEventType.SKIPPED {
            
        } else if event.type == IMAAdEventType.RESUME {
            
        } else if event.type == IMAAdEventType.LOG {
            
        }
        
    }
    
    func adsManager(_ adsManager: IMAAdsManager!, didReceive error: IMAAdError!) {
        
        
    }
    
    func adsManagerDidRequestContentPause(_ adsManager: IMAAdsManager!) {
        
    }
    
    func adsManagerDidRequestContentResume(_ adsManager: IMAAdsManager!) {
        
    }

func openTimer() {
        closeTimer()
        adTimer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(resumeADS), userInfo: nil, repeats: true)
        RunLoop.current.add(adTimer, forMode: .common)
    }
    
    @objc func closeTimer() {
        if adTimer != nil {
            adTimer.invalidate()
            adTimer = nil
        }
    }
    
    @objc func resumeADS() {
        if adsManager != nil {
            adsManager.resume()
        }
    }
    
    deinit {
        closeTimer()
    }
}

这样就完成了,效果如下:


效果图.gif

希望这篇文章对各位看官有所帮助,Demo下载地址:Demo

相关文章

  • iOS-使用GoogleAds播放视频广告

    前言 最近小编写一个项目,拿到手的源码中包含有GoogleAds。这是一个谷歌关于广告的库,在这里简单的写一下怎么...

  • iOS-视频播放器的简单封装

    iOS-视频播放器的简单封装 封装视频播放器,首先需要了解视频播放器的实现,iOS9之前可以使用MediaPlay...

  • 移动兼容问题

    视屏播放---视频在微信上播放完,会有广告(Android);视屏在微信上播放完没有广告(IOS) 解决方式:使用...

  • IOS-视频播放

    1 ios提供了内置的播放器 视频播放有三种方式:(都支持流媒体和本地视频播放) MPMoviePlayerCon...

  • iOS-视频播放

    引言 当前比较火的软件都是和视频挂钩的,所以这次打算由浅到深的学一下视频的各种操作,本篇文章主要讲解以各种的方式播...

  • 初级视频播放功能

    打开相册选择视频 使用系统播放器播放视频 使用VideoView播放视频 使用SurfaceView播放视频 vo...

  • iOS-播放本地视频

    文章来源www.bourbonz.cn 开张第一篇,以前总是伸手党,这次就来试下。这次要写的是iOS播放本地视频,...

  • [Android]简易播放视频

    播放视频 使用kotlin 使用MediaController+VideoView实现方式视频播放和常用控制这种方...

  • iOS AVPlayer监听视频播放进度

    AVPlayer视频播放时 我们常常需要获取当前视频的播放进度 来自定义一些操作 比如重复播放 播放结束后弹出广告...

  • VideoView and TextureVideoView o

    此文章你将会学会在android的视频播放功能 使用VideoView视频播放使用TextureVideoView...

网友评论

      本文标题:iOS-使用GoogleAds播放视频广告

      本文链接:https://www.haomeiwen.com/subject/zebkbqtx.html