2017-05-09 66 views
0

現在它只顯示整個頁面廣告一次。當我回去並再次按下按鈕時,它不顯示。我希望它顯示加班我的按鈕被點擊。我已將我的AdMob連接到我的Firebase項目。如何讓我的插頁式廣告展示超時按鈕被點擊

class FirstViewController: UIViewController, UIAlertViewDelegate { 


var interstitial: GADInterstitial! 

@IBAction func loadAd(_ sender: Any) { 

    if (interstitial.isReady){ 
     interstitial.present(fromRootViewController: self) 
    } 
} 

override func viewDidLoad() { 

    interstitial = GADInterstitial(adUnitID: "ca-app-pub-11111111/9758796532") 
    let request = GADRequest() 
    interstitial.load(request) 

    super.viewDidLoad() 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

}

+0

只做一件事情創建viewwiiappear的GADInterstitial請求()你的問題解決 –

回答

0

您需要每次創建GAD請求。

GADInterstitial是一次性使用對象。也就是說,一旦顯示 插頁式廣告,hasBeenUsed將返回true,並且插頁式廣告 不能用於加載其他廣告。要申請另一個插頁式廣告,您需要創建一個新的GADInterstitial對象,即 。如上所示,最佳做法 應具有輔助方法來處理創建並加載插頁式廣告。

@IBAction func loadAd(_ sender: Any) { 
     interstitial = GADInterstitial(adUnitID: "ca-app-pub-11111111/9758796532") 
     interstitial.delegate = self 
     let request = GADRequest() 
     interstitial.load(request) 

    } 

雖然加載成功,你需要出席的委託方法

optional func interstitialDidReceiveAd(_ ad: GADInterstitial!){ 
    if (interstitial.isReady){ 
      interstitial.present(fromRootViewController: self) 
     } 
} 

optional func interstitialWillDismissScreen(_ ad: GADInterstitial!){ 
     interstitial.delegate = nil 
     interstitial = nil 
} 

optional func interstitialDidFail(toPresentScreen ad: GADInterstitial!){ 
    interstitial.delegate = nil 
    interstitial = nil 
    } 

更多:https://firebase.google.com/docs/admob/ios/interstitial

0

當解僱我們必須間隙創建並加載請求明年插頁式廣告。

func interstitialDidDismissScreen(_ ad: GADInterstitial) { 
    interstitial = createAndLoadInterstitial() 
} 

分配另一個插頁的最佳位置是在interstitialDidDismissScreen:上GADInterstitialDelegate方法,以便在下一個間隙開始,一旦加載與前一個被解僱。你甚至可以考慮打破間質性初始化到它自己的輔助方法:

來源:https://firebase.google.com/docs/admob/ios/interstitial

相關問題