AdMob Mediation ist eine Funktion, mit der Sie in Ihren Apps Anzeigen aus verschiedenen Quellen bereitstellen können, darunter das AdMob-Werbenetzwerk, Werbenetzwerke von Drittanbietern und AdMob-Kampagnen. Mithilfe von AdMob Mediation können Sie die Ausführungsrate maximieren und die Monetarisierung verbessern, indem Anzeigenanfragen an mehrere Werbenetzwerke gesendet werden. So wird das verfügbare Werbenetzwerk ermittelt, das sich am besten für die Auslieferung Ihrer Anzeigen eignet. Fallstudie.
Voraussetzungen
Bevor Sie die Vermittlung für ein Anzeigenformat einbinden können, müssen Sie dieses Anzeigenformat in Ihre App einbinden:
- Banneranzeigen
- Interstitial-Anzeigen
- Native Anzeigen
- Anzeigen mit Prämie
- Interstitial-Anzeigen mit Prämie
Neu bei der Vermittlung? AdMob Mediation – Übersicht
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 Vermittlungs- und Gebotsadapter 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. AdView
) 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.
Vermittlung von Banneranzeigen
Deaktivieren Sie die Aktualisierung in allen Benutzeroberflächen von Drittanbieter-Werbenetzwerken für Banneranzeigenblöcke, die in AdMob Mediation verwendet werden. Dadurch wird eine doppelte Aktualisierung verhindert, da AdMob diese anhand der Aktualisierungsrate des Banneranzeigenblocks auslöst.
Vermittlung für native Anzeigen
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 vonloadAds()
verwenden- Mit der Methode
loadAds()
werden nur Google Anzeigen ausgeliefert. Für vermittelte Anzeigen verwenden Sie stattdessenloadAd()
.
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 DSGVO-Werbepartner 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)