Diese Frage wurde hier mehrmals gestellt und beantwortet. Und ich habe sie alle gelesen, alle Vorschläge umgesetzt, und trotzdem funktioniert es nicht. Ich mache es gerade mit einer NotificationObserver
und die Anzeige wird erstellt, jedoch immer false
für isReady
zurückgegeben. Bitte lassen Sie mich wissen, wenn etwas hervorragt.Swift 3, SpriteKit, Google Interstitial-Anzeige nie fertig
GameViewController
var interstitial: GADInterstitial!
In viewDidLoad
interstitial = createAndLoadInterstitial()
NotificationCenter.default.addObserver(self, selector: #selector(self.showInterstitial), name:NSNotification.Name(rawValue: "showInterAd"), object: nil);
Ad Funktionen
func showInterstitial(){
if (interstitial!.isReady) {
self.interstitial.present(fromRootViewController: self)
}else{
print("ad not ready?")
}
}
func createAndLoadInterstitial() -> GADInterstitial {
print("making ad")
let interstitial = GADInterstitial(adUnitID: "ca-app-pub-6956068899232786/9340371153")
interstitial.delegate = self
let request = GADRequest()
request.testDevices = [kGADSimulatorID]
interstitial.load(request)
return interstitial
}
func interstitialDidDismissScreen(_ ad: GADInterstitial) {
interstitial = createAndLoadInterstitial()
}
GameScene.swift
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "showInterAd"), object: nil)
Alle Funktionen im richtigen Zeiten aufgerufen, aber die Anzeige wird einfach nie fertig. Ich habe das adUnitID
dreifach überprüft und an mehreren Geräten/Simulatoren ausprobiert.
Haben Sie versucht, die zweite Zeile Ihres viewDidLoad-Codes in viewWillLayoutSubviews zu setzen? – Nik
Nein, aber dieser Code tut nichts mit Ansichten oder Positionierung. Welche Gründe muss man haben, um diese Idee zu unterstützen? – TheValyreanGroup
Sie sollten Benachrichtigungsbeobachter in viewWillLayoutSubviews hinzufügen (das ist ein Tutorial, das ich vor einiger Zeit gelesen habe) – Nik