Mit AdMob Mediation können Sie Anzeigen aus verschiedenen Quellen in Ihren Apps ausliefern, zum Beispiel aus dem AdMob-Werbenetzwerk und aus Anzeigenquellen von Drittanbietern. Mit AdMob Mediation lassen sich Ausführungsrate und Monetarisierung optimieren, da Anzeigenanfragen an mehrere Werbenetzwerke gesendet werden. So kann das Werbenetzwerk ermittelt werden, das sich am besten für die Bereitstellung der Anzeigen eignet. Fallstudie.
Vorbereitung
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 Vermittlungsadapter initialisiert. Es ist wichtig, dass Sie warten, bis die Initialisierung abgeschlossen ist, bevor Sie Anzeigen laden. So wird sichergestellt, dass alle Werbenetzwerke an der ersten Anzeigenanfrage teilnehmen.
Im folgenden Beispielcode wird gezeigt, wie Sie den Initialisierungsstatus jedes Adapters prüfen, bevor Sie eine Anzeigenanfrage senden.
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...
}
}
}
}
Prüfen, welche Adapterklasse des Werbenetzwerks die Anzeige geladen hat
Im folgenden Beispiel wird der Name der Werbenetzwerkklasse für eine Banneranzeige protokolliert:
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 weitergegeben. 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 AdMob Mediation verwenden
Deaktivieren Sie die Aktualisierung in allen UIs von Drittanbieter-Anzeigenquellen für Banneranzeigenblöcke, die in AdMob Mediation verwendet werden. So wird verhindert, dass eine Aktualisierung doppelt ausgeführt wird, da AdMob auch eine Aktualisierung basierend auf der Aktualisierungsrate Ihres Banneranzeigenblocks auslöst.
Native Anzeigen mit AdMob Mediation verwenden
Im Folgenden finden Sie einige Best Practices für die Implementierung nativer Anzeigen in AdMob Mediation.
- Richtlinie zur Präsentation nativer Anzeigen
- Jedes Werbenetzwerk hat 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
loadAds()
-Methode werden nur Google-Anzeigen ausgeliefert. Verwenden Sie für vermittelte Anzeigen stattdessenloadAd()
.
Datenschutzgesetze von US-Bundesstaaten und DSGVO
Wenn Sie die Datenschutzgesetze von US-Bundesstaaten oder die EU-Datenschutz-Grundverordnung (DSGVO) einhalten müssen, folgen Sie der Anleitung unter Einstellungen für Verordnungen von US-Bundesstaaten oder Einstellungen für die DSGVO, um Ihre Vermittlungspartner in die Liste der Werbepartner für US-Bundesstaaten oder die DSGVO-Liste der Werbepartner in AdMob unter „Datenschutz und Mitteilungen“ hinzuzufügen. Andernfalls können Partner 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)