Mediation


AdMob Mediation ist eine Funktion, mit der Sie Anzeigen aus mehreren Quellen, darunter das AdMob-Werbenetzwerk, Drittanbieter-Werbenetzwerke und AdMob-Kampagnen, in Ihren Apps ausliefern können. Mit der AdMob-Vermittlung lassen sich Ausführungsrate und Monetarisierung optimieren, da Anzeigenanfragen an mehrere Werbenetzwerke gesendet werden. So kann das Werbenetzwerk ermittelt werden, das sich am besten für die Bereitstellung der Anzeigen eignet. Fallstudie.

Vorbereitung

Bevor Sie die Vermittlung für ein Anzeigenformat einbinden können, müssen Sie dieses Anzeigenformat in Ihre App einbinden:

Sie sind neu bei der Vermittlung? Weitere Informationen zu AdMob Mediation.

Mobile Ads SDK initialisieren

In der Kurzanleitung wird beschrieben, wie Sie das Mobile Ads SDK initialisieren. Bei diesem Initialisierungsaufruf werden auch Vermittlungsadapter initialisiert. Warten Sie, bis die Initialisierung abgeschlossen ist, bevor Sie Anzeigen laden. So können Sie sicherstellen, dass alle Werbenetzwerke an der ersten Anzeigenanfrage teilnehmen.

Im folgenden Beispielcode wird gezeigt, wie Sie den Initialisierungsstatus der einzelnen Adapter prüfen können, bevor Sie eine Anzeigenanfrage senden.

// 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.
}

Weitere Informationen zur Verwendung von Futures finden Sie unter Futures verwenden, um den Abschlussstatus von Methoden aufrufen zu beobachten.

Wert von adNetworkClassName prüfen

Jedes Anzeigenergebnis enthält Informationen zum Klassennamen des Werbenetzwerks, das die aktuelle Anzeige abgerufen hat.

Hier ist ein Beispielcode, mit dem der Klassenname des Werbenetzwerks aus einem AdResult protokolliert wird, das von einer AdView zurückgegeben wird. Ähnlicher Code kann für Interstitial- und Prämienanzeigen verwendet werden:

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.
}

Deaktivieren Sie die Aktualisierung in der Benutzeroberfläche aller Drittanbieter-Werbenetzwerke für Banneranzeigenblöcke, die in der AdMob-Vermittlung verwendet werden. So wird eine doppelte Aktualisierung verhindert, da AdMob auch eine Aktualisierung basierend auf der Aktualisierungsrate des Banneranzeigenblocks auslöst.

Nächste Schritte

Das Google Mobile Ads C++ SDK umfasst die Android- und iOS SDK-Implementierungen für die Vermittlung. Weitere Konfigurationen, einschließlich der Installation von Vermittlungsadaptern, sind daher spezifisch für die Android- und iOS-Plattformen. Weitere Informationen finden Sie in den Leitfäden Google Mobile Ads Android SDK: Netzwerke auswählen und Google Mobile Ads iOS SDK: Netzwerke auswählen.