iAd插页式委托​​方法无法调用

时间:2014-05-02 18:02:13

标签: objective-c iad interstitial adbannerview

我想在我的应用中使用插页式广告,因此我实施了所有必要的委托方法。 问题是,如果我使用[self requestInterstitialAdPresentation]来显示广告,则只会调用interstitialAdDidLoad:方法。 interstitialAdActionDidFinish:方法不会被调用...

但如果我使用已弃用的[self.interstitial presentFromViewController:self]来展示广告,那么一切正常。

有什么新东西可以让事情发挥作用吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

好的,我解决了这个问题。

由于IOS7及其iAd Additions,因此不需要adInterstitialDelegate。唯一要做的就是准备广告或将interstitialPresentationPolicy设置为非空的(正如您可以在文档中看到的那样),以及使用requestInterstitialAdPresentation:方法请求广告的最后一步。

答案 1 :(得分:0)

iOS 9.2.1,Xcode 7.2.1,启用了ARC

@Jellyjoey我确认,广告关闭时会调用viewDidAppear。正如您所料,当您点按广告时,会调用viewDidDisappear

它与您展示插页式广告的方式有关:

  

完成广告行动

     

如果全屏广告在您的应用内显示了富媒体广告,那么就是这样   调用你的委托的interstitialAdActionDidFinish:方法之后   广告完成。您的此方法的实现应该还原任何   操作开始时,您的应用暂停了服务。

     

重要提示:如果您的应用已移至后台,因为   willLeave参数为YES,那么应用程序的用户界面永远不会   由横幅视图覆盖,您的应用不会接到来电   interstitialAdActionDidFinish :.但是,如果您的界面被覆盖   通过横幅视图,您的应用仍然可以移动到后台   之后,要么因为广告推出了另一个应用程序或   因为用户选择这样做。在所有情况下,如果您的用户界面   横幅视图覆盖了它,它被揭开了你的代表   interstitialAdActionDidFinish:在您的应用移动到之前调用   背景。因为应用可能会移动到后台,你的   委托应该从其interstitialAdActionDidFinish快速返回:   方法

要查看上面的摘录以及插页式广告的其他指南:

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/iAd_Guide/Full-ScreenAdvertisements/Full-ScreenAdvertisements.html#//apple_ref/doc/uid/TP40009881-CH5-SW24

以下是Apple提供的有关如何使用整页广告的两个示例:

https://developer.apple.com/library/ios/samplecode/iAdInterstitialSuite/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010627-Intro-DontLinkElementID_2