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.
Hier implementieren wir die folgende Banner Ad-Platzierung.
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.
adContainer
. 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?
}
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
}
kFBAdSizeHeight250Rectangle
im adSize-Pparameter für FBAdView
bereitstellen. 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 |
| 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 |
| 320 x 50 | Dieses Format ist für Mobiltelefone geeignet, wird aber wegen der schlechten Leistung und Qualität nicht empfohlen. |
Großes Banner |
| 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. |
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.
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.")
}
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)
}
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.
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.