La médiation AdMob est une fonctionnalité qui vous permet de diffuser des annonces dans vos applications à partir de plusieurs sources, y compris le réseau AdMob, des réseaux publicitaires tiers et des campagnes AdMob. La médiation AdMob vous aide à maximiser votre taux de remplissage et à augmenter votre monétisation en envoyant des demandes d'annonces à plusieurs réseaux afin d'identifier celui qui convient le mieux à la diffusion d'annonces. Étude de cas
Prérequis
Avant de pouvoir intégrer la médiation pour un format d'annonce, vous devez intégrer ce format d'annonce dans votre application:
Vous découvrez la médiation ? Consultez la section Présentation de la médiation AdMob.
Initialiser le SDK Mobile Ads
Le guide de démarrage rapide vous explique comment initialiser le SDK Mobile Ads. Lors de cet appel d'initialisation, les adaptateurs de médiation sont également initialisés. Il est important d'attendre la fin de l'initialisation avant de charger des annonces afin de garantir la participation complète de chaque réseau publicitaire lors de la première demande d'annonce.
L'exemple de code ci-dessous montre comment vérifier l'état d'initialisation de chaque adaptateur avant d'envoyer une requête d'annonce.
// Initialize the Google Mobile Ads library
firebase::gma::Initialize(*app);
// In a game loop, monitor the initialization status
auto initialize_future = firebase::gma::InitializeLastResult();
if (initialize_future.status() == firebase::kFutureStatusComplete &&
initialize_future.error() == firebase::gma::kAdErrorCodeNone) {
// Initialization completed successfully, log the adapter status:
std::map<std::string, firebase::gma::AdapterStatus> adapter_status_map =
firebase::gma::GetInitializationStatus().GetAdapterStatusMap();
for (auto it = adapter_status_map.begin(); it != adapter_status_map.end(); ++it) {
std::string adapter_class_name = it->first;
firebase::gma::AdapterStatus adapter_status = it->second;
printf(“adapter: %s \t description: %s \t is_initialized: %d latency: %d\n”,
adapter_class_name.c_str(),
adapter_status.description().c_str(),
adapter_status.is_initialized(),
adpater_status.latency());
}
} else {
// Handle initialization error.
}
Pour en savoir plus sur l'utilisation des futures, consultez la section Utiliser des futures pour surveiller l'état d'achèvement des appels de méthode.
Vérifiez la valeur de adNetworkClassName
.
Chaque résultat d'annonce contient des informations sur le nom de la classe du réseau publicitaire qui a extrait l'annonce actuelle.
Voici un exemple de code qui consigne le nom de la classe du réseau publicitaire à partir d'un AdResult
renvoyé par un AdView
. Vous pouvez utiliser un code similaire pour les annonces interstitielles et les annonces avec récompense:
firebase::Future<AdResult> load_ad_future = banner_view.loadAd(ad_request);
// In a game loop, monitor the ad load status
if (load_ad_future.status() == firebase::kFutureStatusComplete &&
load_ad_future.error() == firebase::gma::kAdErrorCodeNone) {
const AdResult* ad_result = load_ad_future.result();
printf(“Loaded ad with adapter class name: %s\n”,
ad_result->adapter_class_name().c_str());
} else {
// Handle the load ad error.
}
Médiation des bannières publicitaires
Veillez à désactiver l'actualisation dans l'interface utilisateur de tous les réseaux publicitaires tiers pour les blocs d'annonces en bannière utilisés dans la médiation AdMob. Cela évite une double actualisation, car AdMob déclenche également une actualisation en fonction de la fréquence d'actualisation de votre bloc d'annonces au format "Bannière".
Étapes suivantes
Le SDK Google Mobile Ads C++ encapsule les implémentations de SDK Android et iOS pour la médiation. Par conséquent, toute configuration supplémentaire, y compris l'installation d'adaptateurs de médiation, est spécifique aux plates-formes Android et iOS. Pour en savoir plus, consultez le guide de sélection des réseaux du SDK Google Mobile Ads pour Android et le guide de sélection des réseaux du SDK Google Mobile Ads pour iOS.