Ce guide de démarrage rapide est destiné aux éditeurs et aux développeurs qui souhaitent utiliser AdMob pour monétiser une application créée avec Firebase. Si vous ne prévoyez pas d'inclure Firebase dans votre application, consultez plutôt le guide autonome sur AdMob.
Si ce n'est pas déjà fait, découvrez tous les avantages de l'utilisation combinée de AdMob, de Firebase et de Google Analytics.
Si vous consultez ce guide pour la première fois, nous vous recommandons de télécharger et d'utiliser l'application de test du SDK Google Mobile Ads C++.
Avant de commencer
Si vous ne disposez pas encore d'un projet Firebase ni d'une application Firebase, suivez le guide de démarrage de Firebase : Ajouter Firebase à votre projet C++.
Assurez-vous que Google Analytics est activé dans votre projet Firebase :
Si vous créez un projet Firebase, activez Google Analytics au cours du workflow de création du projet.
Si vous disposez d'un projet Firebase existant pour lequel Google Analytics n'est pas activé, vous pouvez activer Google Analytics dans l'onglet Intégrations de
. > Paramètres du projet
Étape 1 : Configurez votre application dans votre compte AdMob
Enregistrez chaque variante de plate-forme de votre application en tant qu'application AdMob.
Connectez-vous ou inscrivez-vous à un compte AdMob.
Enregistrez chaque variante de plate-forme de votre application auprès de AdMob. Cette étape crée une application AdMob avec un ID d'application AdMob unique dont vous aurez besoin plus tard dans ce guide.
Vous serez invité à ajouter le SDK Mobile Ads à votre application. Vous trouverez des instructions détaillées concernant cette tâche plus loin dans ce guide.
Associez chacune de vos applications AdMob à l'application Firebase correspondante.
Cette étape est facultative, mais vivement recommandée. Découvrez les avantages de l'activation des métriques utilisateur et de l'association de vos applications AdMob à Firebase.
Pour chaque variante de plate-forme, procédez comme suit dans le tableau de bord Applications de votre compte AdMob :
Activez les métriques utilisateur pour permettre à AdMob de traiter et d'afficher des données analytiques sélectionnées dans votre compte AdMob. Il s'agit également d'un paramètre obligatoire pour associer votre application AdMob à Firebase.
Associez votre application AdMob à votre projet Firebase existant et à l'application Firebase correspondante.
Assurez-vous de saisir le même nom de package (Android) ou ID de bundle (iOS) que celui que vous avez saisi pour votre application Firebase. Vous trouverez le nom de package ou l'ID de bundle de votre application Firebase dans la fiche Vos applications de
Paramètres du projet . >
Étape 2 : Ajoutez votre ID d'application AdMob à votre application
Android
Ajoutez votre ID d'application AdMob au fichier AndroidManifest.xml
de votre application en ajoutant la balise <meta-data>
, comme indiqué ci-dessous.
<manifest> <application> <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ADMOB_APP_ID"/> </application> </manifest>
iOS
Dans le fichier Info.plist
de votre application, ajoutez une clé GADApplicationIdentifier
avec une valeur de chaîne correspondant à votre ID d'application AdMob.
Vous pouvez effectuer cette modification par programmation:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
Vous pouvez également le modifier dans l'éditeur de la liste des établissements :
Étape 3:Ajoutez le SDK Google Mobile Ads
Étant donné que le SDK C++ Google Mobile Ads se trouve dans l'espace de noms firebase::gma
, téléchargez le SDK Firebase C++, puis décompressez-le dans le répertoire de votre choix.
Le SDK Firebase C++ n'est pas spécifique à la plate-forme, mais il nécessite des configurations de bibliothèque spécifiques à la plate-forme.
Android
Dans le fichier
gradle.properties
de votre projet, spécifiez l'emplacement du SDK décompressé :systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Ajoutez le contenu suivant au fichier
settings.gradle
de votre projet :def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
Dans le fichier Gradle de votre module (généralement
app/build.gradle
), ajoutez le contenu suivant, qui inclut la dépendance de bibliothèque pour le SDK Google Mobile Ads C++.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependency for the Google Mobile Ads C++ SDK apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { gma }
Ajoutez le contenu suivant au fichier
CMakeLists.txt
de votre projet.# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # Add the Google Mobile Ads C++ SDK. # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. set(firebase_libs firebase_gma firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
Synchronisez votre application pour vous assurer que toutes les dépendances disposent des versions nécessaires.
C’est terminé ! Votre application C++ est configurée pour utiliser le SDK Google Mobile Ads C++.
iOS
Les étapes de cette section sont un exemple d'ajout du SDK Google Mobile Ads C++ à votre projet iOS.
Obtenez la version 1 ou ultérieure de CocoaPods en exécutant :
sudo gem install cocoapods --pre
Ajoutez le pod Google Mobile Ads à partir du SDK décompressé.
Créez un Podfile si vous n'en avez pas déjà un:
cd YOUR_APP_DIRECTORY
pod init
Dans votre Podfile, ajoutez le pod pour le SDK Google Mobile Ads C++ :
pod 'Google-Mobile-Ads-SDK'
Installez le pod, puis ouvrez le fichier
.xcworkspace
dans Xcode.pod install
open YOUR_APP.xcworkspace
Ajoutez les frameworks suivants à partir du SDK Firebase C++ au projet:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
C’est terminé ! Votre application C++ est configurée pour utiliser le SDK Google Mobile Ads C++.
Étape 4:Initialiser le SDK Google Mobile Ads
Avant de charger les annonces, initialisez le SDK Mobile Ads en appelant firebase::gma::Initialize()
.
Cet appel renvoie un firebase::Future
qui se termine une fois l'initialisation terminée (ou après un délai d'inactivité de 30 secondes). N'appelez cette méthode qu'une seule fois et le plus tôt possible, idéalement au démarrage de l'application.
Voici un exemple d'appel de Initialize()
:
Android
// Initialize the Google Mobile Ads library firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(jni_env, j_activity, &result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
iOS
// Initialize the Google Mobile Ads library. firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(&result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
Utiliser un Future
pour surveiller l'état d'achèvement d'un appel de méthode
Un Future
vous permet de déterminer l'état d'avancement de vos appels de méthode asynchrone.
Par exemple, lorsque votre application appelle firebase::gma::Initialize()
, un nouvel objet firebase::Future
est créé et renvoyé. Votre application peut ensuite interroger le status()
du Future
pour déterminer quand l'initialisation est terminée.
Une fois cette étape terminée, votre application peut appeler result()
pour obtenir le AdapterInitializationStatus
généré.
Les méthodes qui renvoient un Future
disposent d'une méthode "dernier résultat" correspondante que les applications peuvent utiliser pour récupérer le Future
le plus récent pour une action donnée. Par exemple, firebase::gma::Initialize()
dispose d'une méthode correspondante appelée firebase::gma::InitializeLastResult()
, qui renvoie un Future
que votre application peut utiliser pour vérifier l'état du dernier appel à firebase::gma::Initialize()
.
Si l'état de Future
est terminé et que son code d'erreur est firebase::gma::kAdErrorCodeNone
, cela signifie que l'opération s'est terminée correctement.
Vous pouvez également enregistrer des rappels à appeler lorsqu'une Future
est terminée. Dans certains cas, le rappel s'exécute dans un thread différent. Assurez-vous donc que votre code est thread-safe. Cet extrait de code utilise un pointeur de fonction pour le rappel :
// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
/*user_data=*/nullptr);
// The OnCompletion callback function.
static void OnCompletionCallback(
const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
// Called when the Future is completed for the last call to firebase::gma::Initialize().
// If the error code is firebase::gma::kAdErrorCodeNone,
// then the SDK has been successfully initialized.
if (future.error() == firebase::gma::kAdErrorCodeNone) {
// success!
} else {
// failure.
}
}
Étape 5 : Choisissez un format d'annonce à implémenter dans votre application
AdMob propose plusieurs formats d'annonces différents. Vous pouvez donc choisir celui qui convient le mieux à l'expérience utilisateur de votre application. Cliquez sur un bouton pour un format d'annonce afin d'afficher des instructions d'implémentation détaillées dans la documentation AdMob.
Bannière
Annonces rectangulaires diffusées en haut ou en bas de l'écran de l'appareil
Les bannières restent à l'écran lorsque les utilisateurs interagissent avec l'application et peuvent s'actualiser automatiquement au bout d'un certain temps. Si vous débutez dans la publicité mobile, elles constituent un excellent point de départ.
Implémenter des bannièresInterstitiel
Annonces en plein écran qui recouvrent l'interface d'une application jusqu'à ce que l'utilisateur les ferme
Les annonces interstitielles sont particulièrement utiles lors des pauses naturelles dans le flux d'exécution d'une application, par exemple entre les niveaux d'un jeu ou juste après la fin d'une tâche.
Implémenter des annonces interstitiellesAvec récompense
Annonces récompensant les utilisateurs qui regardent des vidéos courtes et qui interagissent avec des annonces jouables et des enquêtes
Les annonces avec récompense (ou "basées sur une récompense") peuvent vous aider à monétiser les jeux sans frais.
Implémenter des annonces avec récompense
Autres centres d'intérêt
Afficher les métriques utilisateur et les données analytiques
Après son initialisation, le SDK Mobile Ads commence automatiquement à consigner les événements d'analyse et les propriétés utilisateur à partir de votre application. Vous pouvez afficher ces données sans ajouter de code supplémentaire à votre application ni implémenter d'annonces. Voici où vous pouvez consulter ces données d'analyse:
Dans la fiche Métriques utilisateur de votre compte AdMob (tableau de bord Accueil ou Applications), vous pouvez afficher des métriques utilisateur sélectionnées provenant des données d'analyse collectées, telles que la durée moyenne des sessions, l'ARPU et la fidélisation.
Dans le tableau de bord Analytics de la console Firebase, vous pouvez afficher des statistiques agrégées et des résumés des métriques clés. Si vous ajoutez le SDK Firebase pour Google Analytics, vous pouvez également marquer des conversions pour les campagnes publicitaires et créer des audiences personnalisées dans la console Firebase.
Notez que pour mieux représenter les métriques ARPU et ARPPU, vous pouvez inclure les données d'un événement personnalisé d'analyse appelé ecommerce_purchase
dans le calcul des revenus pour ces métriques (découvrez comment).
(Facultatif) Utiliser d'autres fonctionnalités de Google Analytics et Firebase
Profitez de plus d'opportunités et de fonctionnalités pour améliorer la monétisation des applications et l'engagement utilisateur :
Ajouter et utiliser le SDK Firebase pour Google Analytics
Implémentez l'enregistrement d'événements personnalisés dans votre application.
Marquez des conversions pour les campagnes publicitaires personnalisées.
Incluez les données d'événement
ecommerce_purchase
dans le calcul des revenus pour les métriques ARPU et ARPPU.
Pour en savoir plus, consultez le guide sur l'utilisation de Google Analytics et de Firebase avec des applications AdMob.
Utiliser d'autres produits Firebase dans votre application
Après avoir ajouté le SDK Firebase pour Google Analytics, utilisez d'autres produits Firebase pour optimiser les annonces dans votre application.
Remote Config vous permet de modifier le comportement et l'apparence de votre application sans publier de mise à jour, sans frais, pour un nombre illimité d'utilisateurs actifs par jour.
A/B Testing vous permet de tester les modifications apportées à l'UI, aux fonctionnalités ou aux campagnes axées sur l'engagement de votre application pour savoir si elles ont un impact sur vos métriques clés (comme les revenus et la rétention) avant de les déployer à grande échelle.