多媒體廣告類型的原生自訂廣告格式和 Open Measurement

本指南說明如何將自訂原生廣告格式與開放式評估整合。

必要條件

繼續操作前,請先執行下列工作:

整合

如果您打算搭配使用開放式評估和不含影片素材資源的自訂原生廣告格式,請自行呼叫 Open Measurement API。

如果您使用含有影片素材資源的自訂原生廣告格式,則不必按照本指南操作,Mobile Ads SDK 會代您追蹤影片素材資源的可視度。

載入廣告

無論是否使用開放式評估,廣告載入方式都相同。以下方法示範如何要求自訂原生廣告:

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。

註冊檢視畫面並開始評估

如要在自訂原生廣告上啟用開放式評估,請先顯示廣告,然後使用與自訂原生廣告相關聯的 DisplayOpenMeasurement 物件,註冊自訂廣告檢視畫面。DisplayOpenMeasurement 物件提供 setView() 方法,可向 Open Measurement 註冊容器檢視區塊。

您也必須明確告知 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 認證程序,資料才會獲得認證。