Werbeeinnahmen auf Impressionsebene

Plattform auswählen: Android Neu Android iOS Unity

Wenn eine Impression erfolgt, liefert Google Mobile Ads Unity Plugin Daten zu den Werbeeinnahmen , die mit dieser Impression verbunden sind. Sie können die Daten verwenden, um den Lifetime-Wert eines Nutzers zu berechnen, oder sie an andere relevante Systeme weiterleiten.

In dieser Anleitung erfahren Sie, wie Sie die Erfassung von Werbeeinnahmen auf Impressionsebene in Ihrem Unity-Projekt implementieren.

Vorbereitung

Handler für kostenpflichtige Ereignisse implementieren

Jedes Anzeigenformat hat ein OnAdPaid-Ereignis. Während des Lebenszyklus eines Anzeigenereignisses Google Mobile Ads Unity Plugin überwacht Impressionen und ruft den Handler mit einem AdValue auf, der den erzielten Wert darstellt.

Im folgenden Beispiel werden kostenpflichtige Ereignisse für eine Anzeige mit Prämie verarbeitet:

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"];
}

Namen für die Anzeigenquelle eines benutzerdefinierten Ereignisses festlegen

Bei Anzeigenquellen für benutzerdefinierte Ereignisse gibt die Property AdSourceName den Namen der Anzeigenquelle Custom Event an. Wenn Sie mehrere benutzerdefinierte Ereignisse verwenden, ist der Name der Anzeigenquelle nicht detailliert genug, um zwischen mehreren benutzerdefinierten Ereignissen zu unterscheiden. So finden Sie ein bestimmtes benutzerdefiniertes Ereignis:

  1. Rufen Sie die Property AdapterClassName ab.
  2. Legen Sie einen eindeutigen Namen für die Anzeigenquelle fest.

Im folgenden Beispiel wird ein eindeutiger Name für die Anzeigenquelle eines benutzerdefinierten Ereignisses festgelegt:

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;
}

Weitere Informationen zur gewinnenden Anzeigenquelle finden Sie unter Informationen zur Anzeigenantwort abrufen.

Mit App Attribution Partnern (AAP) verknüpfen

Ausführliche Informationen zum Weiterleiten von Werbeeinnahmen an Analyseplattformen finden Sie in der Anleitung des Partners:

Partner-SDK
Adjust
AppsFlyer
Singular
Tenjin

Best Practices zur Implementierung

  • Legen Sie das OnPaidEvent-Ereignis sofort fest, nachdem Sie das Anzeigenobjekt erstellt oder darauf zugegriffen haben, und auf jeden Fall vor dem Ausliefern der Anzeige. So verpassen Sie keine Callbacks.
  • Senden Sie die Informationen zu Werbeeinnahmen auf Impressionsebene sofort in Ihrem OnPaidEvent-Handler an den gewünschten Analyseserver. So vermeiden Sie, dass Callbacks versehentlich verloren gehen, und verhindern Datenabweichungen.

AdValue

AdValue ist eine Klasse, die den monetären Wert darstellt, der mit einer Anzeige erzielt wurde. Dazu gehören der Währungscode des Werts und der Genauigkeitstyp, der wie folgt codiert ist.

AdValue.PrecisionType Beschreibung
Unknown Ein unbekannter Anzeigenwert. Dieser Wert wird zurückgegeben, wenn LTV-Pingback aktiviert ist, aber nicht genügend Daten verfügbar sind.
Estimated Ein Anzeigenwert, der anhand von aggregierten Daten geschätzt wird.
PublisherProvided Ein vom Publisher angegebener Anzeigenwert, z. B. manuelle CPMs in einer Vermittlungsgruppe.
Precise Der genaue Wert dieser Anzeige.

Bei der Vermittlung versucht AdMob, einen EstimatedWert für Anzeigenquellen anzugeben, die optimiert sind. Bei nicht optimierten Anzeigenquellen oder wenn nicht genügend aggregierte Daten vorhanden sind, um eine aussagekräftige Schätzung zu liefern, wird der Wert PublisherProvided zurückgegeben.

Impressionen von Bidding-Anzeigenquellen testen

Nachdem ein Ereignis zu Werbeeinnahmen auf Impressionsebene für eine Bidding-Anzeigenquelle über eine Testanfrage erfolgt ist, erhalten Sie nur die folgenden Werte:

  • Unknown gibt den Genauigkeitstyp an.
  • 0 gibt den Anzeigenwert an.

Bisher wurde der Genauigkeitstyp möglicherweise als anderer Wert als Unknown und ein Anzeigenwert über 0 angezeigt.

Weitere Informationen zum Senden einer Testanzeigenanfrage finden Sie unter Testgeräte aktivieren.