Audience Network te permite monetizar tus apps de iOS mediante anuncios de Facebook. En esta guía, se explica cómo crear una app 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 bloques de anuncios, consulta la lista de tipos de anuncio disponibles.
Implementemos la siguiente ubicación de banner publicitario.

Asegúrate de haber completado las guías de configuración para iOS antes de continuar.
Asegúrate de seguir la norma de diseño para iOS al crear anuncios nativos y banners para ofrecer una experiencia de usuario óptima.
adContainer. 
FBAudienceNetwork, declara conformidad con el protocolo FBAdViewDelegate y agrega una variable de instancia para la unidad de anuncios
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 agrégala a la vista. FBAdView es una subclase de UIView. Puedes agregarla a tu jerarquía de vista como lo harías con 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 de FBAdView.FBAdView. El ancho de una unidad es flexible, con un mínimo de 320 px, y solo se define la altura. | Formato de anuncio | Referencia de AdSize | Tamaño | Recomendación |
|---|---|---|---|
Rectángulo medio |
| 300x250 | Este formato es altamente recomendable porque proporciona mayor rendimiento, mayor calidad y mayor eficiencia de la CPU |
Banner estándar |
| 320x50 | Este formato es adecuado para los teléfonos, pero no se recomienda debido a su mal rendimiento y calidad |
Banner grande |
| 320x90 | Este formato es adecuado para las tabletas y dispositivos más grandes, pero no se recomienda debido a su mal rendimiento y calidad |
YOUR_PLACEMENT_ID con tu 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 primeros pasos. Elige el dispositivo como destino de compilación y ejecuta el código anterior. Deberías ver algo como esto:
Para ver los anuncios de prueba, cambia la configuración al modo de prueba al publicarlos en el simulador. Consulta Cómo usar el modo de prueba para obtener más información.
Opcionalmente, puedes agregar las siguientes funciones para administrar los casos en los que el anuncio se cierra o cuando el usuario hace clic en él:
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.")
}Agrega e implementa las siguientes dos funciones en tu controlador de vista para administrar los errores de carga de anuncios:
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 para mostrar, se llamará a adView:didFailWithError: con un error.code configurado en 1001. Si usas tu propia capa de informes o mediación personalizada, es posible que quieras comprobar el valor del código y detectar este caso. En este caso, puedes recurrir a otra red publicitaria, pero no puedes volver a solicitar un anuncio de inmediato.
Obtén más información sobre los formatos de anuncios disponibles para las apps en Audience Network.