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 das Anzeigenformat in Ihre App einbinden:
Sie nutzen die Vermittlungsfunktion zum ersten Mal? AdMob-Mediation
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 mit dem Laden von Anzeigen warten, bis die Initialisierung abgeschlossen ist. So können Sie sicherstellen, dass jedes Werbenetzwerk an der ersten Anzeigenanfrage beteiligt ist.
Im folgenden Beispielcode sehen Sie, wie Sie den Initialisierungsstatus der einzelnen Adapter prüfen können, bevor Sie eine Anzeigenanfrage stellen.
// 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 zum Arbeiten mit Futures finden Sie unter Futures verwenden, um den Abschlussstatus von Methodenaufrufen zu überwachen.
Prüfen Sie den Wert von adNetworkClassName
.
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 einem AdView
zurückgegeben wird. Ähnlicher Code kann für Interstitial-Anzeigen 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.
}
Vermittlung von Banneranzeigen
Achten Sie darauf, dass die Aktualisierung in der Benutzeroberfläche aller Drittanbieter-Werbenetzwerke für Banneranzeigenblöcke deaktiviert ist, die in AdMob Mediation verwendet werden. Dadurch wird eine doppelte Aktualisierung verhindert, da AdMob auch eine Aktualisierung basierend auf der Aktualisierungsrate Ihres Banneranzeigenblocks auslöst.
Nächste Schritte
Das Google Mobile Ads C++ SDK umschließt die Android- und iOS-SDK-Implementierungen für die Vermittlung. Daher ist die weitere Konfiguration, einschließlich der Installation von Vermittlungsadaptern, spezifisch für die Android- und iOS-Plattformen. Weitere Informationen finden Sie im Google Mobile Ads Android SDK-Leitfaden zur Auswahl von Netzwerken und im Google Mobile Ads iOS SDK-Leitfaden zur Auswahl von Netzwerken.