Mediation


Mit AdMob Mediation können Sie in Ihren Apps Anzeigen aus verschiedenen Quellen bereitstellen, zum Beispiel Anzeigen aus dem AdMob-Werbenetzwerk, aus Werbenetzwerken von Drittanbietern und aus AdMob-Kampagnen. 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? Übersicht über AdMob lesen Vermittlung.

Mobile Ads SDK initialisieren

In der Kurzanleitung erfahren Sie, wie Sie das Mobile Ads SDK initialisieren. Bei diesem Initialisierungsaufruf werden auch Vermittlungsadapter initialisiert. Es ist wichtig, dass Sie warten, bis die Initialisierung abgeschlossen ist, bevor Sie Anzeigen laden. So wird sichergestellt, dass alle Werbenetzwerke an der ersten Anzeigenanfrage teilnehmen.

Im folgenden Beispielcode wird gezeigt, wie Sie den Initialisierungsstatus jedes Adapters 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 Arbeit mit Futures finden Sie unter Futures verwenden, um den Abschlussstatus der Methode zu überwachen Anrufe

Prüfen Sie den Wert von adNetworkClassName.

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

Hier ist ein Beispielcode, der den Namen der Werbenetzwerkklasse aus einer AdResult protokolliert, die von einer AdView zurückgegeben wird. Ähnlicher Code kann für Interstitial- und Anzeigen mit Prämie 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 Banneranzeigen die in AdMob Mediation verwendet werden. Dadurch wird eine doppelte Aktualisierung verhindert, löst außerdem eine Aktualisierung basierend auf der Aktualisierungsrate Ihres Banneranzeigenblocks aus.

Nächste Schritte

Das Google Mobile Ads C++ SDK umfasst die SDK-Implementierungen für Android und iOS Vermittlung. Daher ist die weitere Konfiguration, einschließlich der Installation von Vermittlungsadaptern, spezifisch für die Android- und iOS-Plattformen. Weitere Informationen finden Sie unter Google Mobile Ads Android SDK – Netzwerke auswählen und in der Google Ads-Hilfe Mobile Ads SDK für iOS: Netzwerke auswählen Leitfaden.