Gdy nastąpi wyświetlenie, Google Mobile Ads SDK udostępnia dane o przychodach z reklam powiązane z tym wyświetleniem. Możesz użyć tych danych do obliczenia wartości użytkownika w całym okresie jego aktywności lub przekazać je do innych odpowiednich systemów.
Ten przewodnik pomoże Ci wdrożyć rejestrowanie danych o przychodach z reklam na poziomie wyświetleń w aplikacji na Androida.
Wymagania wstępne
- Upewnij się, że masz włączoną funkcję przychodów z reklam na poziomie wyświetleń w interfejsie AdMob.
- Zaimportuj Google Mobile Ads SDK w wersji 21.1.0 lub nowszej.
- Skonfiguruj Google Mobile Ads SDK.
Aby otrzymywać przychody z reklam na poziomie wyświetleń, musisz wdrożyć co najmniej 1 format reklamy:
Moduł obsługi zdarzeń płatnych
Każdy format reklamy ma element
OnPaidEventListener.
Podczas cyklu życia zdarzenia reklamy Google Mobile Ads SDK monitoruje
zdarzenia wyświetlenia i wywołuje moduł obsługi z uzyskaną wartością.
Poniższy przykład obsługuje zdarzenia płatne w przypadku reklamy z nagrodą:
Java
private void setOnPaidEventListener(RewardedAd ad) {
ad.setOnPaidEventListener(
new OnPaidEventListener() {
@Override
public void onPaidEvent(@NonNull AdValue adValue) {
// Extract the impression-level ad revenue data.
long valueMicros = adValue.getValueMicros();
String currencyCode = adValue.getCurrencyCode();
int precision = adValue.getPrecisionType();
// Get the ad unit ID.
String adUnitId = ad.getAdUnitId();
// Extract ad response information.
AdapterResponseInfo loadedAdapterResponseInfo =
ad.getResponseInfo().getLoadedAdapterResponseInfo();
if (loadedAdapterResponseInfo != null) {
String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
Bundle extras = ad.getResponseInfo().getResponseExtras();
String mediationGroupName = extras.getString("mediation_group_name");
String mediationABTestName = extras.getString("mediation_ab_test_name");
String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}
}
});
}Kotlin
private fun setOnPaidEventListener(ad: RewardedAd) {
ad.onPaidEventListener = OnPaidEventListener { adValue ->
// Extract the impression-level ad revenue data.
val valueMicros = adValue.valueMicros
val currencyCode = adValue.currencyCode
val precision = adValue.precisionType
// Get the ad unit ID.
val adUnitId = ad.adUnitId
// Extract ad response information.
val loadedAdapterResponseInfo = ad.responseInfo.loadedAdapterResponseInfo
val adSourceName = loadedAdapterResponseInfo?.adSourceName
val adSourceId = loadedAdapterResponseInfo?.adSourceId
val adSourceInstanceName = loadedAdapterResponseInfo?.adSourceInstanceName
val adSourceInstanceId = loadedAdapterResponseInfo?.adSourceInstanceId
val extras = ad.responseInfo.responseExtras
val mediationGroupName = extras.getString("mediation_group_name")
val mediationABTestName = extras.getString("mediation_ab_test_name")
val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}
}Określanie nazwy źródła reklam ze zdarzeniem niestandardowym
W przypadku źródeł reklam ze zdarzeniem niestandardowym metoda getAdSourceName()
zwraca nazwę źródła reklam Custom event. Jeśli używasz wielu zdarzeń niestandardowych, nazwa źródła reklam nie jest wystarczająco szczegółowa, aby odróżnić od siebie poszczególne zdarzenia niestandardowe. Aby znaleźć konkretne zdarzenie niestandardowe:
- Wywołaj metodę
getAdSourceName(). - Ustaw unikalną nazwę źródła reklam.
Poniższy przykład ustawia unikalną nazwę źródła reklam ze zdarzeniem niestandardowym:
Java
private String getUniqueAdSourceName(@NonNull AdapterResponseInfo loadedAdapterResponseInfo) {
String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
if (adSourceName.equals("Custom Event")) {
if (loadedAdapterResponseInfo
.getAdapterClassName()
.equals("com.google.ads.mediation.sample.customevent.SampleCustomEvent")) {
adSourceName = "Sample Ad Network (Custom Event)";
}
}
return adSourceName;
}
Kotlin
private fun getUniqueAdSourceName(loadedAdapterResponseInfo: AdapterResponseInfo): String {
var adSourceName = loadedAdapterResponseInfo.adSourceName
if (adSourceName == "Custom Event") {
if (
loadedAdapterResponseInfo.adapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent"
) {
adSourceName = "Sample Ad Network (Custom Event)"
}
}
return adSourceName
}
Więcej informacji o źródle reklam, które wygrało aukcję, znajdziesz w artykule Pobieranie informacji o odpowiedzi na żądanie reklamy.
Integracja z firmami uczestniczącymi w programie App Attribution Partner (AAP)
Szczegółowe informacje o przekazywaniu danych o przychodach z reklam do platform analitycznych znajdziesz w przewodniku partnera:
| Pakiet SDK partnera |
|---|
| Adjust |
| AppsFlyer |
| Singular |
| Tenjin |
Sprawdzone metody wdrażania
- Ustaw detektor natychmiast po utworzeniu obiektu reklamy lub uzyskaniu do niego dostępu, a na pewno przed wyświetleniem reklamy. Dzięki temu nie przegapisz żadnych wywołań zwrotnych zdarzeń płatnych.
- Wyślij informacje o przychodach z reklam na poziomie wyświetleń do preferowanego serwera analitycznego natychmiast po wywołaniu zwrotnym zdarzenia płatnego. Dzięki temu nie pominiesz żadnych wywołań zwrotnych i unikniesz rozbieżności w danych.
AdValue
AdValue to klasa reprezentująca wartość pieniężną uzyskaną za reklamę, w tym kod waluty i typ dokładności zakodowany w ten sposób.
| PrecisionType | Opis |
|---|---|
UNKNOWN |
Nieznana wartość reklamy. Jest zwracana, gdy włączone jest pingowanie LTV, ale nie ma wystarczającej ilości danych. |
ESTIMATED |
Wartość reklamy została oszacowana na podstawie danych zbiorczych. |
PUBLISHER_PROVIDED |
Wartość reklamy została podana przez wydawcę, np. na podstawie CPM ustawionego ręcznie w grupie zapośredniczenia. |
PRECISE |
Dokładna kwota zapłacona za tę reklamę. |
W przypadku zapośredniczenia AdMob AdMob próbuje podać wartość ESTIMATED dla zoptymalizowanych źródeł reklam.
W przypadku źródeł reklam, które nie są zoptymalizowane, lub gdy nie ma wystarczającej ilości danych zbiorczych, aby podać wiarygodne oszacowanie, zwracana jest wartość PUBLISHER_PROVIDED.
Testowanie wyświetleń ze źródeł reklam z ustalaniem stawek
Gdy w przypadku źródła reklam z ustalaniem stawek nastąpi zdarzenie przychodów z reklam na poziomie wyświetleń w wyniku żądania testowego, otrzymasz tylko te wartości:
UNKNOWN– wskazuje typ dokładności.
0– wskazuje wartość reklamy.
Wcześniej typ dokładności mógł być wyświetlany jako wartość inna niż
UNKNOWN, a wartość reklamy mogła być większa niż 0.
Więcej informacji o wysyłaniu testowego żądania reklamy znajdziesz w artykule Włączanie urządzeń testowych.