Banner Ads und rechteckige Werbeanzeigen mittlerer Größe zu einer iOS-App hinzufügen

Mit dem Audience Network kannst du deine iOS-Apps mit Facebook-Werbeanzeigen monetarisieren. In diesem Leitfaden erfährst du, wie du eine iOS-App erstellst, die Banner Ads und rechteckige Werbeanzeigen mittlerer Größe anzeigt.

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.

Wenn du mehr über andere Arten von Werbeeinheiten erfahren möchtest, findest du hier eine Liste der verfügbaren Arten.

Schritte zum Hinzufügen von Banner Ads und rechteckigen Werbeanzeigen mittlerer Größe

Hier implementieren wir die folgende Banner Ad-Platzierung.



Schritt 1: Anzeigenansicht laden und anzeigen

Schritt 2: Impressionen bestätigen und Klicks aufzeichnen

Schritt 3: Debuggen, wenn die Werbeanzeige nicht gezeigt wird

Schritt 4: Integration der Werbeanzeige testen

Schritt 1: Anzeigenansicht laden und anzeigen

Bevor zu fortfährst, solltest du sicherstellen, dass du die iOS-Setup-Leitfäden abgeschlossen hast.

Folge beim Design deiner Native und Banner Ads dem iOS-Layoutleitfaden, um optimale Nutzererlebnisse zu gewährleisten.

  1. Nachdem du ein neues Projekt mithilfe der Leitfäden zum Einstieg mit iOS erstellt hast, öffne Main.storyboard. Füge zum Haupt-View-Element ein UIView-Element hinzu und gib ihm den Namen adContainer.
  2. Importiere nun in die Anzeige-Controller-Headerdatei (bzw. Swift-Datei, wenn du Swift nutzt) FBAudienceNetwork und deklariere die Konformität mit dem FBNativeAdDelegate-Protokoll. Füge außerdem eine Instanzvariable für die Werbeeinheit hinzu
    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. Fügen den untenstehende Code zu viewDidLoad hinzu; Erstelle eine neue FBAdView-Instanz und füge sie zur Ansicht hinzu. FBAdView ist eine Unterklasse von UIView. Du kannst sie deiner Ansichtshierarchie wie jede andere Ansicht hinzufügen.
    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];
    }
    Um stattdessen eine rechteckige Werbeanzeige mittlerer Größe hinzuzufügen, musst du einfach kFBAdSizeHeight250Rectangle im adSize-Pparameter für FBAdView bereitstellen.

    Audience Network unterstützt drei Anzeigengrößen, die in deiner FBAdView verwendet werden können. Die Breite einer Einheit ist flexibel, muss aber mindestens 320 Pixel betragen. Lediglich die Höhe ist festgelegt.

    Anzeigenformat AdSize-Referenz Größe Empfehlung

    Mittelgroßes Rechteck

    kFBAdSizeHeight 250Rectangle

    300 x 250

    Dieses Format ist sehr empfehlenswert, da es eine höhere Leistung, eine bessere Qualität und eine höhere CPU-Effizienz bietet.

    Standard-Banner

    kFBAdSizeHeight 50Banner

    320 x 50

    Dieses Format ist für Mobiltelefone geeignet, wird aber wegen der schlechten Leistung und Qualität nicht empfohlen.

    Großes Banner

    kFBAdSizeHeight 90Banner

    320 x 90

    Dieses Format ist für Tablets und größere Geräte geeignet, wird aber wegen der schlechten Leistung und Qualität nicht empfohlen.

  4. Ersetze YOUR_PLACEMENT_ID durch deinen eigenen Placement ID-String. Wenn du über keine Placement ID verfügst oder nicht weißt, wie du eine bekommst, sieh im Leitfaden zu den ersten Schritten nach. Wähle dein Gerät als Build-Ziel aus und führe den oben angegebenen Code aus. Das Ergebnis sollte in etwa wie folgt aussehen:



Wenn du Anzeigen im Simulator schaltest, musst du die Einstellung auf „Testmodus“ festlegen, um Testwerbeanzeigen anzuzeigen. Weitere Informationen findest du unter Verwendung des Testmodus.

Schritt 2: Impression bestätigen und Klicks aufzeichnen

Optional kannst du die folgenden Funktionen hinzufügen, um die Fälle zu verarbeiten, in denen die Anzeige geschlossen oder von einem*einer Nutzer*in angeklickt wird:

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.");
}

Schritt 3: Debuggen, wenn die Werbeanzeige nicht gezeigt wird

Füge in deinem Anzeige-Controller die folgenden zwei Funktionen hinzu und implementiere diese, um Fehler beim Laden von Werbeanzeigen zu beheben:

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];
  }
}

Wenn es keine Werbeanzeige zum Anzeigen gibt, wird adView:didFailWithError: mit error.code (festgelegt auf 1001) aufgerufen. Wenn du deine eigene Berichts- oder Mediationsebene verwendest, solltest du den Codewert prüfen und diesen Fall erkennen. Du kannst in diesem Fall auf ein anderes Werbeanzeigennetzwerk zurückgreifen, aber fordere danach nicht sofort eine neue Werbeanzeige an.


Nächste Schritte

  • Sieh dir unsere Codebeispiele für die Verwendung von Native Ads an. Die NativeAdSample steht als Teil des SDK zur Verfügung und befindet sich im Ordner FBAudienceNetwork/samples. Öffne das Projekt mit Xcode und führe es auf einem Gerät oder Simulator aus.