此代码是否正确实施插页式广告?
因为当我启动它时,我得到了这个,
<Google> Cannot present interstitial. It is not ready.
答案 0 :(得分:22)
您需要等到广告成功加载,然后才会出现插页式广告。否则广告就不会出现了。
要执行此操作,请确认GADInterstitialDelegate
协议,并将视图控制器设置为插页式广告_的代表。
interstitial_.delegate = self;
然后按如下方式实施interstitialDidReceiveAd
。
- (void)interstitialDidReceiveAd:(GADInterstitial *)ad
{
[interstitial_ presentFromRootViewController:self];
}
如需更多参考,请查看Interstitials ads
答案 1 :(得分:2)
Swift 3.0
<{1>}或viewDidLoad()
中的
createAndLoadInterstitial()
然后实施
interstitial.delegate = self
答案 2 :(得分:1)
如果您想在下一页或当前页面上再次加载谷歌插页式广告,请使用以下代码..
//在视图上加载在下一页或当前页面视图controller.m
上添加以下行self.interstitial = [self createAndLoadInterstitial];
//在您的下一页或当前页面视图controller.m
上创建以下方法- (GADInterstitial *)createAndLoadInterstitial {
GADInterstitial *interstitial = [[GADInterstitial alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"];
interstitial.delegate = self;
[interstitial loadRequest:[GADRequest request]];
return interstitial;
}
- (void)interstitialDidReceiveAd:(GADInterstitial *)ad
{
[self.interstitial presentFromRootViewController:self];
}
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial
{
//leave this method as empty
}
现在您将能够收到展示广告
答案 3 :(得分:1)
我认为您不必使用argparse set_defaults on subcommands should override top level set_defaults
方法。 admob文档不推荐这样做。也许您可以在interstitialDidReceiveAd
DispatchQueue.main.async
viewDidLoad()
答案 4 :(得分:0)
Swift 5.0
在viewDidLoad()
请确保为此设置视图控制器的委托
interstitial.delegate = self
然后在委托方法中,您可以实现以下
func interstitialDidReceiveAd(_ ad: GADInterstitial) {
interstitial.present(fromRootViewController: self)
}