Sto utilizzando Swift per implementare annunci interstiziali nella mia app. Sono riuscito a farlo pubblicare annunci interstiziali, ma non esiste un pulsante "X" vicino per sbarazzarsi della pubblicità. Perchè è questo?Interstitial iAd non ha chiuso il pulsante 'X'
5
A
risposta
1
Non riesco a trovare la risposta per il motivo per cui il framework incorporato non fornisce il pulsante di chiusura ma alla fine utilizzo la seguente soluzione.
//iAD interstitial definition with custom placeHolderView and close button
//you do not need to add anything to interface builder. All is done with code
var interstitial:ADInterstitialAd!
var placeHolderView:UIView!
var closeButton:UIButton!
//Full Implemantation of iAD interstitial and delegate methods
func cycleInterstitial(){
// create a new interstitial. We set the delegate so that we can be notified
interstitial = ADInterstitialAd()
interstitial.delegate = self;
}
func presentInterlude(){
// If the interstitial managed to load, then we'll present it now.
if (interstitial.loaded) {
placeHolderView = UIView(frame: self.view.frame)
self.view.addSubview(placeHolderView)
closeButton = UIButton(frame: CGRect(x: 270, y: 25, width: 25, height: 25))
//add a cross shaped graphics into your project to use as close button
closeButton.setBackgroundImage(UIImage(named: "cross"), forState: UIControlState.Normal)
closeButton.addTarget(self, action: Selector("close"), forControlEvents: UIControlEvents.TouchDown)
self.view.addSubview(closeButton)
interstitial.presentInView(placeHolderView)
}
}
// iAd Delegate Mehtods
// When this method is invoked, the application should remove the view from the screen and tear it down.
// The content will be unloaded shortly after this method is called and no new content will be loaded in that view.
// This may occur either when the user dismisses the interstitial view via the dismiss button or
// if the content in the view has expired.
func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!){
placeHolderView.removeFromSuperview()
closeButton.removeFromSuperview()
interstitial = nil
cycleInterstitial()
}
func interstitialAdActionDidFinish(_interstitialAd: ADInterstitialAd!){
placeHolderView.removeFromSuperview()
closeButton.removeFromSuperview()
interstitial = nil
println("called just before dismissing - action finished")
}
// This method will be invoked when an error has occurred attempting to get advertisement content.
// The ADError enum lists the possible error codes.
func interstitialAd(interstitialAd: ADInterstitialAd!,
didFailWithError error: NSError!){
cycleInterstitial()
}
//Load iAd interstitial
func dislayiAdInterstitial() {
//iAd interstitial
presentInterlude()
}
func close() {
placeHolderView.removeFromSuperview()
closeButton.removeFromSuperview()
interstitial = nil
}
0
utilizzando interstiziale = InterstitialAd() mi provoca lo stesso problema come te.
Tuttavia, se si include il seguente codice nella funzione di applicazione di AppDelegate:
UIViewController.prepareInterstitialAds()
Quindi, è possibile generare un annuncio interstiziale di utilizzare questo:
viewController.requestInterstitialAdPresentation()
io non sono sicuro di come ottenere i callback, però.
0
iOS 9.2.1, Xcode 7.2.1, ARC abilitato
Si prega di leggere il mio post:
https://stackoverflow.com/a/35467510/4018041
ho ancora utilizzare presentFromViewController:
metodo.
Spero che questo aiuti! Saluti.
Problemi correlati
- 1. Transizione personalizzata iAd per annunci interstitial
- 2. Come integrare IAD e AdMob se IAD non riesce
- 3. Modulo di avvio UI angolare non chiuso sul pulsante posteriore
- 4. Il percorso SVG non chiuso sembra essere chiuso
- 5. Errore iAd "Spazio pubblicitario non disponibile"
- 6. iAd rifiuta di visualizzare
- 7. Bootbox: funzione di richiamata dopo aver chiuso la finestra di dialogo/fare clic sul pulsante "X"
- 8. psql: server ha chiuso la connessione unexepectedly
- 9. Ad mob o iAd?
- 10. Errore rete iAd - Temporaneamente non disponibile
- 11. Banner iAd non funziona su iOS 9
- 12. Errore APN con "Autenticazione non riuscita perché il partecipante remoto ha chiuso il flusso di trasporto"
- 13. Perché questo server che ho scritto non rileva che il client ha chiuso il socket?
- 14. Autenticazione non riuscita in quanto il partecipante remoto ha chiuso il flusso di trasporto
- 15. Autenticazione non riuscita perché il party remoto ha chiuso il flusso di trasporto
- 16. TypeError 'x' non ha alcun attributo '__getitem__'
- 17. jQuery Se DIV non ha classe "x"
- 18. Interstitial di Admob con audio
- 19. Utilizzo di iAd come rete pubblicitaria predefinita e AdMob se iAd non riesce
- 20. Dettagli pagamento iAd
- 21. iAd si sta spegnendo. Devo rimuovere il framework iAd da tutte le mie applicazioni?
- 22. Il componente di tipo chiuso non ha una proprietà impostabile IsMultimedia corrispondente
- 23. annuncio interstitial show nero (->) AFMA_ReceiveMessage non definito (: 1)
- 24. Come creare un annuncio interstitial per Android?
- 25. Come premere/fare clic sul pulsante utilizzando Selenium se il pulsante non ha l'ID?
- 26. Intellij non mostra il pulsante di marcia
- 27. Sapere quando il modulo figlio è chiuso
- 28. Azione quando il modulo è chiuso
- 29. App chiuso dopo click sul pulsante Indietro nel Frammento
- 30. banner iAd andato dopo licenziamentoModalViewControllerAnimated