Zapośredniczenie AdMob to funkcja, która umożliwia wyświetlanie w 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 oraz zwiększyć przychody przez wysyłanie żądań reklamy do wielu sieci, by znaleźć najlepszą sieć do wyświetlania reklam. Studium przypadku.
Wymagania wstępne
Zanim zintegrujesz zapośredniczenie z danym formatem reklamy, musisz zintegrować go z aplikacją:
- Banery reklamowe
- Reklamy pełnoekranowe
- Reklamy natywne
- Reklamy z nagrodą
- Reklamy pełnoekranowe z nagrodą
Dopiero zaczynasz korzystać z zapośredniczenia? Przeczytaj Omówienie zapośredniczenia AdMob.
Na potrzeby określania stawek: pakiet SDK do reklam mobilnych Google w wersji 18.3.0 lub nowszej.
Zainicjowanie pakietu SDK do reklam mobilnych
Z krótkiego przewodnika dowiesz się, jak zainicjować pakiet SDK do reklam mobilnych. W trakcie tego wywołania inicjowania również inicjowane są adaptery zapośredniczenia i określania stawek. Przed wczytaniem reklam należy poczekać na zakończenie inicjowania, aby zapewnić pełne uczestnictwo wszystkich sieci reklamowych w pierwszym żądaniu reklamy.
Poniższy przykładowy kod pokazuje, jak możesz sprawdzić stan inicjowania 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 załadowała reklamę.
Oto przykładowy kod, który rejestruje nazwę klasy sieci reklamowej na potrzeby 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
w getMediationAdapterClassName()
.
Inicjowanie obiektu reklamowego za pomocą wystąpienia aktywności
W konstruktorze nowego obiektu reklamy (np. AdView
) musisz przekazać obiekt typu Context
.
Podczas korzystania z zapośredniczenia ten parametr Context
jest przekazywany do innych sieci reklamowych. Niektóre sieci reklamowe wymagają bardziej restrykcyjnego elementu Context
typu Activity
i mogą nie być w stanie wyświetlać reklam bez wystąpienia Activity
. Dlatego zalecamy, aby podczas inicjowania obiektów reklamowych przekazać wystąpienie Activity
, aby zapewnić spójność z zapośredniczonymi sieciami reklamowymi.
Zapośredniczenie banerów reklamowych
Pamiętaj, by wyłączyć odświeżanie w interfejsie wszystkich zewnętrznych sieci reklamowych w przypadku jednostek banerów reklamowych w zapośredniczeniu AdMob. Zapobiega 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.
Zapośredniczenie reklam natywnych
Poniżej znajdziesz kilka sprawdzonych metod, które warto wziąć pod uwagę przy wdrażaniu zapośredniczenia natywnego.
- Zasady dotyczące prezentacji reklam natywnych
- Każda sieć reklamowa ma własne zasady. Korzystając z zapośredniczenia, pamiętaj, że Twoja aplikacja musi być zgodna z zasadami sieci zapośredniczonej, która dostarczyła reklamę.
- Używaj
loadAd()
zamiastloadAds()
- Metoda
loadAds()
wyświetla tylko reklamy Google. W przypadku reklam zapośredniczonych użyj parametruloadAd()
.
Amerykańskie przepisy stanowe o ochronie prywatności i RODO
Jeśli musisz zachować zgodność z amerykańskimi przepisami stanowymi o ochronie prywatności lub Ogólnym rozporządzeniem o ochronie danych (RODO), wykonaj czynności opisane w ustawieniach amerykańskich przepisów stanowych lub ustawieniach RODO, aby dodać partnerów zapośredniczenia do listy partnerów reklamowych korzystających z usługi „Prywatność i wyświetlanie wiadomości” w AdMob lub na liście partnerów reklamowych zgodnych z RODO. Jeśli tego nie zrobisz, partnerzy nie będą mogli wyświetlać reklam w Twojej aplikacji.
Dowiedz się więcej o włączaniu ograniczonego przetwarzania danych (RDP) i uzyskiwaniu zgody na wykorzystanie danych zgodnie z RODO za pomocą pakietu SDK platformy do personalizowania wiadomości wyświetlanych użytkownikom (UMP).