Benutzerdefinierte native Displayanzeigenformate und Open Measurement

In diesem Leitfaden wird beschrieben, wie Sie benutzerdefinierte native Anzeigenformate in Open Measurement einbinden.

Vorbereitung

Führen Sie vor dem Fortfahren 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 für Sie.

Anzeige laden

Das Laden einer Anzeige ist unabhängig davon, ob Sie Open Measurement verwenden, gleich. 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 mit der Analyse beginnen

Wenn Sie Open Measurement für eine benutzerdefinierte native Anzeige aktivieren möchten, blenden Sie die Anzeige zuerst ein und registrieren Sie dann die benutzerdefinierte Anzeigenansicht mit dem DisplayOpenMeasurement-Objekt, das der benutzerdefinierten nativen Anzeige zugeordnet ist. Das DisplayOpenMeasurement-Objekt bietet die setView()-Methode zum Registrieren Ihrer Containeransicht für Open Measurement.

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 über den 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()
  }
}

Die Anzeige sollte ausgeliefert werden, bevor der Aufruf registriert wird. Die Auslieferung Ihrer Anzeige wird unter Benutzerdefinierte native Anzeigenformate beschrieben.

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

IAB-Zertifizierung

Sobald Sie Ihre App veröffentlicht haben, erhalten Sie Messdaten. Ihre Daten werden jedoch erst zertifiziert, wenn Sie die IAB-Zertifizierung abgeschlossen haben.