【发布时间】:2015-11-07 14:11:18
【问题描述】:
您好 Stackoverflow 用户,我又遇到了插页式广告的另一个问题。这是我用来展示广告的代码:
-(void) loadInterstitialAd {
NSLog(@"loadInterstitialAd");
_interstitialAd = [[ADInterstitialAd alloc] init];
_interstitialAd.delegate = self;
adShowing = true;
}
-(void) interstitialAdWillLoad:(ADInterstitialAd *)interstitialAd {
}
-(void) interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidLoad");
interstitialAdView = [[UIView alloc] init];
interstitialAdView.frame = (self.view.bounds);
[self.view addSubview:interstitialAdView];
[_interstitialAd presentInView:interstitialAdView];
[UIViewController prepareInterstitialAds];
}
-(void) interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdActionDidFinish");
[interstitialAdView removeFromSuperview];
adShowing = false;
}
-(void) interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error {
// you must take this funcion , because without it ADInterstitial iAd will not work
NSLog(@"didFailWithError");
adShowing = false;
}
-(void) interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd{
// you must take this funcion , because without it ADInterstitial iAd will not work
NSLog(@"interstitialAdDidUnload");
adShowing = false;
}
此代码在我的 GameScene 类中。最初,我创建了一个新的 sprite kit 应用程序来测试广告(该应用程序是纵向的),并且效果很好。我将它移植到我打算发布的应用程序上,该应用程序是水平的,但它不起作用。我设置了一些 NSLog 来跟踪被调用的内容以及一个布尔值 adShowing,它根据广告的状态而变化。运行应用程序并初始化 loadInterstitialAd 后,我注意到 adShowing bool 会变为 true,几秒钟后会经过
"didFailWithError"
会出现在控制台中,表明广告未能显示,这告诉我广告只能在纵向上工作,至少在我的设置下。有谁知道我可以做些什么来更改我的代码以使广告在水平/横向模式下工作?
亲切的问候 瑞恩
编辑 经过相当多的测试,我敢说出来,搞砸了。我注意到该广告有时确实有效,但很少见 :)
【问题讨论】:
标签: ios objective-c sprite-kit iad landscape