Mediacja


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 danym formatem reklamy, musisz go zintegrować z aplikacją:

Zapoznałeś/-aś się już z zaposzredniczeniem? Przeczytaj omówienie zapośredniczenia AdMob.

Inicjowanie pakietu SDK do reklam mobilnych

Przewodnik szybkiego startu zawiera instrukcje inicjowania pakietu SDK do reklam mobilnych. 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 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 działaniu funkcji Futures znajdziesz w artykule Korzystanie z Futures do monitorowania stanu zakończenia wywołań metod.

Sprawdź wartość adNetworkClassName.

Każdy wynik reklamy zawiera informacje o nazwie klasy sieci reklamowej, która pozyskała bieżącą reklamę.

Oto przykładowy kod, który rejestruje nazwę klasy sieci reklamowej z AdResultzwracanego 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.
}

W przypadku jednostek reklamowych banerów używanych w ramach zapośredniczenia AdMob pamiętaj, aby wyłączyć odświeżanie w interfejsie wszystkich zewnętrznych sieci reklamowych. Zapobiegnie to podwójnemu odświeżaniu, ponieważ AdMob uruchamia też odświeżanie na podstawie częstotliwości odświeżania 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 pośredniczących adapterów, jest specyficzna dla platform Android i iOS. Więcej informacji znajdziesz w przewodniku Wybieranie sieci w pakiecie SDK do reklam mobilnych Google na Androida oraz w przewodniku Wybieranie sieci w pakiecie SDK do reklam mobilnych Google na iOS.