노출 수준 광고 수익

노출이 발생하면 Google 모바일 광고 SDK가 해당 노출과 연결된 광고 수익 데이터를 제공합니다. 이 데이터를 사용하여 사용자의 평생 가치를 계산하거나 데이터 다운스트림을 다른 관련 시스템으로 전달할 수 있습니다.

이 가이드에서는 Unity 프로젝트에서 노출 수준 광고 수익 데이터의 포착을 구현하는 방법을 설명합니다.

기본 요건

유료 이벤트 핸들러 구현

각 광고 형식에는 OnAdPaid 이벤트가 있습니다. 광고 이벤트의 수명 주기 동안 Google 모바일 광고 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
Adjust
AppsFlyer
Singular
Tenjin

구현 권장사항

  • 광고 객체를 만들거나 광고 객체에 액세스할 수 있게 되면 즉시 OnPaidEvent 이벤트를 설정하세요. 광고 게재 전에 설정해야 합니다. 이렇게 하면 콜백이 누락되지 않습니다.
  • 노출 수준 광고 수익 정보를 OnPaidEvent 핸들러에서 원하는 분석 서버로 즉시 전송하세요. 이렇게 하면 의도치 않은 콜백 누락이 발생하지 않으며, 데이터 불일치를 방지할 수 있습니다.

AdValue

AdValue는 광고에서 획득한 금전적 가치를 나타내는 클래스입니다(예: 값의 통화 코드, 아래와 같이 인코딩된 정밀도 유형).

AdValue.PrecisionType 설명
Unknown 알 수 없는 광고 값입니다. LTV 핑백이 사용 설정되었지만 사용 가능한 데이터가 충분하지 않은 경우 반환됩니다.
Estimated 합산 데이터에서 예상되는 광고 값입니다.
PublisherProvided 미디에이션 그룹의 수동 CPM처럼 게시자가 제공한 광고 값입니다.
Precise 이 광고의 정확한 값입니다.

미디에이션의 경우 AdMob에서는 최적화된 광고 소스에 대해 Estimated 값을 제공하려고 합니다. 최적화되지 않은 광고 소스의 경우 또는 의미 있는 추정치를 보고할 만큼 충분한 집계 데이터가 없는 경우 PublisherProvided 값이 반환됩니다.

입찰 광고 소스의 노출수 테스트

테스트 요청을 통해 입찰 광고 소스에 노출 수준 광고 수익 이벤트가 발생하면 다음 값만 수신됩니다.

  • Unknown: 정밀도 유형을 나타냅니다.
  • 0: 광고 가치를 나타냅니다.

이전에는 정밀도 유형이 Unknown이 아닌 값으로 표시되고 광고 값이 0보다 클 수 있었습니다.

테스트 광고 요청을 보내는 방법에 관한 자세한 내용은 테스트 기기 사용 설정을 참고하세요.