Les annonces natives sont des composants d'annonce présentés aux utilisateurs via des composants d'interface utilisateur natifs pour la plate-forme. Elles s'affichent à l'aide des mêmes classes que celles que vous utilisez déjà dans vos storyboards et peuvent être mises en forme pour correspondre à la conception visuelle de votre application.
Lorsqu'une annonce native est chargée, votre application reçoit un objet d'annonce contenant ses composants, et l'application, et non Google Mobile Ads SDK, est alors responsable de leur affichage.
De manière générale, l'implémentation des annonces natives comporte deux parties : le chargement d'une annonce à l'aide du SDK, puis l'affichage du contenu de l'annonce dans votre application.
Cette page explique comment utiliser le SDK pour charger des annonces natives.
Prérequis
Avant de continuer, configurez Google Mobile Ads SDK.
Toujours effectuer des tests avec des annonces tests
Lorsque vous créez et testez vos applications, assurez-vous d'utiliser des annonces tests plutôt que des annonces de production.
Le moyen le plus simple de charger des annonces tests consiste à utiliser l'ID de bloc d'annonces tests dédié aux annonces natives sur iOS :
ca-app-pub-3940256099942544/3986624511
Il a été spécialement configuré pour renvoyer des annonces tests pour chaque demande. Vous pouvez l'utiliser dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à le remplacer par votre propre ID de bloc d'annonces avant de publier votre application.
Pour en savoir plus sur les annonces tests Google Mobile Ads SDK, consultez Activer les annonces tests.
Charger des annonces
Les annonces natives sont chargées avec la
GADAdLoader
classe, qui envoie des messages à ses délégués conformément au
GADAdLoaderDelegate
protocole.
Initialiser le chargeur d'annonces
Avant de pouvoir charger une annonce, vous devez initialiser le chargeur d'annonces.
Le code suivant montre comment initialiser un GADAdLoader :
Swift
Remplacez nativeAdUnitID par votre ID de bloc d'annonces.
Objective-C
Remplacez kNativeAdUnitID par votre ID de bloc d'annonces.
Vous aurez besoin d'un ID de bloc d'annonces (vous pouvez utiliser l'ID de test), de constantes à transmettre dans le tableau adTypes pour spécifier les formats natifs que vous souhaitez demander, et de toutes les options que vous souhaitez définir dans le paramètre options. La liste des valeurs possibles
pour le paramètre options est disponible sur la page Définir les options des annonces natives.
Le tableau adTypes doit contenir
la constante suivante :
Implémenter le délégué du chargeur d'annonces
Le délégué du chargeur d'annonces doit implémenter des protocoles spécifiques à votre type d'annonce.
Pour les annonces natives, le protocole GADNativeAdLoaderDelegate inclut un message envoyé au délégué lorsqu'une annonce native a été chargée.
Swift
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
// Set the delegate to receive notifications for interactions with the native ad.
nativeAd.delegate = self
// TODO: Display the native ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
// Set the delegate to receive notifications for interactions with the native ad.
nativeAd.delegate = self;
// TODO: Display the native ad.
}
Demander des annonces
Une fois votre GADAdLoader initialisé, appelez sa méthode loadRequest: pour demander une annonce :
Swift
adLoader.load(Request())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
La
méthode dans
accepte les mêmes
objets que les bannières et les interstitiels.loadRequest:GADAdLoaderGADRequest Vous pouvez utiliser des objets de requête pour ajouter
des informations de ciblage, comme vous le
feriez avec d'autres types d'annonces.
Charger plusieurs annonces (facultatif)
Pour charger plusieurs annonces dans une seule requête, définissez l'
GADMultipleAdsAdLoaderOptions
lors de l'initialisation d'un GADAdLoader.
Swift
Objective-C
Le nombre d'annonces par requête est limité à cinq, et il n'est pas garanti que le SDK renvoie le nombre exact d'annonces demandées.
Les annonces Google renvoyées seront toutes différentes les unes des autres, mais il n'est pas garanti que les annonces provenant d'un inventaire réservé ou d'acheteurs tiers soient uniques.
N'utilisez pas la classe GADMultipleAdsAdLoaderOptions si vous utilisez la médiation, car les requêtes pour plusieurs annonces natives ne fonctionnent pas pour les ID de blocs d'annonces qui ont été configurés pour la médiation.
Déterminer quand le chargement est terminé
Une fois qu'une application appelle loadRequest:, elle peut obtenir les résultats de la requête à l'aide d'appels à :
adLoader:didFailToReceiveAdWithError:dansGADAdLoaderDelegateadLoader:didReceiveNativeAd:dansGADNativeAdLoaderDelegate
Une requête pour une seule annonce entraînera un appel à l'une de ces méthodes.
Une requête pour plusieurs annonces entraînera au moins un rappel aux méthodes ci-dessus, mais pas plus que le nombre maximal d'annonces demandées.
En outre, GADAdLoaderDelegate propose le rappel adLoaderDidFinishLoading. Cette méthode de délégué indique qu'un chargeur d'annonces a terminé de charger des annonces et qu'aucune autre annonce ni erreur ne sera signalée pour la requête. Voici un exemple d'utilisation lors du chargement de plusieurs annonces natives en même temps :
Swift
func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
// The adLoader has finished loading ads.
}
Objective-C
- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
// The adLoader has finished loading ads.
}
Gérer les requêtes ayant échoué
Les protocoles étendent le protocole GADAdLoaderDelegate, qui définit un message envoyé lorsque le chargement des annonces échoue.
Swift
func adLoader(_ adLoader: AdLoader, didFailToReceiveAdWithError error: any Error) {
// The adLoader failed to receive an ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error {
// The adLoader failed to receive an ad.
}
Recevoir des notifications d'événements d'annonces natives
Pour être informé des événements liés aux interactions avec les annonces natives, définissez la propriété de délégué de l'annonce native :
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Implémentez ensuite
GADNativeAdDelegate
pour recevoir les appels de délégué suivants :
Swift
func nativeAdDidRecordImpression(_ nativeAd: NativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
Objective-C
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
// The native ad was shown.
}
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
// The native ad was clicked on.
}
- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
// The native ad will present a full screen view.
}
- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
// The native ad will dismiss a full screen view.
}
- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
// The native ad did dismiss a full screen view.
}
- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
// The native ad will cause the app to become inactive and
// open a new app.
}
Bonnes pratiques
Suivez ces règles lors du chargement des annonces.
Les applications qui utilisent des annonces natives dans une liste doivent mettre en cache la liste des annonces.
Lorsque vous mettez en cache des annonces, videz votre cache et rechargez-le au bout d'une heure.
N'appelez plus
loadRequest:sur unGADAdLoadertant que le chargement de la requête précédente n'est pas terminé, comme indiqué paradLoaderDidFinishLoading:.Limitez la mise en cache des annonces natives à ce qui est nécessaire. Par exemple, lors de la mise en cache, ne mettez en cache que les annonces immédiatement visibles à l'écran. Les annonces natives occupent une grande quantité de mémoire. La mise en cache des annonces natives sans les détruire entraîne une utilisation excessive de la mémoire.
Détruisez les annonces natives lorsqu'elles ne sont plus utilisées.
Diffuser votre annonce
Une fois que vous avez chargé une annonce, il ne vous reste plus qu'à la diffuser auprès de vos utilisateurs. Consultez notre guide sur le format natif avancé pour découvrir comment procéder.