Direktzugriff für Ad Exchange einrichten

Plattform auswählen: Android Neu ausgewählt Android iOS

Mit dem Google Mobile Ads SDK können Sie Ihre Apps mit einer Ad Exchange Property monetarisieren. In dieser Anleitung erfahren Sie, wie Sie Ihre Apps für alle von Ad Exchange unterstützten Anzeigenformate konfigurieren.

Vorbereitung

App für den Zugriff auf Ad Exchange konfigurieren

Fügen Sie der Datei AndroidManifest.xml Ihrer App Ihre Ad Manager-App-ID hinzu (wird in der Ad Manager Benutzeroberfläche angezeigt). Verwenden Sie dazu ein <meta-data>-Tag mit android:name="com.google.android.gms.ads.APPLICATION_ID". Geben Sie neben android:value Ihre eigene Ad Manager-App-ID ein, umgeben von Anführungszeichen.

<manifest>
    <application>
        <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Beachten Sie auch, dass das Hinzufügen des <meta-data>-Tags, wie oben gezeigt, zu einem Absturz mit der Meldung führt:

Missing application ID.

Als Nächstes können Sie das Google Mobile Ads SDK initialisieren und ein Anzeigenformat auswählen, das angezeigt werden soll. Im Rest dieser Anleitung wird das Bannerformat verwendet, um zu veranschaulichen, wie Sie eine Anzeige aus Ad Exchange laden können. Die gleichen Schritte können für alle Anzeigenformate angewendet werden, die vom Google Mobile Ads SDK unterstützt werden.

Anzeige aus Ad Exchange laden

Sie können anstelle einer Anzeigenblock-ID einen Ad Exchange-Web-Property-Code mit einem nachgestellten Schrägstrich verwenden. Beispiel: ca-mb-app-pub-5629679302779023/.

Im folgenden Beispiel wird der Ad Exchange-Web-Property-Code einer Banneranzeigenanfrage hinzugefügt:

Kotlin

val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()

BannerAd.load(
  adRequest,
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      bannerAd = ad
      activity?.runOnUiThread {
        binding.bannerViewContainer.addView(ad.getView(requireActivity()))
      }
    }
  }
)

Java

BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
    AdSize.BANNER).build();

BannerAd.load(
    adRequest,
    new AdLoadCallback<BannerAd>() {
      @Override
      public void onAdLoaded(@NonNull BannerAd ad) {
        bannerAd = ad;
        runOnUiThread(
            () -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
      }
    });

Beachten Sie, dass das Fehlen eines nachgestellten Schrägstrichs im Ad Exchange-Web-Property-Code zu einem Fehler bei der Anzeigenanfrage mit der folgenden Meldung führt:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Sie können einen Ad Exchange-Web-Property-Code auch in einen Anzeigenblock umwandeln. Generieren Sie anschließend über die Ad Manager-Benutzeroberfläche ein Ad Exchange-Tag und kopieren Sie es in Ihre App. Das generierte Tag sollte den Ad Exchange-Web-Property-Code gefolgt von den Anzeigenblock-IDs der untergeordneten Anzeigenblöcke ohne nachgestellten Schrägstrich enthalten, z. B. ca-mb-app-pub-5629679302779023/banner.

Jetzt weißt du Bescheid. Ihre App ist jetzt bereit, Banneranzeigen aus Ad Exchange zu laden und anzuzeigen.

Außerdem können Sie eine Ad Exchange-Web-Property verwenden, um andere Anzeigenformate aus Ad Exchange zu laden und anzuzeigen. Folgen Sie dazu den entsprechenden Anleitungen:

Mindestpreise hinzufügen (nur für genehmigte Publisher in Europa)

Sie können die Verwendung der Funktion „Mindestpreise“ beantragen.

Nach der Genehmigung können Sie mit den Parametern pubf und pvtf einen öffentlichen oder privaten Mindestpreis in die Anzeigenanfrage einfügen. Ersetzen Sie im folgenden Code beispiel „123“ durch die Mindestpreise (als Millionstel) und die Standardwährung Ihres Netzwerks. Beispiel für die Angabe als Millionstel: Wenn Sie als Standardwährung Euro nutzen und „6000000“ eingeben, entspricht das 6 €.

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();

Java

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();