Les annonces natives sont des éléments d'annonces qui sont présentés aux utilisateurs via des composants d'interface utilisateur natifs sur la plate-forme. Elles s'affichent à l'aide des classes que vous utilisez déjà dans vos storyboards et peuvent être mises en forme pour correspondre à la conception visuelle de votre application.
Lors du chargement d'une annonce native, votre application reçoit un objet d'annonce contenant ses éléments, et l'application (plutôt que le SDK Google Mobile Ads) se charge de les afficher.
De manière générale, la mise en œuvre d'annonces natives s'effectue en deux étapes : charger une annonce à l'aide du SDK, puis afficher le contenu de l'annonce dans votre application.
Cette page explique comment utiliser le SDK pour charger annonces natives.
Conditions préalables
- Suivez le guide de démarrage.
Toujours tester avec des annonces tests
Lorsque vous créez et testez vos applications, veillez à utiliser des annonces tests plutôt que des annonces de production en ligne.
Le moyen le plus simple de charger des annonces tests consiste à utiliser notre ID de bloc d'annonces test dédié aux annonces natives sur iOS:
/6499/example/native
Il a été spécialement configuré pour renvoyer des annonces tests pour chaque requête. 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 le fonctionnement des annonces tests du SDK Google Mobile Ads, consultez Annonces tests.
Charger les annonces
Les annonces natives sont chargées avec la classe GADAdLoader
, qui envoie des messages à leurs délégués selon le protocole GADAdLoaderDelegate
.
Outre le format natif défini par le système, vous pouvez également créer vos propres formats d'annonces natives personnalisés pour les annonces natives vendues directement. Les formats personnalisés d'annonces natives vous permettent de transmettre des données structurées arbitraires à votre application. Ces annonces sont représentées par la classe GADCustomNativeAd
.
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
adLoader = GADAdLoader(adUnitID: "/6499/example/native",
rootViewController: self,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"/6499/example/native"
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;
Vous avez 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 d'annonces natives.
Le tableau adTypes
doit contenir une ou plusieurs des constantes suivantes
:
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 est chargée.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
Le protocole GADCustomNativeAdLoaderDelegate
inclut un message envoyé au délégué lorsqu'un modèle d'annonce personnalisé est chargé.
Swift
func adLoader(_ adLoader: GADAdLoader,
Receive customNativeAd: GADCustomNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;
Demander des annonces
Une fois votre GADAdLoader
initialisé, appelez sa méthode loadRequest:
pour demander une annonce:
Swift
adLoader.load(GAMRequest())
Objective-C
[self.adLoader loadRequest:[GAMRequest request]];
La méthode loadRequest:
dans GADAdLoader
accepte les mêmes objets GAMRequest
que les bannières et les interstitiels. Vous pouvez utiliser des objets de demande pour ajouter des informations de ciblage, comme vous le feriez avec d'autres types d'annonces.
Déterminer à quel moment le chargement est terminé
Une fois qu'une application a appelé loadRequest:
, elle peut obtenir les résultats de la requête à l'aide d'appels pour:
adLoader:didFailToReceiveAdWithError:
dansGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
dansGADNativeAdLoaderDelegate
Une demande pour une seule annonce entraînera un appel à l'une de ces méthodes.
Traiter les requêtes ayant échoué
Les protocoles ci-dessus étendent le protocole GADAdLoaderDelegate
, qui définit un message envoyé lorsque le chargement des annonces échoue.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
Recevoir une notification en cas d'événement lié aux annonces natives
Pour être informé des événements liés aux interactions avec l'annonce native, définissez la propriété déléguée de l'annonce native:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Implémentez ensuite GADNativeAdDelegate
pour recevoir les appels délégués suivants:
Swift
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
// 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 effectuer une mise en cache préalable de la liste d'annonces.
Lorsque vous mettez en cache des annonces, effacez votre cache et actualisez la page au bout d'une heure.
N'appelez pas à nouveau
loadRequest:
sur unGADAdLoader
tant que le chargement de la requête précédente n'est pas terminé, comme indiqué paradLoaderDidFinishLoading:
.
Afficher votre annonce
Une fois l'annonce chargée, il ne vous reste plus qu'à la présenter à vos utilisateurs. Pour savoir comment procéder, consultez notre guide sur le format natif avancé.