Gdy nastąpi wyświetlenie, Google Mobile Ads Unity Plugin 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 projekcie Unity.
Wymagania wstępne
- Upewnij się, że w interfejsie AdMob masz włączoną funkcję przychodów z reklam na poziomie wyświetleń.
- Wtyczka Unity w wersji 5.0.0 lub nowszej.
- Wykonaj wszystkie czynności opisane w artykule Pierwsze kroki. W Twojej aplikacji Unity powinna być już zaimportowana wtyczka reklam mobilnych Google dla środowiska Unity.
Zanim zaczniesz otrzymywać dane o przychodach z reklam na poziomie wyświetleń, musisz zaimplementować co najmniej 1 format reklamy:
Implementowanie modułu obsługi płatnych zdarzeń
Każdy format reklamy ma zdarzenie OnAdPaid. W trakcie cyklu życia zdarzenia reklamowego
Google Mobile Ads Unity Plugin monitoruje zdarzenia wyświetlenia i wywołuje moduł obsługi
z wartością AdValue reprezentującą zarobioną kwotę.
Poniższy przykład pokazuje, jak obsługiwać płatne zdarzenia w przypadku reklamy z nagrodą:
private void LoadRewardedAd()
{
// Send the request to load the ad.
AdRequest adRequest = new AdRequest();
RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd rewardedAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
Debug.LogError("Rewarded ad failed to load an ad with error : " + error);
return;
}
rewardedAd.OnAdPaid += this.HandleAdPaidEvent;
});
}
public void HandleAdPaidEvent(AdValue adValue)
{
// TODO: Send the impression-level ad revenue information to your
// preferred analytics server directly within this callback.
long valueMicros = adValue.Value;
string currencyCode = adValue.CurrencyCode;
PrecisionType precision = adValue.Precision;
ResponseInfo responseInfo = rewardedAd.GetResponseInfo();
string responseId = responseInfo.GetResponseId();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
string adSourceId = loadedAdapterResponseInfo.AdSourceId;
string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
Dictionary<string, string> extras = responseInfo.GetResponseExtras();
string mediationGroupName = extras["mediation_group_name"];
string mediationABTestName = extras["mediation_ab_test_name"];
string mediationABTestVariant = extras["mediation_ab_test_variant"];
}
Określanie nazwy źródła reklam ze zdarzeniem niestandardowym
W przypadku źródeł reklam ze zdarzeniem niestandardowym właściwość AdSourceName podaje nazwę źródła reklam Custom Event. Jeśli używasz kilku zdarzeń niestandardowych, nazwa źródła reklam nie jest wystarczająco szczegółowa, aby można było odróżnić od siebie poszczególne zdarzenia niestandardowe. Aby znaleźć konkretne zdarzenie niestandardowe:
- Pobierz właściwość
AdapterClassName. - Ustaw unikalną nazwę źródła reklam.
Poniższy przykład pokazuje, jak ustawić unikalną nazwę źródła reklam ze zdarzeniem niestandardowym:
private string GetAdSourceName(AdapterResponseInfo loadedAdapterResponseInfo)
{
if (loadedAdapterResponseInfo == null)
{
return string.Empty;
}
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
if (adSourceName == "Custom Event")
{
#if UNITY_ANDROID
if (loadedAdapterResponseInfo.AdapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent")
{
adSourceName = "Sample Ad Network (Custom Event)";
}
#elif UNITY_IPHONE
if (loadedAdapterResponseInfo.AdapterClassName == "SampleCustomEvent")
{
adSourceName = "Sample Ad Network (Custom Event)";
}
#endif
}
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 zdarzenie
OnPaidEventnatychmiast 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. - Natychmiast w module obsługi
OnPaidEventwyślij informacje o przychodach z reklam na poziomie wyświetleń na preferowany serwer analityczny. Dzięki temu nie pominiesz przypadkowo żadnych wywołań zwrotnych i unikniesz rozbieżności w danych.
AdValue
AdValue to klasa reprezentująca wartość pieniężną zarobioną na reklamie, w tym kod waluty i typ dokładności zakodowane w ten sposób.
AdValue.PrecisionType |
Opis |
|---|---|
Unknown |
Nieznana wartość reklamy. Jest zwracana, gdy włączony jest pingback LTV, ale nie ma wystarczającej ilości danych. |
Estimated |
Wartość reklamy została oszacowana na podstawie danych zbiorczych. |
PublisherProvided |
Wartość reklamy została podana przez wydawcę, np. na podstawie CPM ustawionego ręcznie w grupie zapośredniczenia. |
Precise |
Dokładna wartość tej reklamy. |
W przypadku zapośredniczenia AdMob próbuje podać wartość Estimated dla zoptymalizowanych źródeł reklam które są. 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ść PublisherProvided.
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 żądania reklamy testowej znajdziesz w artykule Włączanie urządzeń testowych.