Mit dem Audience Network kannst du deine iOS-Apps mit Facebook-Werbeanzeigen monetarisieren. Eine Interstitial Ad ist eine Werbeanzeige im Vollbildmodus, die du in deiner App anzeigen kannst. Befolge die Schritte in diesem Leitfaden, um diese Werbeeinheit zu verwenden. Falls du mehr über andere Arten von Werbeeinheiten erfahren möchtest, findest du hier eine Liste der verfügbaren Arten.
Hier implementieren wir die folgende Interstitial Ad-Platzierung.
Stelle sicher, dass du die Leitfäden zu den ersten Schritten mit dem Audience Network und mit iOS abgeschlossen hast, bevor du fortfährst.
FBAudienceNetwork
, deklariere, dass ViewController
das FBInterstitialAdDelegate
-Protokoll implementiert, und füge eine Instanzvariable für die Interstitial Ad-Einheit hinzu.
import UIKit
import FBAudienceNetwork
class ViewController: UIViewController, FBInterstitialAdDelegate {
private var interstitialAd: FBInterstitialAd?
}
viewDidLoad
-Methode des Anzeige-Controllers und implementierst interstitialAdDidLoad
.
override func viewDidLoad() {
super.viewDidLoad()
// Instantiate an InterstitialAd object.
// NOTE: the placement ID will eventually identify this as your app. You can ignore it 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 interstitialAd = FBInterstitialAd(placementID: "YOUR_PLACEMENT_ID")
interstitialAd.delegate = self
// For auto play video ads, it's recommended to load the ad at least 30 seconds before it is shown
interstitialAd.load()
self.interstitialAd = interstitialAd
}
func interstitialAdDidLoad(_ interstitialAd: FBInterstitialAd) {
guard interstitialAd.isAdValid else {
return
}
print("Ad is loaded and ready to be displayed")
interstitialAd.show(fromRootViewController: self)
}
Die ID, die bei YOUR_PLACEMENT_ID
angezeigt wird, ist eine temporäre ID ausschließlich für Testzwecke.
Wenn du diese temporäre ID in deinem Live-Code verwendest, erhalten deine Nutzer*innen keine Werbeanzeigen (sondern den Fehler Nichterfüllung). Du musst nach dem Testen hierher zurückkehren und diese temporäre ID durch eine Live-Placement-ID ersetzen.
Informationen dazu, wie du eine Live-Placement-ID generierst, findest du unter Audience Network-Setup.
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.
Rufe loadAd
nicht für FBInterstitialAd auf, während die Werbeanzeige auf dem Bildschirm angezeigt wird. Wenn du ein weiteres FBInterstitialAd für die zukünftige Verwendung laden musst, kannst du dies tun, nachdem der*die Nutzer*in das aktuelle geschlossen hat, beispielsweise im interstitialAdDidClose
-Callback.
Du kannst optional die folgenden Funktionen hinzufügen, für den Fall, dass die Werbeanzeige von Nutzern angezeigt, angeklickt oder geschlossen wird.
func interstitialAdWillLogImpression(_ interstitialAd: FBInterstitialAd) {
print("The user sees the ad")
// Use this function as indication for a user's impression on the ad.
}
func interstitialAdDidClick(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the ad and will be taken to its destination")
// Use this function as indication for a user's click on the ad.
}
func interstitialAdWillClose(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the close button, the ad is just about to close")
// Consider to add code here to resume your app's flow
}
func interstitialAdDidClose(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the close button, the ad is just about to close")
// Consider to add code here to resume your app's flow
}
Füge in der Implementierungsdatei deines Anzeige-Controllers die folgende Funktion hinzu und implementiere sie, um mit Fehlern beim Laden von Werbeanzeigen umzugehen.
func interstitialAd(_ interstitialAd: FBInterstitialAd, didFailWithError error: Error) {
print("Interstitial ad failed to load with error: \(error.localizedDescription)")
}
Wenn es keine Werbeanzeige zum Anzeigen gibt, wird interstitialAd: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.