Direktzugriff für Ad Exchange einrichten

Das Google Mobile Ads SDK unterstützt die Monetarisierung Ihrer Apps mit einer Ad Exchange-Property. In diesem Leitfaden 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 (wird in der Ad Manager-Benutzeroberfläche angezeigt) über ein <meta-data>-Tag mit android:name="com.google.android.gms.ads.APPLICATION_ID" hinzu. 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>

Hinweis: Wenn das <meta-data>-Tag nicht wie oben gezeigt hinzugefügt wird, führt dies zu einem Absturz mit der Meldung:

Missing application ID.

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

Anzeige aus Ad Exchange laden

Sie können in Ihrer App anstelle einer Anzeigenblock-ID einen Ad Exchange-Web-Property-Code mit einem abschließenden Schrägstrich verwenden.

So laden Sie beispielsweise eine Banneranzeige, indem Sie im Layout für die Activity eine AdManagerAdView platzieren:

# main_activity.xml
...
  <com.google.android.gms.ads.admanager.AdManagerAdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adManagerAdView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-mb-app-pub-5629679302779023/">
  </com.google.android.gms.ads.admanager.AdManagerAdView>

Wenn Sie dem Code der Ad Exchange-Web-Property keinen abschließenden Schrägstrich hinzufügen, wie oben gezeigt, führt dies zu einem Anzeigenanfragefehler mit der Meldung:

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

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

Alternativ können Sie eine AdManagerAdView programmatisch erstellen:

AdManagerAdView adView = new AdManagerAdView(this);

adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");

// TODO: Add adView to your view hierarchy.
val adView = AdManagerAdView(this)

adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"

// TODO: Add adView to your view hierarchy.

Sobald die AdManagerAdView eingerichtet ist, können Sie die Methode loadAd() in der Klasse AdManagerAdView aufrufen und das Verhalten Ihrer Anzeige mithilfe von Anzeigenereignissen anpassen.

Geschafft! In Ihrer App können jetzt Banneranzeigen von Ad Exchange geladen und ausgeliefert werden.

Außerdem können Sie mit einer Ad Exchange-Web-Property andere Anzeigenformate aus Ad Exchange laden und anzeigen. Folgen Sie dazu den entsprechenden Anleitungen:

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

Sie können die Funktion „Mindestpreise“ beantragen.

Nach der Genehmigung können Sie mit den Parametern pubf und pvtf einen öffentlichen oder privaten Bereich in die Anzeigenanfrage aufnehmen. Ersetzen Sie im folgenden Codebeispiel „123“ durch die Mindestpreise (in Mikros) und die Standardwährung Ihres Netzwerks. Beispiel für die Anwendung von Mikrobeträgen: Wenn Ihre Standardwährung der US-Dollar ist, entspricht die Eingabe von „6000000“ einem Betrag von 6,00 $.

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

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
    .build();