Z tego przewodnika dowiesz się, jak zintegrować adapter zapośredniczenia z aplikacją na Androida.
Wymagania wstępne
Aby zintegrować zapośredniczenie dla danego formatu reklamy, musisz zintegrować ten format z aplikacją:
- Banery reklamowe
- Reklamy pełnoekranowe
- Reklamy natywne
- Reklamy z nagrodą
- Reklamy pełnoekranowe z nagrodą
Dopiero zaczynasz korzystać z zapośredniczenia? Przeczytaj Wprowadzenie do zapośredniczenia.
W przypadku określania stawek: pakiet SDK do reklam mobilnych Google w wersji 18.3.0 lub nowszej.
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. Zanim załadujesz reklamy, musisz poczekać na zakończenie inicjalizacji, by w przypadku pierwszego żądania reklamy wszystkie sieci reklamowe były w pełni aktywne.
Poniższy przykładowy kod pokazuje, jak 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);
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)
}
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. AdManagerAdView
) 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 atrybutu Context
typu Activity
, który może nie być w stanie wyświetlać reklam bez wystąpienia Activity
. Dlatego podczas inicjowania obiektów reklamowych zalecamy przekazanie wystąpienia Activity
, aby zapewnić spójność w działaniu zapośredniczonych sieci reklamowych.
Używanie banerów reklamowych w zapośredniczeniu
Pamiętaj, aby wyłączyć odświeżanie we wszystkich interfejsach zewnętrznych źródeł reklam w przypadku jednostek banerów reklamowych używanych w zapośredniczeniu. Zapobiega to podwójnemu odświeżaniu, ponieważ Ad Manager uruchamia też odświeżanie na podstawie częstotliwości odświeżania jednostki z banerem reklamowym.
Używanie reklam natywnych z zapośredniczeniem
Poniżej znajdziesz kilka sprawdzonych metod, które warto wziąć pod uwagę podczas wdrażania zapośredniczenia natywnego.
- Zasady dotyczące prezentacji reklam natywnych
- Każda sieć reklamowa ma własne zasady. Podczas korzystania z zapośredniczenia pamiętaj, że Twoja aplikacja musi przestrzegać zasad sieci, która wyświetliła reklamę.
- Użyj
loadAd()
zamiastloadAds()
- Metoda
loadAds()
powoduje wyświetlanie tylko reklam Google. W przypadku reklam zapośredniczonych użyjloadAd()
.
Amerykańskie przepisy stanowe o ochronie prywatności i RODO
Jeśli chcesz 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 na liście stanów USA w usłudze Ad Manager lub na liście partnerów reklamowych zgodnych z 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 i uzyskiwaniu zgody na wykorzystanie danych zgodnie z RODO za pomocą pakietu SDK platformy do personalizowania wiadomości wyświetlanych użytkownikom (UMP).