Aggiunta di banner e inserzioni Medium Rectangle su un'app per iOS

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.

Passaggi per banner e inserzioni Medium Rectangle

Implementiamo il posizionamento del banner seguente.



Passaggio 1: caricamento e visualizzazione dell'inserzione

Passaggio 2: verifica della registrazione di impression e clic

Passaggio 3: esecuzione del debug quando l'inserzione non viene mostrata

Passaggio 4: test dell'integrazione delle inserzioni

Passaggio 1: caricamento e visualizzazione dell'inserzione

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.

  1. Dopo aver creato un nuovo progetto dalla guida Primi passi su iOS, apri Main.storyboard. Aggiungi un elemento UIView all'elemento View principale e denominalo adContainer.
  2. Nel file di intestazione del controller di visualizzazione (o il file Swift se sei un utente Swift), importa 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?
    }
    #import <UIKit/UIKit.h>
    @import FBAudienceNetwork;
    
    @interface ViewController : UIViewController <FBAdViewDelegate>
    
    @property (nonatomic, weak) IBOutlet UIView *adContainer;
    @property (nonatomic, strong) FBAdView *adView;
    
    @end

  3. Aggiungi il codice sotto a 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
    }
    - (void)viewDidLoad
    {
      [super viewDidLoad];
      // Instantiate an AdView object. 
      // NOTE: the placement ID will eventually identify this as your App, you can ignore it for
      // now, 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).
      self.adView = [[FBAdView alloc] initWithPlacementID:@"YOUR_PLACEMENT_ID" adSize:kFBAdSizeHeight50Banner rootViewController:self];
      self.adView.frame = CGRectMake(0, 0, 320, 250);
      self.adView.delegate = self;
      [self.adView loadAd];
    }
    Per aggiungere un'inserzione Medium Rectangle, invece, è sufficiente fornire kFBAdSizeHeight250Rectangle nel parametro adSize per FBAdView.

    Audience Network supporta tre dimensioni dell'inserzione da usare nella tua 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

    kFBAdSizeHeight 250Rectangle

    300x250

    Questo formato è altamente consigliato in quanto offre prestazioni più elevate, una qualità superiore e una CPU più efficiente

    Banner standard

    kFBAdSizeHeight 50Banner

    320x50

    Questo formato è adatto ai telefoni ma non consigliato a causa di scarse prestazioni e qualità

    Banner grande

    kFBAdSizeHeight 90Banner

    320x90

    Questo formato è adatto a tablet e dispositivi più grandi ma non consigliato a causa di scarse prestazioni e qualità

  4. Sostituisci 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.

Passaggio 2: verifica della registrazione di impression e clic

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.")
}
- (void)adViewDidClick:(FBAdView *)adView
{
  NSLog(@"Ad was clicked.");
}

- (void)adViewDidFinishHandlingClick:(FBAdView *)adView
{
  NSLog(@"Ad did finish click handling.");
}

- (void)adViewWillLogImpression:(FBAdView *)adView
{
  NSLog(@"Ad impression is being captured.");
}

Passaggio 3: esecuzione del debug quando l'inserzione non viene mostrata

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)
}
- (void)adView:(FBAdView *)adView didFailWithError:(NSError *)error
{
  NSLog(@"Ad failed to load with error: %@", error);
}

- (void)adViewDidLoad:(FBAdView *)adView
{
  NSLog(@"Ad was loaded and ready to be displayed");
  [self showAd];
}

- (void)showAd
{
  if (self.adView && self.adView.isAdValid) {
    [self.adContainer addSubview:self.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.


Passaggi successivi

  • Scopri i nostri esempi di codice, che mostrano come usare le inserzioni native. L'SDK include NativeAdSample, che puoi trovare sotto la cartella FBAudienceNetwork/samples. Apri il progetto con Xcode ed eseguilo su un dispositivo o sul simulatore.