Rozpocznij

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Zapośredniczenie AdMob to funkcja, która umożliwia wyświetlanie reklam w aplikacjach z wielu źródeł, w tym z sieci AdMob, sieci reklamowych innych firm oraz z kampanii AdMob. Zapośredniczenie AdMob pozwala 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

Zanim zintegrujesz zapośredniczenie z formatem reklamy, musisz zintegrować ten format reklamy z aplikacją:

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

Do określania stawek: pakiet SDK do reklam mobilnych Google w wersji 18.3.0lub nowszej.

Zainicjuj pakiet SDK do reklam mobilnych

Z tego krótkiego przewodnika dowiesz się, jak zainicjować pakiet SDK do reklam mobilnych. Podczas tego wywołania zainicjowane zostaną również zapośredniczenie i adaptery stawek. Aby mieć pewność, że reklamy zostaną pobrane z każdej sieci reklamowej przy pierwszym żądaniu reklamy, musisz poczekać na zakończenie procesu jej wczytywania.

Przykładowy kod poniżej pokazuje, jak sprawdzić stan zainicjowania każdego adaptera przed wysłaniem żądania reklamy.

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
                Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap();
                for (String adapterClass : statusMap.keySet()) {
                    AdapterStatus status = statusMap.get(adapterClass);
                    Log.d("MyApp", String.format(
                            "Adapter name: %s, Description: %s, Latency: %d",
                            adapterClass, status.getDescription(), status.getLatency()));
                }

                // Start loading ads here...
            }
        });
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds

MobileAds.initialize(this) { initializationStatus ->
  val statusMap =
    initializationStatus.adapterStatusMap
  for (adapterClass in statusMap.keys) {
    val status = statusMap[adapterClass]
    Log.d("MyApp", String.format(
      "Adapter name: %s, Description: %s, Latency: %d",
      adapterClass, status!!.description, status.latency))
  }

  // Start loading ads here...
}

Sprawdź, która klasa adaptera sieci reklamowej wczytała reklamę

Oto przykładowy kod, który rejestruje nazwę klasy sieci reklamowej dla banera reklamowego:

Java

public void onAdLoaded() {
  Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}

Kotlin

override fun onAdLoaded() {
  Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}

Więcej informacji o tej metodzie znajdziesz w dokumentacji ResponseInfo na stronie getMediationAdapterClassName().

Inicjowanie obiektu reklamy za pomocą wystąpienia aktywności

W konstruktorze nowego obiektu reklamy (np.AdView),musisz przekazać obiekt typu Context. Podczas korzystania z zapośredniczenia ta Context jest przekazywana do innych sieci reklamowych. Niektóre sieci reklamowe wymagają bardziej restrykcyjnego typu Context, który jest typu Activity, i może nie być w stanie wyświetlać reklam bez instancji Activity. Z tego powodu zalecamy zainicjowanie obiektu Activity podczas inicjowania obiektów reklam, aby zapewnić spójność z zapośredniczonymi sieciami reklamowymi.

Pamiętaj, aby wyłączyć odświeżanie we wszystkich interfejsach zewnętrznych sieci reklamowych w przypadku jednostek banerów reklamowych używanych w AdMob zapośredniczeniu. Zapobiegnie to podwójnemu odświeżeniu, AdMob ponieważ spowoduje to też odświeżanie oparte na częstotliwości odświeżania jednostki z banerem reklamowym.

Zapośredniczenie reklam z nagrodą

Zalecamy zastąpienie wszystkich domyślnych wartości nagród poprzez ustawienie ich w AdMob interfejsie. Aby to zrobić, zaznacz pole Zastosuj do wszystkich sieci w grupach zapośredniczenia , aby nagroda była taka sama we wszystkich sieciach. Niektóre sieci reklamowe w ogóle nie oferują żadnej wartości lub typu nagrody. Jeśli zastąpisz wartość nagrody, nagroda będzie taka sama niezależnie od sieci reklamowej, która wyświetliła reklamę.

Więcej informacji o ustawianiu wartości nagród w interfejsie AdMob znajdziesz w artykule o tworzeniu jednostki reklamowej z nagrodą.

Zapośredniczenie reklam natywnych

Poniżej znajdziesz sprawdzone metody, które warto wziąć pod uwagę podczas wdrażania zapośredniczenia natywnego.

Zasady dotyczące wyświetlania reklam natywnych
Każda sieć reklamowa ma własne zasady. Korzystając z zapośredniczenia, musisz pamiętać, że Twoja aplikacja musi być zgodna z zasadami zapośredniczonej sieci, która udostępniła reklamę.
Użyj loadAd() zamiast loadAds()
Metoda loadAds() wyświetla obecnie tylko reklamy Google. W przypadku reklam zapośredniczonych zamiast tego użyj loadAd().

CCPA i RODO

Jeśli musisz zachować zgodność z kalifornijską ustawą o ochronie prywatności konsumentów (California Consumer Privacy Act, CCPA) lub ogólnym rozporządzeniem o ochronie danych (RODO), wykonaj czynności opisane w ustawieniach dotyczących CCPA lub ustawień RODO, aby dodać partnerów ds. zapośredniczenia na liście partnerów reklamowych w zakresie prywatności i wiadomości zgodnych z CCPA lub RODO. Jeśli tego nie zrobisz, partnerzy mogą nie wyświetlać reklam w Twojej aplikacji.

Dowiedz się więcej o włączaniu ograniczonego przetwarzania danych CCPA i uzyskiwaniu zgody na podstawie RODO za pomocą pakietu SDK Google User Messaging Platform (UMP).