iphone ipad iad interstitial

iAds anuncios intersticiales en iPhone?



ipad interstitial (2)

Mi respuesta original está empezando a envejecer, así que aquí hay una nueva implementación de Swift:

Esta implementación utiliza una ADInterstitialPresentationPolicy Manual para que podamos presentar nuestros intersticiales a nuestros propios intervalos. Cuando se presenta manualmente su intersticial, no se carga con su propio botón de cierre para descartarse. Entonces, lo que he hecho es crear una UIView para presentar el intersticial y usar los métodos de delegado intersticial para descartar la UIView . La incoherencia con la recepción de un anuncio de la red iAd aún surge durante las pruebas. A veces recibe un anuncio, a veces no se carga, lo que nos permite solicitar un anuncio nuevo y, a veces, no sucede nada. Esto parece ser la naturaleza de los intersticiales de iAd.

import UIKit import iAd // Import iAd class ViewController: UIViewController, ADInterstitialAdDelegate { // Include the delegate var iAdInterstitial = ADInterstitialAd() // Our ad var iAdInterstitialView = UIView() // View to present our ad in var adLoaded = false // Bool to keep track if an ad is loaded or not override func viewDidLoad() { super.viewDidLoad() setupAd() } func setupAd() { // Set presentation to manual so we can choose when to present the interstitial // Setting this will also fetch an interstitial ad for us self.interstitialPresentationPolicy = ADInterstitialPresentationPolicy.Manual iAdInterstitial.delegate = self // Set the delegate // Make our view the same size as the view we will be presenting in iAdInterstitialView.frame = self.view.bounds } func requestNewAd() { // This will fetch an ad for us ViewController.prepareInterstitialAds() println("Requesting new ad") } @IBAction func presentAdButton(sender: AnyObject) { if (adLoaded) { // We have an ad that is loaded so lets present it self.view.addSubview(iAdInterstitialView) iAdInterstitial.presentInView(iAdInterstitialView) } else { // No ad has been loaded println("Ad not loaded") } } func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!) { // Kinda works as expected // Sometimes is called prematurely // Sometimes takes minutes after ad is dismissed to be called println("interstitialAdDidUnload") // Get new ad adLoaded = false iAdInterstitialView.removeFromSuperview() requestNewAd() } func interstitialAd(interstitialAd: ADInterstitialAd!, didFailWithError error: NSError!) { // Failed to load ad so lets try again println("didFailWithError: /(error)") requestNewAd() } func interstitialAdWillLoad(interstitialAd: ADInterstitialAd!) { // There is an ad and it has begun to download println("interstitialAdWillLoad") } func interstitialAdDidLoad(interstitialAd: ADInterstitialAd!) { // We got an ad println("interstitialAdDidLoad") adLoaded = true } func interstitialAdActionShouldBegin(interstitialAd: ADInterstitialAd!, willLeaveApplication willLeave: Bool) -> Bool { println("interstitialAdActionShouldBegin") return true; } func interstitialAdActionDidFinish(interstitialAd: ADInterstitialAd!) { // Done with this ad. Lets get a new one println("interstitialAdActionDidFinish") iAdInterstitialView.removeFromSuperview() adLoaded = false requestNewAd() }

Mi desarrollador y yo previamente habíamos intentado que los anuncios intersticiales se cargaran en iPhone y iPad, sin embargo, solo conseguimos que esto funcionara en iPad.

Durante nuestras pruebas, descubrimos que los intersticiales no eran compatibles con iPhone, pero desde el lanzamiento de iOS7, algunas personas ahora dicen que esto es posible.

Sin embargo no puedo encontrar ninguna documentación decente sobre esto. Esta pregunta de la Pila me ha vuelto a preguntar, aunque la integración intersticial iAd & Admob en iPhone

Entonces, ¿son posibles los intersticiales de pantalla completa en iPhone usando iAds?


También he estado esperando los anuncios intersticiales para iPhone de iAd. Finalmente lo tengo implementado en una de mis aplicaciones y se está ejecutando y mostrando anuncios de prueba muy bien. La aplicación está actualmente en revisión y actualizaré mi respuesta una vez que se apruebe, y puedo probar si se están publicando algunos anuncios. Mientras tanto, aquí está el código que utilicé para implementar intersticiales de iAd:

