Mediacja


Zapośredniczenie AdMob to funkcja, która umożliwia wyświetlanie w aplikacjach wiele źródeł, w tym sieć AdMob, zewnętrzne sieci reklamowe, Kampanie AdMob. Zapośredniczenie AdMob pomaga zmaksymalizować współczynnik wypełnienia i zwiększyć przychody dzięki wysyłaniu reklamy do wielu sieci, aby znaleźć najlepszą dostępną 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? Zapoznaj się z omówieniem AdMob zapośredniczenie.

Zainicjowanie pakietu SDK do reklam mobilnych

Z naszego krótkiego przewodnika dowiesz się, jak zainicjować reklamy mobilne SDK. Podczas tego wywołania inicjacyjnego adapter zapośredniczenia też otrzymują zainicjowano. Należy poczekać na zakończenie inicjalizacji, zanim ładowania reklam tak, aby zapewnić pełny udział wszystkich reklam ze wszystkich sieci pierwszego żądania reklamy.

Przykładowy kod poniżej pokazuje, jak sprawdzić inicjalizację 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 obiektmi typu Future znajdziesz w artykule Korzystanie z obiektów typu Future do monitorowania stanu wykonania wywołań metod.

Sprawdź wartość kolumny 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 zwrócone z: 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 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++ opakowuje implementacje pakietów SDK na Androida i iOS pośrednictwa. W związku z tym dalsza konfiguracja, w tym instalacja są odpowiednie 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 .