Ios 显示AdMob插入式广告而不单击按钮
我用Xcode(swift)制作了一个应用程序,我在应用程序中实现了AdMob间隙广告,但我知道显示广告的唯一方法是单击按钮,广告就会显示,我想在webView中显示广告,而不单击任何按钮,就像有人在几秒钟后向下滚动广告会弹出一样。这可能吗 这是我目前正在使用的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
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”),首先,很抱歉我的响应太晚。我发现我忘了更新最后一行,答案现在应该可以了。