Mehr erfahren

In diesem Leitfaden erfahren Sie, wie Sie einen Vermittlungsadapter in Ihre Android-App einbinden.

Voraussetzungen

Bevor Sie die Vermittlung für ein Anzeigenformat einbinden können, müssen Sie dieses Anzeigenformat in Ihre App einbinden:

Neu bei der Vermittlung? Einführung in die Vermittlung

Für Gebote: Google Mobile Ads SDK 18.3.0 oder höher.

Mobile Ads SDK initialisieren

In der Kurzanleitung erfahren Sie, wie Sie das Mobile Ads SDK initialisieren. Während dieses Initialisierungsaufrufs werden auch die Vermittlungsadapter initialisiert. Warten Sie mit dem Laden von Anzeigen, bis die Initialisierung abgeschlossen ist, damit jedes Werbenetzwerk bei der ersten Anzeigenanfrage vollständig berücksichtigt wird.

Der folgende Beispielcode zeigt, wie Sie den Initialisierungsstatus jedes Adapters überprüfen können, bevor Sie eine Anzeigenanfrage stellen.

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new Thread(
                () ->
                    // Initialize the Google Mobile Ads SDK on a background thread.
                    MobileAds.initialize(
                        this,
                        initializationStatus -> {
                          Map<String, AdapterStatus> statusMap =
                              initializationStatus.getAdapterStatusMap();
                          for (String adapterClass : statusMap.keySet()) {
                            AdapterStatus status = statusMap.get(adapterClass);
                            Log.d(
                                "MyApp",
                                String.format(
                                    "Adapter name: %s, Description: %s, Latency: %d",
                                    adapterClass, status.getDescription(), status.getLatency()));
                          }
                          // Start loading ads here...
                        }))
            .start();
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) { initializationStatus ->
        val statusMap =
          initializationStatus.adapterStatusMap
        for (adapterClass in statusMap.keys) {
          val status = statusMap[adapterClass]
          Log.d(
            "MyApp", String.format(
              "Adapter name: %s, Description: %s, Latency: %d",
              adapterClass, status!!.description, status.latency
            )
          )
        }
        // Start loading ads here...
      }
    }
  }
}

Überprüfen, mit welcher Adapterklasse für das Werbenetzwerk die Anzeige geladen wurde

Hier ist ein Beispielcode, mit dem der Klassenname eines Werbenetzwerks für eine Banneranzeige protokolliert wird:

Java

public void onAdLoaded() {
  Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}

Kotlin

override fun onAdLoaded() {
  Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}

Weitere Informationen zu dieser Methode finden Sie in der ResponseInfo-Dokumentation zu getMediationAdapterClassName().

Anzeigenobjekt mit einer Activity-Instanz initialisieren

Im Konstruktor für ein neues Anzeigenobjekt (z. B. AdManagerAdView) müssen Sie ein Objekt vom Typ Context übergeben. Dieser Context wird bei Verwendung der Vermittlung an andere Werbenetzwerke übergeben. In einigen Werbenetzwerken ist eine restriktivere Context vom Typ Activity erforderlich. In diesen Netzwerken können möglicherweise keine Anzeigen ohne Activity-Instanz ausgeliefert werden. Daher empfehlen wir, beim Initialisieren von Anzeigenobjekten eine Activity-Instanz zu übergeben, um für eine konsistente Nutzererfahrung in den vermittelten Werbenetzwerken zu sorgen.

Banneranzeigen mit Vermittlung verwenden

Deaktivieren Sie die Aktualisierung in allen UIs von Drittanbieter-Anzeigenquellen für Banneranzeigenblöcke, die bei der Vermittlung verwendet werden. Dadurch wird eine doppelte Aktualisierung verhindert, weil auch Ad Manager eine Aktualisierung basierend auf der Aktualisierungsrate des Banneranzeigenblocks auslöst.

Native Anzeigen mit Vermittlung verwenden

Im Folgenden finden Sie einige Best Practices für die Implementierung der nativen Vermittlung.

Richtlinie zur Darstellung nativer Anzeigen
Für jedes Werbenetzwerk gelten eigene Richtlinien. Wenn Sie die Vermittlung verwenden, muss Ihre App dennoch den Richtlinien des vermittelten Netzwerks entsprechen, von dem die Anzeige bereitgestellt wurde.
loadAd() anstelle von loadAds() verwenden
Mit der Methode loadAds() werden nur Google Anzeigen ausgeliefert. Für vermittelte Anzeigen verwenden Sie stattdessen loadAd().

Datenschutzgesetze von US-Bundesstaaten und DSGVO

Wenn Sie die Datenschutzgesetze der US-Bundesstaaten oder die EU-Datenschutz-Grundverordnung (DSGVO) einhalten müssen, folgen Sie der Anleitung in den Einstellungen für Verordnungen von US-Bundesstaaten oder in den DSGVO-Einstellungen, um Ihre Vermittlungspartner in die Liste der US-Bundesstaaten oder der DSGVO-Werbepartner von Ad Manager aufzunehmen. Andernfalls können Partner unter Umständen keine Anzeigen in Ihrer App ausliefern.

Weitere Informationen zum Aktivieren der eingeschränkten Datenverarbeitung und zum Einholen der DSGVO-Einwilligung mit dem UMP SDK (Google User Messaging Platform)