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 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 zapośredniczenie w przypadku danego formatu reklamy, musisz zintegrować ten format w aplikacji:

Dopiero zaczynasz korzystać z zapośredniczenia? Przeczytaj Omówienie zapośredniczenia AdMob.

Inicjowanie pakietu SDK do wyświetlania reklam mobilnych

Z krótkiego przewodnika dowiesz się, jak zainicjować pakiet SDK do wyświetlania reklam mobilnych. Podczas tego wywołania inicjowane są też adaptery zapośredniczenia. Zanim wczytasz reklamy, poczekaj na zakończenie inicjowania, aby mieć pewność, że wszystkie sieci reklamowe będą mogły w pełni uczestniczyć w pierwszym żądaniu reklamy.

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 Futures znajdziesz w artykule Używanie obiektów Futures do monitorowania stanu ukończenia wywołań metod.

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 z obiektu AdView. Podobnego kodu można używać 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.
}

Pamiętaj, aby wyłączyć odświeżanie w interfejsie wszystkich zewnętrznych sieci reklamowych w przypadku jednostek reklamowych banerów 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 banera reklamowego.

Dalsze kroki

Pakiet SDK do reklam mobilnych Google w C++ zawiera implementacje pakietów SDK na Androida i iOS na potrzeby zapośredniczenia. Dlatego dalsza konfiguracja, w tym instalacja adapterów zapośredniczenia, jest specyficzna dla platform Android i iOS. Więcej informacji znajdziesz w przewodniku po wybieraniu sieci w pakiecie SDK do reklam mobilnych Google na Androida i przewodniku po wybieraniu sieci w pakiecie SDK do reklam mobilnych Google na iOS.