Audience Network te permite monetizar tus aplicaciones para iOS con los anuncios de Facebook. En esta guía se explica cómo crear una aplicación para iOS que muestre banners publicitarios y anuncios de rectángulo medio.
You can change placements in Monetization Manager to the Medium Rectangle format if these were previously configured as Banner for bidding. Similarly, for any new medium rectangle placements, navigate to the placement settings page in Monetization Manager and select Medium Rectangle (not Banner).
Placements will deliver as normal even if they are not changed to the medium rectangle format. However, to avoid confusion, we recommend that you change these placements to medium rectangle.
Si te interesan otras clases de anuncios, también puedes consultar la lista de los tipos de anuncios disponibles.
Vamos a implementar la siguiente ubicación de banner publicitario.

Antes de continuar, asegúrate de haber completado las guías de configuración de iOS.
Asegúrate de seguir las normas de diseño para iOS cuando crees anuncios nativos o banners a fin de ofrecer una experiencia de usuario óptima.
adContainer. 
FBAudienceNetwork, declara que vas a implementar el protocolo FBAdViewDelegate y añade una variable de instancia para el anuncio.
import UIKit
import FBAudienceNetwork
class ViewController: UIViewController, FBAdViewDelegate {
@IBOutlet private var adContainer: UIView!
private var adView: FBAdView?
}viewDidLoad. Crea una nueva instancia de FBAdView y añádela a la vista. FBAdView es una subclase de UIView. Puedes añadirla a tu jerarquía de vistas como cualquier otra vista.
override func viewDidLoad() {
super.viewDidLoad()
// Instantiate an AdView object.
// NOTE: the placement ID will eventually identify this as your app, you can ignore while you
// are testing and replace it later when you have signed up.
// While you are using this temporary code you will only get test ads and if you release
// your code like this to the App Store your users will not receive ads (you will get a 'No Fill' error).
let adView = FBAdView(placementID: "YOUR_PLACEMENT_ID", adSize: kFBAdSizeHeight50Banner, rootViewController: self)
adView.frame = CGRect(x: 0, y: 0, width: 320, height: 250)
adView.delegate = self
adView.loadAd()
self.adView = adView
}kFBAdSizeHeight250Rectangle en el parámetro “adSize ” a FBAdView. FBAdView. El ancho de los anuncios es flexible, con un mínimo de 320 píxeles, y solo debe definirse la altura. | Formato del anuncio | Referencia de “AdSize” | Tamaño | Recomendación |
|---|---|---|---|
Rectángulo medio |
| 300 x 250 | Este formato es muy recomendable porque ofrece mayor rendimiento, mayor calidad y más eficiencia de la CPU. |
Banner estándar |
| 320 x 50 | Este formato es adecuado para teléfonos, pero no se recomienda por su bajo rendimiento y calidad. |
Banner grande |
| 320 x 90 | Este formato es adecuado para tabletas y dispositivos de mayor tamaño, pero no se recomienda por su bajo rendimiento y calidad. |
YOUR_PLACEMENT_ID por tu propia cadena de identificador de ubicación. Si no tienes un identificador de ubicación o no sabes cómo obtener uno, consulta la guía de introducción. Elige el dispositivo como destino de compilación y ejecuta el código anterior. Debes ver algo parecido a esto:
Al poner anuncios en circulación en el simulador, debes cambiar la configuración al modo de prueba para poder ver los anuncios de este tipo. Accede a Cómo usar el modo de prueba para obtener más información al respecto.
Dispones de la opción de añadir las siguientes funciones para gestionar los casos en los que el usuario hace clic en el anuncio o las ocasiones en las que lo cierra:
func adViewDidClick(_ adView: FBAdView) {
print("Ad was clicked.")
}
func adViewDidFinishHandlingClick(_ adView: FBAdView) {
print("Ad did finish click handling.")
}
func adViewWillLogImpression(_ adView: FBAdView) {
print("Ad impression is being captured.")
}Añade e implementa las dos funciones delegadas siguientes en “View Controller” para gestionar los procesos de carga fallidos del anuncio:
func adView(_ adView: FBAdView, didFailWithError error: Error) {
print("Ad failed to load with error: \(error.localizedDescription)")
}
func adViewDidLoad(_ adView: FBAdView) {
print("Ad was loaded and ready to be displayed")
showAd()
}
private func showAd() {
guard let adView = adView, adView.isAdValid else {
return
}
adContainer.addSubview(adView)
}Cuando no haya ningún anuncio que mostrar, se llamará a adView:didFailWithError: con el valor de error.code definido como 1001. Si utilizas tu propia capa personalizada de informes o mediación, puede ser recomendable comprobar el valor del código y detectar este caso. En esta situación, puedes recurrir a otra red publicitaria, pero no vuelvas a solicitar un anuncio inmediatamente después.
Obtén más información sobre los formatos de anuncio disponibles para las aplicaciones de Audience Network.