Zapośredniczenie AdMob to funkcja, która pozwala wyświetlać w aplikacjach reklamy wielu źródeł, w tym z sieci AdMob i zewnętrznych źródeł reklam, w jednym miejscu. Pośrednictwo AdMob pomaga zmaksymalizować współczynnik wypełnienia i zwiększyć przez wysyłanie żądań reklamy do różnych sieci, by zapewnić, że 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:
- Banery reklamowe
- Reklamy pełnoekranowe
- Reklamy natywne
- Reklamy z nagrodą
- Reklama pełnoekranowa z nagrodą Reklamy
Dopiero zaczynasz korzystać z zapośredniczenia? Odczytano Zapośredniczenie AdMob – informacje.
W przypadku ustalania stawek: Pakiet SDK do reklam mobilnych Google w wersji 18.3.0 lub wyższą.
Zainicjowanie pakietu SDK do reklam mobilnych
Z naszego krótkiego przewodnika dowiesz się, jak zainicjować reklamy mobilne SDK. W trakcie wywołania inicjowania również adaptery zapośredniczenia zostanie zainicjowany. Ważne jest, aby poczekać na zakończenie inicjalizacji przed musisz wczytywać reklamy, aby zapewnić pełny udział wszystkich reklam ze wszystkich sieci pierwszego żądania reklamy.
Poniższy przykładowy kod pokazuje, jak można sprawdzić inicjalizację 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);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
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...
}))
.start();
}
}
Kotlin
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { 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 w przypadku 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)
}
Zapoznaj się z dokumentacją usługi ResponseInfo
dotyczącą: 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 wartość Context
jest przekazywana do innych sieci reklamowych. Niektóre
sieci reklamowe wymagają bardziej restrykcyjnego parametru Context
tego typu
Activity
.
i wyświetlanie reklam bez wystąpienia Activity
może nie być możliwe. Dlatego
zalecamy przekazanie wystąpienia Activity
podczas inicjowania obiektów reklamowych
aby zapewnić spójne korzystanie z zapośredniczonych sieci reklamowych.
Korzystanie z banerów reklamowych w zapośredniczeniu AdMob
Pamiętaj, aby wyłączyć odświeżanie we wszystkich interfejsach zewnętrznych źródeł reklam w przypadku banerów reklamowych jednostek używanych w zapośredniczeniu AdMob. Zapobiega to podwójnemu odświeżeniu od AdMob powoduje też odświeżenie danych na podstawie częstotliwość odświeżania danych.
Korzystanie z reklam natywnych w zapośredniczeniu AdMob
Poniżej przedstawiliśmy kilka sprawdzonych metod, które warto wziąć pod uwagę podczas implementacji reklam natywnych w zapośredniczeniu AdMob.
- Zasady dotyczące prezentacji reklam natywnych
- Każda sieć reklamowa ma własne zasady. Ważne jest, aby podczas korzystania z zapośredniczenia pamiętaj, że Twoja aplikacja musi być zgodna z zasadami sieć, która dostarczyła reklamę.
- Użyj
loadAd()
zamiastloadAds()
- Metoda
loadAds()
powoduje wyświetlanie tylko reklam Google. W przypadku reklam zapośredniczonych użyj wartościloadAd()
.
Amerykańskie przepisy stanowe o ochronie prywatności i RODO
Jeżeli konieczne jest przestrzeganie zasad w Stanach Zjednoczonych stanowa prywatność użytkowników przepisy prawa lub Ogólna ochrona danych Rozporządzenie (RODO), postępuj zgodnie z kroki w amerykańskich przepisach stanowych ustawienia lub RODO , aby dodać partnerzy zapośredniczenia w AdMob wiadomości Lista partnerów reklamowych ze stanów w USA lub zgodnych z RODO. Jeśli tego nie zrobisz, możemy podjąć współpracę z partnerami niewyświetlanie reklam w Twojej aplikacji.
Dowiedz się więcej o włączaniu ograniczonego przetwarzania danych (RDP) i uzyskanie RODO zgoda na wykorzystanie danych za pomocą platformy do personalizowania wiadomości wyświetlanych użytkownikom (UMP) SDK.