ViewController.h

@interface ViewController : UIViewController <ADInterstitialAdDelegate> { ADInterstitialAd *interstitial; BOOL requestingAd; } -(void)showFullScreenAd;

ViewController.m

-(void)viewDidLoad { requestingAd = NO; } // Interstitial iAd -(void)showFullScreenAd { // Check if already requesting ad if (requestingAd == NO) { [ADInterstitialAd release]; interstitial = [[ADInterstitialAd alloc] init]; interstitial.delegate = self; self.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual; [self requestInterstitialAdPresentation]; NSLog(@"interstitialAdREQUEST"); requestingAd = YES; } } -(void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error { interstitial = nil; [interstitialAd release]; [ADInterstitialAd release]; requestingAd = NO; NSLog(@"interstitialAd didFailWithERROR"); NSLog(@"%@", error); } -(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd { NSLog(@"interstitialAdDidLOAD"); if (interstitialAd != nil && interstitial != nil && requestingAd == YES) { [interstitial presentFromViewController:self]; NSLog(@"interstitialAdDidPRESENT"); } } -(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd { interstitial = nil; [interstitialAd release]; [ADInterstitialAd release]; requestingAd = NO; NSLog(@"interstitialAdDidUNLOAD"); } -(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd { interstitial = nil; [interstitialAd release]; [ADInterstitialAd release]; requestingAd = NO; NSLog(@"interstitialAdDidFINISH"); }

Acabo de llamar -(void)showFullScreenAd después de que el usuario realice una determinada acción. Para obtener más información, consulte la Referencia de adiciones de iIViewController iAd.

EDITAR: 01/03/14 La actualización de la aplicación fue aprobada y ha estado activa por 12 horas. Todavía no he recibido ningún iAds intersticial a partir de este momento. Puede deberse a la falta de inventario para anuncios intersticiales en iPhone o puede tener algo que ver con el siguiente mensaje que he recibido en mi módulo iAd en iTunes Connect. El mensaje lee

Cuando envíe su aplicación, [nombre de la aplicación], para su aprobación, iAd también la revisará para su uso en la Red de aplicaciones a fin de determinar si es apropiada para recibir anuncios de los anunciantes de iAd. Una vez que se apruebe su aplicación, estará listo para comenzar a obtener ingresos por los anuncios que se publican en su aplicación.

Nunca había recibido este mensaje, normalmente recibo el mensaje "Su aplicación ahora es elegible para recibir anuncios" tan pronto como se publique la actualización en la App Store. Se debe a la nueva implementación de anuncios intersticiales en mi aplicación o Apple ha actualizado algunos de sus procedimientos de iAd.

Volveré a actualizar la respuesta cuando empiece a recibir iAds intersticiales. Mientras tanto, puedes probarlo tú mismo en mi aplicación +Quotes . El código anterior se invoca y un anuncio intersticial debe mostrarse una vez que un usuario comparte a través de Facebook dentro de la aplicación.

EDITAR: 01/07/14 Contacté directamente a iAd y recibí una respuesta hoy

Hola Daniel, las tasas de llenado iniciales reflejarán el reciente lanzamiento de intersticiales en iOS 7. Gracias por su paciencia mientras aumentamos la publicación de anuncios. Si aún no lo ha hecho, le recomendamos que integre los banners iAd estándar y horizontal en su aplicación para aprovechar todos los tipos de inventario de publicidad disponibles. Finalmente, para futuras referencias, cuando envíe su aplicación para su aprobación, iAd también la revisará para determinar si es apropiada para recibir anuncios de los anunciantes de iAd. Por lo tanto, puede tomar algunos días para que su nueva aplicación habilitada para iAd comience a recibir impresiones de anuncios. Saludos cordiales, Support iAd App Network Support

Por lo tanto, los iAds para iPhone intersticiales funcionan con iOS 7.0 y superior, pero actualmente tienen una tasa de llenado baja.