Zapośredniczenie AdMob to funkcja, która umożliwia wyświetlanie reklam we własnych aplikacjach z wielu źródeł, w tym z sieci AdMob, sieci reklamowych innych firm oraz z kampanii AdMob. Zapośredniczenie w AdMob pomaga maksymalizować współczynnik wypełnienia i zwiększać przychody, ponieważ wysyła żądania reklamy do różnych sieci, aby znaleźć najlepszą sieć do wyświetlania reklam. Studium przypadku.
Wymagania wstępne
Zanim zintegrujesz mediację z formatem reklamy, musisz zintegrować ten format reklamy z aplikacją:
Dopiero zaczynasz korzystać z zapośredniczenia? Przeczytaj Omówienie zapośredniczenia AdMob.
Inicjowanie pakietu SDK do reklam mobilnych
Z tego krótkiego przewodnika dowiesz się, jak zainicjować pakiet SDK do reklam mobilnych. Podczas tego wywołania inicjującego inicjowane są też adaptery mediacji. Aby zapewnić pełny udział wszystkich sieci reklamowych w pierwszym żądaniu reklamy, przed wczytaniem reklam poczekaj na zakończenie inicjowania.
Poniższy przykładowy kod pokazuje, jak sprawdzić stan inicjowania każdego adaptera przed wysłaniem żądania reklamy.
// 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.
}
Więcej informacji o pracy z obiektami Future znajdziesz w artykule Monitorowanie stanu zakończenia wywołań metod za pomocą obiektów Future.
Sprawdź wartość adNetworkClassName
Każdy wynik reklamy zawiera informacje o nazwie klasy sieci reklamowej, która pobrała bieżącą reklamę.
Oto przykładowy kod, który rejestruje nazwę klasy sieci reklamowej z obiektu AdResult
zwróconego przez obiekt AdView
. Podobny kod można stosować w przypadku reklam pełnoekranowych i reklam z nagrodą:
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.
}
Mediacja banerów reklamowych
Pamiętaj, aby wyłączyć odświeżanie w interfejsach wszystkich zewnętrznych sieci reklamowych w przypadku jednostek reklamowych z banerami używanych w zapośredniczeniu AdMob. Zapobiegnie to podwójnemu odświeżaniu, ponieważ AdMob również wywołuje odświeżanie na podstawie częstotliwości odświeżania jednostki z banerem reklamowym.
Dalsze kroki
Pakiet SDK do reklam mobilnych Google C++ obejmuje implementacje pakietów SDK na Androida i iOS na potrzeby mediacji. Dalsza konfiguracja, w tym instalacja adapterów do mediacji, jest więc specyficzna dla platform Android i iOS. Więcej informacji znajdziesz w przewodniku po wyborze sieci w pakiecie SDK do reklam mobilnych Google na Androida i przewodniku po wyborze sieci w pakiecie SDK do reklam mobilnych Google na iOS.