Benutzerdefinierte native Displayanzeigenformate und Open Measurement

In dieser Anleitung wird erläutert, wie Sie benutzerdefinierte native Anzeigenformate in die Open Measurement-Lösung einbinden.

Vorbereitung

Bevor Sie fortfahren, führen Sie die folgenden Schritte aus:

Integration

Wenn Sie Open Measurement mit benutzerdefinierten nativen Anzeigenformaten verwenden möchten, die kein Video-Asset enthalten, müssen Sie die Open Measurement APIs selbst aufrufen.

Wenn Sie benutzerdefinierte native Anzeigenformate mit einem Video-Asset verwenden, müssen Sie dieser Anleitung nicht folgen. Das Mobile Ads SDK erfasst die Sichtbarkeit des Video-Assets in Ihrem Namen.

Anzeige laden

Das Laden einer Anzeige ist unabhängig davon, ob Sie Open Measurement verwenden oder nicht. Hier ist eine Methode, die zeigt, wie Sie eine benutzerdefinierte native Anzeige anfordern:

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

Ersetzen Sie AD_UNIT_ID und CUSTOM_TEMPLATE_ID durch Ihre Anzeigenblock-ID und benutzerdefinierte Vorlagen-ID.

Ansicht registrieren und Messung starten

Wenn Sie Open Measurement für eine benutzerdefinierte native Anzeige aktivieren möchten, zeigen Sie die Anzeige zuerst an und registrieren Sie dann die benutzerdefinierte Anzeigenansicht mit dem DisplayOpenMeasurement-Objekt, das mit der benutzerdefinierten nativen Anzeige verknüpft ist. Das DisplayOpenMeasurement-Objekt bietet die Methode setView(), mit der Sie Ihre Containeransicht für Open Measurement registrieren können.

Sie müssen dem SDK auch explizit mitteilen, dass die Messung Ihrer Anzeige beginnen soll. Rufen Sie dazu die Methode start() für das DisplayOpenMeasurement-Objekt Ihrer benutzerdefinierten nativen Anzeige auf. Die Methode start() muss aus dem Hauptthread aufgerufen werden. Nachfolgende Aufrufe haben keine Auswirkungen.

Hier sehen Sie das Beispiel eines Testergebnisses:

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

Sie sollten Ihre Anzeige präsentieren, bevor Sie Ihre Ansicht registrieren. Das Präsentieren Ihrer Anzeige wird unter Benutzerdefinierte native Anzeigen Formate beschrieben.

Das Layout customTemplateAdFrame ist der Anzeigencontainer für die benutzerdefinierte native Anzeige und muss alle Assets innerhalb des Begrenzungsrahmens der Ansicht enthalten.

Zertifizierung durch das IAB

Sobald Sie Ihre App veröffentlichen, erhalten Sie Messdaten. Ihre Daten werden jedoch erst zertifiziert, wenn Sie den IAB-Zertifizierungsprozess abgeschlossen haben.