Audience Network ti consente di monetizzare le tue app per iOS con le inserzioni di Facebook. Questa guida spiega come creare un'app per iOS che mostri banner e inserzioni Medium Rectangle.
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.
Se ti interessano altri tipi di unità pubblicitarie, consulta la lista di tipologie disponibili.
Implementiamo il posizionamento del banner seguente.
Assicurati di aver seguito tutte le istruzioni fornite nelle Guide alla configurazione di iOS prima di procedere.
Quando configuri le inserzioni native e i banner, assicurati di aver rispettato le linee guida sul layout per iOS per garantire un'esperienza utente ottimale.
adContainer
. FBAudienceNetwork
, dichiara la conformità al protocollo FBRewardedVideoAdDelegate
e aggiungi una variabile dell'istanza per l'unità pubblicitaria
import UIKit
import FBAudienceNetwork
class ViewController: UIViewController, FBAdViewDelegate {
@IBOutlet private var adContainer: UIView!
private var adView: FBAdView?
}
viewDidLoad
. Crea una nuova istanza di FBAdView
e aggiungila alla visualizzazione. FBAdView
è una sottoclasse di UIView
. Puoi aggiungerla alla gerarchia di visualizzazione come faresti per qualsiasi altra visualizzazione.
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
nel parametro adSize per FBAdView
. FBAdView
. La larghezza di un'unità è flessibile con un minimo di 320 px, solo l'altezza è definita. Formato pubblicitario | Riferimento adSize | Dimensioni | Consiglio |
---|---|---|---|
Medium Rectangle |
| 300x250 | Questo formato è altamente consigliato in quanto offre prestazioni più elevate, una qualità superiore e una CPU più efficiente |
Banner standard |
| 320x50 | Questo formato è adatto ai telefoni ma non consigliato a causa di scarse prestazioni e qualità |
Banner grande |
| 320x90 | Questo formato è adatto a tablet e dispositivi più grandi ma non consigliato a causa di scarse prestazioni e qualità |
YOUR_PLACEMENT_ID
con la stringa del tuo ID di posizionamento. Se non hai un ID di posizionamento o non sai come ottenerlo, fai riferimento alla guida introduttiva. Scegli un dispositivo come destinazione della build ed esegui il codice precedente. Il risultato dovrebbe essere simile a questo:Quando pubblichi inserzioni nel simulatore, modifica l'impostazione sulla modalità test per visualizzare le inserzioni di prova. Per maggiori informazioni, consulta Come usare la modalità di prova.
Se lo desideri, puoi aggiungere le funzioni seguenti per gestire i casi in cui l'inserzione viene chiusa o quando l'utente clicca su di essa:
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.")
}
Aggiungi e implementa le due funzioni di delegato seguenti nel tuo controller di visualizzazione per gestire gli errori di caricamento delle inserzioni:
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)
}
Quando non è presente alcuna inserzione da mostrare, viene chiamato l'errore adView:didFailWithError:
con error.code
impostato su 1001
. Se utilizzi il tuo livello di reporting o mediazione personalizzato, ti consigliamo di controllare il valore del codice e, se è questo il caso, puoi eseguire il fallback a un'altra rete di inserzioni, ma non richiedere nuovamente un'inserzione subito dopo.
NativeAdSample
, che puoi trovare sotto la cartella FBAudienceNetwork/samples
. Apri il progetto con Xcode ed eseguilo su un dispositivo o sul simulatore.