Ios 显示AdMob插入式广告而不单击按钮

Ios 显示AdMob插入式广告而不单击按钮,ios,swift,xcode,firebase,admob,Ios,Swift,Xcode,Firebase,Admob,我用Xcode(swift)制作了一个应用程序,我在应用程序中实现了AdMob间隙广告,但我知道显示广告的唯一方法是单击按钮,广告就会显示,我想在webView中显示广告,而不单击任何按钮,就像有人在几秒钟后向下滚动广告会弹出一样。这可能吗 这是我目前正在使用的 var interstital: GADInterstitial! override func viewDidLoad() { super.viewDidLoad() // Do any additional set

我用Xcode(swift)制作了一个应用程序,我在应用程序中实现了AdMob间隙广告,但我知道显示广告的唯一方法是单击按钮,广告就会显示,我想在webView中显示广告,而不单击任何按钮,就像有人在几秒钟后向下滚动广告会弹出一样。这可能吗

这是我目前正在使用的

 var interstital: GADInterstitial!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.


    interstital = GADInterstitial(adUnitID: "")

    let request = GADRequest()
    interstital.load(request)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBAction func Ad(_ sender: Any) {

    if (interstital.isReady) {

        interstital.present(fromRootViewController: self)
        interstital = CreateAd()
    }

}



func CreateAd() -> GADInterstitial {

    let interstital = GADInterstitial (adUnitID: "")
    interstital.load(GADRequest())
    return interstital
}

要做到这一点,您可以使用计时器,它允许您在一段时间后执行函数,
CreateAd()
。在下面的例子中,我让它在20-200秒后显示一个间隙广告。要更改最小和最大间隔,只需更改这些数字。我还删除了每次重新声明间隙的部分,因为在
viewDidLoad
中设置一次就足够了

class YourViewController: UIViewController {
    var interstital: GADInterstitial!

    override func viewDidLoad() {
       super.viewDidLoad()
       interstital = GADInterstitial(adUnitID: "")

       let request = GADRequest()
       interstital.load(request)

       let randomTime = Double(arc4random() + 20).truncatingRemainder(dividingBy: 200.0) 
       Timer.scheduledTimer(timeInterval: randomTime, target: self, selector: #selector(YourViewController.CreateAd), userInfo: nil, repeats: false)


    }
    func CreateAd() -> GADInterstitial {

        if (interstital.isReady) {

            interstital.present(fromRootViewController: self)
            let randomTime = Double(arc4random() + 20).truncatingRemainder(dividingBy: 200.0)
            Timer.scheduledTimer(timeInterval: randomTime, target: self, selector: #selector(YourViewController.CreateAd), userInfo: nil, repeats: false)
        }
    }
}

我必须嵌套计时器,而不是将
repeats
设置为true,以使每次间隔随机。

使用计时器,下面是目标c的实现。在这里,新的随机定时器将在20秒到200秒内触发,一旦add关闭

self.interstival=[self-createandloadinterstival];
双时间=(arc4random()%200)+20;
[NSTimer scheduledTimerWithTimeInterval:时间目标:自选择器:@selector(showAdIfReady)userInfo:nil repeats:NO];
-(无效)showAdIfReady{
if(自间隙已就绪){
[self.interstitial presentFromRootViewController:self];
}否则{
NSLog(@“Ad未准备就绪”);
}
}
-(无效)填隙性IDDISMISSCREEN:(GADInterchyl*)填隙性{
self.interstival=[self createandloadinterstival];
双时间=(arc4random()%200)+20;
[NSTimer scheduledTimerWithTimeInterval:时间目标:自选择器:@selector(showAdIfReady)userInfo:nil repeats:NO];
}

您好,先生,但我看到了错误,无法将类型为“Timeinterval.type”(又名“Double.type”)的值转换为预期的参数类型“Timeinterval”(又名“Double”),首先,很抱歉我的响应太晚。我发现我忘了更新最后一行,答案现在应该可以了。