Le réseau Audience Network vous permet de monétiser vos applications iOS avec des publicités Facebook. Une publicité interstitielle est une publicité plein écran que vous pouvez diffuser au sein de votre application. Suivez ce guide afin d’afficher ce type d’unité publicitaire. Si vous êtes intéressé·e par d’autres types d’unité publicitaire, consultez la liste des types disponibles.
Nous allons mettre en œuvre le placement de la publicité interstitielle suivante.
Assurez-vous d’avoir terminé le guide de démarrage et le guide Démarrer avec iOS avant de commencer.
FBAudienceNetwork
, indiquez que ViewController
utilise le protocole FBInterstitialAdDelegate
et ajoutez une variable d’instance pour l’unité de la publicité interstitielle
import UIKit
import FBAudienceNetwork
class ViewController: UIViewController, FBInterstitialAdDelegate {
private var interstitialAd: FBInterstitialAd?
}
viewDidLoad
du contrôleur d’affichage et implémentez 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)
}
L’ID correspondant à YOUR_PLACEMENT_ID
est un ID temporaire à des fins de tests uniquement.
Si vous utilisez cet ID temporaire dans votre code en direct, vos utilisateurs et utilisatrices ne recevront pas de publicité, mais une erreur No Fill. Vous devez revenir ici après le test et remplacer cet ID temporaire par un ID de placement en direct.
Pour découvrir comment générer un ID de placement en direct, reportez-vous à Configuration d’Audience Network
Choisissez Appareil en tant que cible de version, puis exécutez le code ci-dessus. Vous devriez voir une fenêtre comme celle-ci :Lorsque vous diffusez des publicités dans le simulateur, basculez le paramètre sur le mode de test pour afficher les publicités tests. Pour en savoir plus, consultez la section Comment utiliser le mode Test.
N’appelez pas loadAd
pour FBInterstitialAd tant que la publicité est affichée à l’écran. Si vous devez charger une autre publicité interstitielle pour une utilisation ultérieure, vous devrez atteindre que l’utilisateur·trice ferme la publicité en cours, par exemple dans le rappel interstitialAdDidClose
.
Si vous le souhaitez, vous pouvez ajouter les fonctions suivantes pour gérer les cas où la publicité est visionnée, cliquée ou fermée par les utilisateur·rices
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
}
Ajoutez et implémentez la fonction suivante dans votre fichier d’implémentation du contrôleur d’affichage pour gérer les échecs de chargement de la publicité
func interstitialAd(_ interstitialAd: FBInterstitialAd, didFailWithError error: Error) {
print("Interstitial ad failed to load with error: \(error.localizedDescription)")
}
Lorsqu’il n’y a aucune publicité à présenter, interstitialAd:didFailWithError:
est appelé, accompagné du error.code
1001
. Si vous utilisez votre propre couche de médiation ou de rapport personnalisée, nous vous conseillons de vérifier la valeur du code et de détecter ce cas. Vous pouvez utiliser un autre réseau publicitaire dans ce cas, mais ne renvoyez pas de demande de publicité immédiatement après.
NativeAdSample
fait partie du SDK et se situe dans le dossier FBAudienceNetwork/samples
. Ouvrez le projet avec Xcode, et lancez-le sur un appareil ou sur le simulateur.