2016-07-26 7 views
2

Ich habe versucht, mit diesem Problem für eine gute Weile umzugehen, aber kann nicht herausfinden, wie es zu beheben ist.Wie Admob Interstitial vor Segue hinzufügen?

Derzeit habe ich Admob zu meinem Projekt hinzugefügt und die Interstitial-Anzeigen werden angezeigt, aber wenn ich das Interstitial verlasse, kehrt es zu meiner vorherigen VC zurück (wo die Interstitial-Instanz erstellt wird).

Wie Sie unten sehen können, versuche ich, sie zu meinen Tabbar-Funktionen hinzuzufügen. Aber der Übergang findet nie statt und die Warnungen werden auch nicht vor dem Interstitial angezeigt. Ich wollte die Werbung dann dem VC zeigen. Und ich möchte, dass der Benutzer die Warnung sieht und "OK" drückt, bevor er das Interstitial sieht.

Jede Hilfe wäre toll!

//TabBar Functions 

    func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) { 
     if (item.tag == 1) { 

      if (self.interstitial.isReady) { 
       self.interstitial.presentFromRootViewController(self) 
      } 

      self.performSegueWithIdentifier("showStore", sender: nil) 

     } else if (item.tag == 2) { 

      let alert = UIAlertController(title: "Coming Soon!", message: "Loadout", preferredStyle: .Alert) 

      alert.addAction(UIAlertAction(title: "Got It!", style: .Default, handler: nil)) 

      if (self.interstitial.isReady) { 
       self.interstitial.presentFromRootViewController(self) 
      } 

      self.presentViewController(alert, animated: true, completion: nil) 

      return 

     } else if (item.tag == 3) { 

      let alert = UIAlertController(title: "Coming Soon!", message: "God's Tower", preferredStyle: .Alert) 

      alert.addAction(UIAlertAction(title: "Got It!", style: .Default, handler: nil)) 

      if (self.interstitial.isReady) { 
       self.interstitial.presentFromRootViewController(self) 
      } 

      self.presentViewController(alert, animated: true, completion: nil) 

      return 

     } 
    } 

Antwort

3

Stellen Sie Ihren GADInterstitial ‚s delegieren und dann segue, sobald die Anzeige wurde abgewiesen.

// Add this where you're creating your GADInterstitial 
interstitial.delegate = self 

func interstitialDidDismissScreen(ad: GADInterstitial!) { 
    // Segue to your view controller here 
} 

Eine vollständige Liste der Ad-Ereignisse beziehen sich auf GADInterstitialDelegate implementation.

+0

Ehrfürchtiger Daniel! Wie kann ich diese Funktion in meiner Tabbar-Funktion verwenden? – brkr

+0

@brkr Verwenden Sie eine globale Variable, um den Wert der item.tag zu speichern, und verwenden Sie dann eine switch-Anweisung in der Delegate-Methode, die ich erwähnt habe, um den richtigen View-Controller zu präsentieren. –