Médiation

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, les réseaux publicitaires tiers et les 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 de vous assurer de trouver le meilleur réseau disponible pour diffuser des 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 dans votre application:

Vous découvrez la médiation ? Consultez la page 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. Au cours de cet appel d'initialisation, les adaptateurs de médiation et d'enchères sont également initialisés. Il est important d'attendre la fin de l'initialisation avant de charger les annonces afin de garantir la participation complète de chaque réseau publicitaire à 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 demande 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 objets Future, consultez Utiliser des objets Future pour surveiller l'état d'avancement des appels de méthode.

Vérifier la valeur de adNetworkClassName

Chaque résultat d'annonce contient des informations sur le nom de classe du réseau publicitaire qui a extrait l'annonce actuelle.

Voici un exemple de code qui enregistre le nom de classe de réseau publicitaire à partir d'un AdResult renvoyé par un AdView. Vous pouvez utiliser un code similaire pour les annonces interstitielles et 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.
}

Veillez à désactiver l'actualisation dans l'interface utilisateur de tous les réseaux publicitaires tiers pour les blocs de bannières utilisés dans la médiation AdMob. Vous éviterez ainsi une double actualisation, car AdMob déclenche aussi une actualisation basée sur la fréquence d'actualisation de votre bloc d'annonces au format bannière.

Étapes suivantes

Le SDK C++ Google Mobile Ads encapsule les implémentations des SDK Android et iOS à des fins de médiation. Par conséquent, une 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 Choisir des réseaux du SDK Google Mobile Ads pour Android et le guide "Choisir des réseaux" du SDK Google Mobile Ads pour iOS.