Niestandardowe formaty reklam natywnych typu displayowego i otwarta usługa pomiarowa

Z tego przewodnika dowiesz się, jak zintegrować niestandardowe formaty reklam natywnych z otwartym pomiarem.

Wymagania wstępne

Zanim przejdziesz dalej:

Integracja

Jeśli planujesz używać otwartego pomiaru w przypadku niestandardowych formatów reklam natywnych, które nie zawierają komponentu wideo, musisz samodzielnie wywoływać interfejsy Open Measurement API.

Jeśli używasz niestandardowych formatów reklam natywnych z elementem wideo, nie musisz postępować zgodnie z tym przewodnikiem. Pakiet SDK do reklam mobilnych śledzi widoczność elementu wideo w Twoim imieniu.

Wczytywanie reklamy

Wczytywanie reklamy jest takie samo niezależnie od tego, czy używasz otwartego pomiaru. Oto metoda, która pokazuje, jak wysłać żądanie dotyczące niestandardowej reklamy natywnej:

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())
}

Zastąp symbole AD_UNIT_IDCUSTOM_TEMPLATE_ID identyfikatorem jednostki reklamowej i identyfikatorem szablonu niestandardowego.

Zarejestruj widok i rozpocznij pomiary

Aby włączyć otwarty pomiar w przypadku niestandardowej reklamy natywnej, najpierw wyświetl reklamę, a potem zarejestruj niestandardowy widok reklamy za pomocą obiektu DisplayOpenMeasurement powiązanego z niestandardową reklamą natywną. Obiekt DisplayOpenMeasurement udostępnia metodę setView() rejestrowania widoku kontenera w otwartym pomiarze.

Musisz też wyraźnie poinformować pakiet SDK, aby rozpoczął pomiar reklamy. Aby to zrobić, wywołaj metodę start() na obiekcie DisplayOpenMeasurement niestandardowej reklamy natywnej. Metodę start() należy wywoływać z głównego wątku, a kolejne wywołania nie mają żadnego efektu.

Jak to wygląda:

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()
  }
}

Pamiętaj, że przed zarejestrowaniem wyświetlenia musisz wyświetlić reklamę. Wyświetlanie reklamy opisujemy w sekcji Niestandardowe formaty reklam natywnych.

customTemplateAdFrameUkład to kontener reklamy w przypadku niestandardowej reklamy natywnej. Musi on zawierać wszystkie komponenty w ramach pola widoku.

Certyfikat IAB

Po opublikowaniu aplikacji zaczniesz otrzymywać dane pomiarowe, ale nie zostaną one certyfikowane, dopóki nie przejdziesz procesu certyfikacji IAB.