我們在各級之間顯示interstitial iAds。由於iAds似乎需要相當多的內存(我們在顯示它們並遇到一些崩潰時會收到很多內存警告),因此我們不會在插頁式廣告關閉之前加載新視圖(因此,我們首先卸載遊戲視圖,然後我們展示插頁式廣告,然後我們加載遊戲視圖)。插頁式iAD:如何檢測iOS 8上的關閉?
對於這一點,我們使用顯示插頁式舊/過時的方法:
分配ADInterstitialAd並設置委託
_interstitial = [[ADInterstitialAd alloc] init]; _interstitial.delegate = self;
準備好時,目前的廣告在某些視圖 - 控制:
[_interstitial presentFromViewController:_rootViewController];
收聽代理方法來檢測你的u SER關閉插頁式廣告:
- (void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd { [self proceedToNextLevel]; }
這可是用在iOS的7工作在iOS8上,而大多數的委託函數被調用,interstitialAdActionDidFinish不會被調用(interstitialAdDidUnload不會被調用,但只就像5分鐘後)。
因此,似乎有通過在UIViewController的一個類別顯示插頁廣告的一些新的方式:https://developer.apple.com/library/ios/documentation/iAd/Reference/UIViewController_iAd_Additions/index.html#//apple_ref/occ/instm/UIViewController/shouldPresentInterstitialAd
因此,新的方法是:
通過靜態方法調用準備的廣告:
[UIViewController prepareInterstitialAds];
在準備好時,請求廣告的顯示:
_rootViewController.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual; [_rootViewController requestInterstitialAdPresentation];
這確實顯示插頁 - 但是,因爲沒有代表了,沒有當用戶關閉間隙告訴的方式。
所以問題是:如何在iOS 8(也與iOS 7兼容)我們可以告訴用戶什麼時候關閉了插頁式廣告?
//編輯: 我也試着查詢
viewController.isPresentingFullScreenAd
有計時器反覆,但在此適用於iOS 7,iOS上的8屬性始終返回true,用戶關閉後的插頁式廣告
這是非常有用的,感謝您的回答!小提示:您不必爲currentlyShowingAnIAd管理自己的狀態。你可以使用:self.presentingFullScreenAd從:https://developer.apple.com/library/ios/documentation/iAd/Reference/UIViewController_iAd_Additions/#//apple_ref/occ/instp/UIViewController/presentingFullScreenAd – davvilla 2015-10-17 21:07:59