Mediacja

Zapośredniczenie AdMob to funkcja, która umożliwia wyświetlanie we własnych aplikacjach reklam z wielu źródeł, m.in. z sieci AdMob, zewnętrznych sieci reklamowych i kampanii AdMob. Pośrednictwo AdMob pomaga zmaksymalizować współczynnik wypełnienia i zwiększyć przychody przez wysyłanie żądań 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 zintegrować ten format z aplikacją:

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

Zainicjowanie pakietu SDK do reklam mobilnych

Z tego krótkiego przewodnika dowiesz się, jak zainicjować pakiet SDK do reklam mobilnych. W jego trakcie inicjowane są również adaptery zapośredniczenia i określania stawek. Zanim załadujesz reklamy, musisz poczekać na zakończenie tego procesu, by zapewnić pełne uczestnictwo wszystkich sieci reklamowych 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 transakcjami terminowymi znajdziesz w artykule o używaniu kontraktów terminowych do monitorowania stanu realizacji wywołań metod.

Sprawdź wartość kolumny adNetworkClassName

Każdy wynik 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 AdResult zwróconego z AdView. Podobny kod można zastosować 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 banerów reklamowych używanych w zapośredniczeniu AdMob. 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++ obejmuje implementacje pakietów SDK na Androida i iOS na potrzeby zapośredniczenia. Dlatego dalsza konfiguracja, w tym instalacja adapterów zapośredniczenia, odbywa się tylko pod kątem platform Android i iOS. Więcej informacji znajdziesz w przewodniku po wyborze sieci pakietu SDK do reklam mobilnych Google na Androida oraz w przewodniku wyboru sieci pakietu SDK do reklam mobilnych Google na iOS.