Przychody z reklam na poziomie wyświetleń

Wybierz platformę: Android Nowy Android iOS Unity

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

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:

  1. Pobierz właściwość AdapterClassName.
  2. 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 OnPaidEvent 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.
  • Natychmiast w module obsługi OnPaidEvent wyś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.