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
Aby zintegrować zapośredniczenie dla danego formatu reklamy, musisz to zrobić najpierw format reklamy do Twojej aplikacji:
Dopiero zaczynasz korzystać z zapośredniczenia? Przeczytaj omówienie zapośredniczenia AdMob.
Inicjowanie pakietu SDK do reklam mobilnych
Z naszego krótkiego przewodnika dowiesz się, jak zainicjować reklamy mobilne SDK. Podczas tego wywołania inicjalizacji są również inicjowane adaptery pośrednictwa. Zanim zaczniesz wczytywać reklamy, musisz poczekać na zakończenie inicjowania, aby mieć pewność, że każda sieć reklamowa będzie w pełni uczestniczyć w procesie po pierwszym żądaniu reklamy.
Przykładowy kod poniżej pokazuje, jak sprawdzić stan inicjowania poszczególnych adapterów 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 obiektmi typu Future znajdziesz w artykule Korzystanie z obiektów typu Future do monitorowania stanu wykonania wywołań metod.
Sprawdź wartość adNetworkClassName
.
Każdy wynik zawiera informacje o nazwie klasy sieci reklamowej, która pobierze aktualną reklamę.
Oto przykładowy kod, który rejestruje nazwę klasy sieci reklamowej z AdResult
zwracanego przez AdView
. Podobny kod można użyć 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.
}
Pośrednictwo w przypadku banerów reklamowych
Pamiętaj, aby wyłączyć odświeżanie w interfejsie wszystkich sieci reklamowych innych firm w przypadku banerów reklamowych jednostek używanych w zapośredniczeniu AdMob. Zapobiegnie to podwójnemu odświeżaniu od momentu, powoduje też odświeżenie na podstawie częstotliwości odświeżania Twojej jednostki z banerem reklamowym.
Dalsze kroki
Pakiet SDK do reklam mobilnych Google w języku C++ otacza implementacje pakietów SDK na Androida i iOS w celu pośredniczenia. Dlatego dalsza konfiguracja, w tym instalacja adapterów pośrednictwa, jest specyficzna dla platform Android i iOS. Więcej więcej informacji znajdziesz w artykule Pakiet SDK do reklam mobilnych Google na Androida – wybór sieci przewodniku oraz Google News Pakiet SDK do reklam mobilnych na iOS – wybór sieci .