Gdy nastąpi wyświetlenie, pakiet SDK do reklam mobilnych Google dostarcza dane o przychodach z reklam powiązane z tym wyświetleniem. Możesz używać tych danych do obliczania wartości użytkownika w całym okresie jego aktywności lub przekazywać je do innych odpowiednich systemów.
Ten przewodnik pomoże Ci wdrożyć w aplikacji na Androida rejestrowanie danych o przychodach z reklam na poziomie wyświetleń.
Wymagania wstępne
- Upewnij się, że w interfejsie AdMob włączona jest funkcja przychodów z reklam na poziomie wyświetleń.
- Zaimportuj pakiet SDK do reklam mobilnych Google w wersji 21.1.0 lub nowszej.
- Zapoznaj się z przewodnikiem dla początkujących.
Aby otrzymywać przychody z reklam na poziomie wyświetleń, musisz wdrożyć co najmniej 1 format reklamy:
Moduł obsługi płatnych zdarzeń
Każdy format reklamy ma OnPaidEventListener
.
Podczas cyklu życia zdarzenia związanego z reklamą pakiet SDK do reklam mobilnych Google monitoruje zdarzenia wyświetlenia i wywołuje procedurę obsługi z wartością zarobioną.
W tym przykładzie obsługiwane są płatne zdarzenia 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")
}
}
Identyfikowanie nazwy źródła reklamy zdarzenia niestandardowego
W przypadku źródeł reklam zdarzeń niestandardowych metoda getAdSourceName()
zwraca nazwę źródła reklam Custom event
. Jeśli używasz wielu zdarzeń niestandardowych, nazwa źródła reklamy 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 niepowtarzalną nazwę źródła reklam.
W tym przykładzie ustawiamy niepowtarzalną nazwę źródła reklam dla zdarzenia niestandardowego:
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 wygrywającej reklamy znajdziesz w artykule Pobieranie informacji o odpowiedzi 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 odbiornik natychmiast po utworzeniu obiektu reklamy lub uzyskaniu do niego dostępu i zdecydowanie przed wyświetleniem reklamy. Dzięki temu nie przegapisz żadnych wywołań zwrotnych dotyczących płatnych wydarzeń.
- Wysyłaj informacje o przychodach z reklam na poziomie wyświetleń na wybrany serwer analityczny natychmiast po wywołaniu wywołania zwrotnego zdarzenia płatnego. Dzięki temu nie utracisz ż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 precyzji wartości zakodowane w ten sposób.
PrecisionType | Opis |
---|---|
UNKNOWN |
Nieznana wartość reklamy. Ten kod jest zwracany, gdy pingback LTV jest włączony, ale nie ma wystarczającej ilości danych. |
ESTIMATED |
Wartość reklamy została oszacowana na podstawie danych zbiorczych. |
PUBLISHER_PROVIDED |
Wartość reklamy podana przez wydawcę, np. CPM ustawiony ręcznie w grupie zapośredniczenia. |
PRECISE |
Dokładna kwota zapłacona za tę reklamę. |
W przypadku zapośredniczenia AdMob usiłuje podać wartość ESTIMATED
dla zoptymalizowanych źródeł reklam.
PUBLISHER_PROVIDED
.
Testowanie wyświetleń ze źródeł reklam z ustalaniem stawek
Gdy w przypadku źródła reklam korzystającego z licytowania na poziomie wyświetleń nastąpi zdarzenie przychodów z reklam na poziomie wyświetleń w ramach żądania testowego, otrzymasz tylko te wartości:
UNKNOWN
: wskazuje typ precyzji.
0
: wskazuje wartość reklamy.
Wcześniej typ precyzji mógł mieć wartość inną niż UNKNOWN
, a wartość reklamy mogła być większa niż 0
.
Szczegółowe informacje o wysyłaniu żądania reklamy testowej znajdziesz w artykule Włączanie urządzeń testowych.