曝光層級廣告收益

發生曝光時,Google Mobile Ads SDK 會提供與該曝光相關的廣告收益資料。您可以使用這些資料計算使用者的終身價值,或將資料轉寄至其他相關系統。

本指南旨在協助您在 Unity 專案中實作曝光層級廣告收益資料擷取功能。

必要條件

實作付費事件處理常式

每種廣告格式都有 OnAdPaid 事件。在廣告事件的生命週期中,Google Mobile Ads SDK 會監控曝光事件,並以代表收益值的 AdValue 叫用處理程序。

以下範例說明如何處理獎勵廣告的付費事件:

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

如要進一步瞭解獲勝廣告來源,請參閱「擷取廣告回應資訊」。

與應用程式歸因合作夥伴 (AAP) 整合

如要進一步瞭解如何將廣告收益資料轉送至數據分析平台,請參閱合作夥伴指南:

合作夥伴 SDK
調整
AppsFlyer
Singular
Tenjin

導入最佳做法

  • 建立或取得廣告物件存取權後,請立即設定 OnPaidEvent 事件,且務必在顯示廣告前設定。這麼做可確保您不會錯過任何回呼。
  • OnPaidEvent 處理常式中,立即將曝光層級廣告收益資訊傳送至偏好的數據分析伺服器。這可確保您不會意外捨棄任何回呼,並避免資料出現差異。

AdValue

AdValue 是代表廣告所賺取的金錢價值的類別,包括值的幣別代碼和精確度類型,如下所示。

AdValue.PrecisionType 說明
Unknown 不明的廣告值。在啟用 LTV 回報功能但資料不足的情況下,系統會傳回這個值。
Estimated 根據匯總資料得出的預估廣告價值。
PublisherProvided 由發布商提供的廣告價值,例如中介服務群組中的手動千次曝光出價。
Precise 這則廣告的精確價值。

如果是中介服務,AdMob 會嘗試為已最佳化的廣告來源提供 Estimated 值。如果是未最佳化的廣告來源,或是匯總資料不足以回報有意義的預估值,系統會傳回 PublisherProvided 值。

測試出價廣告來源的曝光次數

透過測試請求,針對出價廣告來源發生曝光層級廣告收益事件後,您只會收到下列值:

  • Unknown:表示精確度類型。
  • 0:表示廣告價值。

先前,您可能會發現精確度類型是 Unknown 以外的值,且廣告值超過 0

如要進一步瞭解如何傳送測試廣告要求,請參閱「啟用測試裝置」。