Les annonces interstitielles s'affichent en plein écran et recouvrent l'interface d'une application jusqu'à fermé par l'utilisateur. Elles s'affichent généralement à des points de transition naturels le flux d'une application, par exemple entre des activités ou pendant une pause entre différents niveaux dans un jeu. Lorsqu'une application diffuse une annonce interstitielle, l'utilisateur a le choix soit appuyer sur l'annonce et accéder à sa destination, soit la fermer et revenir à l'application. Étude de cas :
Ce guide vous explique comment intégrer des annonces interstitielles dans des applications Android et iOS. à l'aide du SDK C++ Google Mobile Ads.
Prérequis
- Suivez la procédure Commencer.
- (Android uniquement) Vous devez savoir utiliser les références JNI
jobject
(consultez conseils JNI Android).
Toujours tester 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. À défaut, votre compte risque d'être suspendu.
Le moyen le plus simple de charger des annonces tests consiste à utiliser notre ID de bloc d'annonces test dédié interstitiels, qui varient selon la plate-forme:
- Android :
ca-app-pub-3940256099942544/1033173712
- iOS :
ca-app-pub-3940256099942544/4411468910
Ils ont été spécialement configurés pour renvoyer des annonces de test pour chaque requête. Vous pouvez les utiliser dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à le remplacer par l'ID de votre propre bloc d'annonces avant de publier votre l'application.
Pour en savoir plus sur le fonctionnement des annonces tests du SDK Mobile Ads, consultez Tester les annonces
Implémentation
Voici les principales étapes à suivre pour intégrer des annonces interstitielles:
- Chargez une annonce.
- Demandez à recevoir des rappels.
- afficher l'annonce et gérer les événements de son cycle de vie ;
Configurer un InterstitialAd
Les annonces interstitielles sont affichées dans des objets InterstitialAd
. La première étape
pour intégrer des annonces interstitielles dans votre application.
InterstitialAd
.
Ajoutez l'en-tête suivant au code C++ de votre application:
#include "firebase/gma/interstial_ad.h"
Déclarez et instanciez un objet
InterstitialAd
:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Initialisez l'instance
InterstitialAd
à l'aide de la conversion de votre vue parente sur un TypeAdParent
. La vue parent est une référencejobject
JNI à un objet AndroidActivity
ou un pointeur vers unUIView
iOS.// my_ad_parent is a jobject reference to an Android Activity or // a pointer to an iOS UIView. firebase::gma::AdParent ad_parent = static_cast<firebase::gma::AdParent>(my_ad_parent); firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
Au lieu de conserver le futur comme variable, vous pouvez périodiquement vérifiez l'état de l'opération d'initialisation en appelant
InitializeLastResult()
sur l'objetInterstitialAd
. Cela peut être utile pour suivre le processus d'initialisation dans votre boucle globale de jeu.// Monitor the status of the future in your game loop: firebase::Future<void> result = interstitial_ad->InitializeLastResult(); if (result.status() == firebase::kFutureStatusComplete) { // Initialization completed. if(future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization successful. } else { // An error has occurred. } } else { // Initialization on-going. }
Pour en savoir plus sur l'utilisation de firebase::Future
, consultez la section Utiliser des futures pour surveiller l'état d'achèvement des appels de méthode.
Charger une annonce
Pour charger une annonce, vous devez utiliser la méthode LoadAd()
au niveau de la
InterstitialAd
. La méthode de chargement nécessite que vous ayez initialisé
InterstitialAd
, et que vous disposez de votre ID de bloc d'annonces et d'un élément AdRequest
. Un firebase::Future
est renvoyé. Vous pouvez l'utiliser pour surveiller l'état.
et le résultat du chargement.
Le code suivant montre comment charger une annonce une fois que l'InterstitialAd
a été
correctement initialisé:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);
S'inscrire pour recevoir des rappels
Vous devez étendre la classe FullScreenContentListener
afin de recevoir
des notifications en cas de présentation
des annonces interstitielles et d'événements de cycle de vie. Votre
La sous-classe FullScreenContentListener
peut être enregistrée via la
InterstitialAd::SetFullScreenContentListener()
. Il recevra
des rappels lorsque la présentation de l'annonce a réussi ou échoué, ainsi que lorsque
il est ignoré.
Le code suivant montre comment étendre la classe et l'attribuer à l'annonce:
class ExampleFullScreenContentListener : public firebase::gma::FullScreenContentListener { public: ExampleFullScreenContentListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdDismissedFullScreenContent() override { // This method is invoked when the ad dismisses full screen content. } void OnAdFailedToShowFullScreenContent(const AdError& error) override { // This method is invoked when the ad failed to show full screen content. // Details about the error are contained within the AdError parameter. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdShowedFullScreenContent() override { // This method is invoked when the ad showed its full screen content. } }; ExampleFullScreenContentListener* full_screen_content_listener = new ExampleFullScreenContentListener(); interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);
InterstitialAd
est un objet à usage unique. Cela signifie qu'une fois qu'un interstitiel
l'annonce ne peut pas être diffusée de nouveau. Il est recommandé de charger une autre annonce interstitielle dans la méthode OnAdDismissedFullScreenContent()
de votre FullScreenContentListener
afin que la prochaine annonce interstitielle commence à se charger dès que la précédente est fermée.
Afficher l'annonce
Les interstitiels doivent être affichés lors des pauses naturelles dans le flux d'une application.
Un bon exemple entre deux niveaux d'un jeu ou une fois que l'utilisateur a terminé une tâche.
Bien que le FullScreenContentListener
puisse être utilisé pour déterminer quand une annonce a
affiché son contenu en plein écran, l'élément Future renvoyé par Show()
indiquera également
lorsque l'annonce a bien été diffusée.
firebase::Future<void> result = interstitial_ad->Show();
Bonnes pratiques
- Déterminez si les annonces interstitielles sont adaptées à votre application.
- Les annonces interstitielles sont plus efficaces dans les applications avec des points de transition naturels. La conclusion d'une tâche dans une application, comme partager une image ou terminer un jeu crée un tel point. Comme l'utilisateur s'attend à une pause dans le l'utilisateur peut facilement diffuser une annonce interstitielle expérience. Veillez à déterminer à quels moments du flux de travail de votre application vous allez les annonces display interstitielles et la façon dont l'utilisateur est susceptible d'y répondre.
- N'oubliez pas de mettre en veille l'action lorsque vous diffusez une annonce interstitielle.
- Il existe plusieurs types d'annonces interstitielles: textuelles, illustrées,
des vidéos, etc. Il est important de vous assurer que lorsque votre application affiche un
l'utilisation de certaines ressources pour permettre à l'annonce
pour en tirer parti. Par exemple, lorsque vous effectuez l'appel pour afficher une annonce interstitielle, veillez à mettre en pause toute sortie audio produite par votre application. Vous pouvez reprendre la lecture des sons dans la méthode
OnAdDismissedFullScreenContent
de votreFullScreenContentListener
installé, qui sera appelée lorsque l'utilisateur aura terminé d'interagir avec l'annonce. En outre, envisagez de suspendre temporairement toutes les tâches de calcul intenses (telles qu'une boucle de jeu) pendant l'affichage de l'annonce. Ainsi, l'utilisateur ne subira pas de ralentissements les graphismes qui ne répondent pas ou les vidéos sont saccadées ; - Prévoyez un temps de chargement adéquat.
- Tout comme il est important de vous assurer que vous diffusez des annonces interstitielles le bon moment, il est également important de s'assurer que l'utilisateur n'a pas à attendre à charger. Pour vous assurer que le chargement de l'annonce avant sa diffusion est prévu, que votre application dispose d'une annonce interstitielle entièrement chargée, prête au moment pour en afficher un.
- Ne submergez pas l'utilisateur avec des annonces.
- Même si augmenter la fréquence des annonces interstitielles dans votre application peut sembler est un excellent moyen d'augmenter vos revenus, mais il peut aussi nuire à l'expérience utilisateur et de réduire les taux de clics. Assurez-vous que les utilisateurs interrompu et il ne pourra plus profiter de votre application.
- Pour afficher l'interstitiel, n'utilisez pas le terme "achèvement du chargement" à l'avenir.
- Cela peut nuire à l'expérience utilisateur. Préchargez plutôt l'annonce avant vous devez la montrer.
Ressources supplémentaires
Exemple dans GitHub
- Afficher le code source de notre exemple application de démarrage rapide dans GitHub.
Tutoriels vidéo Mobile Ads Garage
Témoignages
Étapes suivantes
- Si ce n'est pas déjà fait, créez votre propre bloc d'annonces interstitielles dans l'UI AdMob.
- En savoir plus sur le ciblage des annonces et consignes relatives aux annonces interstitielles.