디스플레이 유형 맞춤 네이티브 광고 형식과 Open Measurement

이 가이드에서는 맞춤 네이티브 광고 형식을 Open Measurement와 통합하는 방법을 설명합니다.

기본 요건

계속하기 전에 다음을 수행하세요.

통합

동영상 애셋이 포함되지 않은 맞춤 네이티브 광고 형식으로 Open Measurement를 사용하려는 경우 Open Measurement API를 직접 호출해야 합니다.

동영상 애셋과 함께 맞춤 네이티브 광고 형식을 사용하는 경우 이 가이드를 따르지 않아도 됩니다. 모바일 광고 SDK가 사용자를 대신하여 동영상 애셋의 조회 가능성을 추적합니다.

광고 로드하기

광고 로드는 Open Measurement 사용 여부와 관계없이 동일합니다. 다음은 맞춤 네이티브 광고를 요청하는 방법을 보여주는 메서드입니다.

Java

private void loadCustomNativeAd(Context context, ViewGroup nativeCustomFormatAdContainer) {

  AdLoader adLoader =
      new AdLoader.Builder(context, "AD_UNIT_ID")
          .forCustomFormatAd(
              "CUSTOM_TEMPLATE_ID",
              new NativeCustomFormatAd.OnCustomFormatAdLoadedListener() {
                @Override
                public void onCustomFormatAdLoaded(@NonNull NativeCustomFormatAd ad) {
                  // Show the ad first and then register your view and begin open measurement.
                  // Make sure to do this on the main thread.

                  // ...
                  // Show ad
                  // ...

                  startOpenMeasurement(ad, nativeCustomFormatAdContainer);
                }
              },
              new NativeCustomFormatAd.OnCustomClickListener() {
                @Override
                public void onCustomClick(NativeCustomFormatAd ad, String assetName) {
                  // Handle the click action
                }
              })
          .build();
  adLoader.loadAd(new AdRequest.Builder().build());
}

Kotlin

private fun loadCustomNativeAd(context: Context, nativeCustomFormatAdContainer: ViewGroup) {
  val adLoader =
    AdLoader.Builder(context, "AD_UNIT_ID")
      .forCustomFormatAd(
        "CUSTOM_TEMPLATE_ID",
        NativeCustomFormatAd.OnCustomFormatAdLoadedListener { ad ->
          // Show the ad first and then register your view and begin open measurement. Make sure
          // to do this on the main thread.

          // ...
          // Show ad
          // ...

          startOpenMeasurement(ad, nativeCustomFormatAdContainer)
        },
        NativeCustomFormatAd.OnCustomClickListener { ad, assetName ->
          // Handle the click action.
        },
      )
      .build()

  adLoader.loadAd(AdRequest.Builder().build())
}

AD_UNIT_IDCUSTOM_TEMPLATE_ID를 광고 단위 ID 및 맞춤 템플릿 ID로 바꿉니다.

뷰 등록 및 측정 시작

맞춤 네이티브 광고에서 Open Measurement를 사용 설정하려면 먼저 광고를 표시한 다음 맞춤 네이티브 광고와 연결된 DisplayOpenMeasurement 객체에 맞춤 광고 뷰를 등록합니다. DisplayOpenMeasurement 객체는 컨테이너 뷰를 Open Measurement에 등록하는 setView() 메서드를 제공합니다.

또한 SDK에 광고 측정을 시작하도록 명시적으로 알려야 합니다. 이를 수행하려면 맞춤 네이티브 광고의 DisplayOpenMeasurement 객체에서 start() 메서드를 호출합니다. start() 메서드는 기본 스레드에서 호출해야 하며 후속 호출은 아무런 효과가 없습니다.

그 모습은 다음과 같습니다.

Java

private void startOpenMeasurement(
    NativeCustomFormatAd ad, ViewGroup nativeCustomFormatAdContainer) {
  DisplayOpenMeasurement displayOpenMeasurement = ad.getDisplayOpenMeasurement();
  if (displayOpenMeasurement != null) {
    displayOpenMeasurement.setView(nativeCustomFormatAdContainer);
    displayOpenMeasurement.start();
  }
}

Kotlin

private fun startOpenMeasurement(
  ad: NativeCustomFormatAd,
  nativeCustomFormatAdContainer: ViewGroup,
) {
  ad.getDisplayOpenMeasurement()?.let { displayOpenMeasurement ->
    displayOpenMeasurement.setView(nativeCustomFormatAdContainer)
    displayOpenMeasurement.start()
  }
}

조회를 등록하기 전에 광고를 게재해야 합니다. 광고 게재는 맞춤 네이티브 광고 형식에서 다룹니다.

customTemplateAdFrame 레이아웃은 맞춤 네이티브 광고의 광고 컨테이너이며 뷰의 경계 상자 내에 모든 확장 소재가 포함되어야 합니다.

IAB로 인증

앱이 출시되면 측정 데이터가 수신되지만 IAB 인증 절차를 완료할 때까지 데이터가 인증되지 않습니다.