In diesem Leitfaden erfahren Sie, wie Sie einen Vermittlungsadapter in Ihre Android-App einbinden.
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? 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...
}
}
}
}
Prüfen, welche Adapterklasse des Werbenetzwerks die Anzeige geladen hat
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 auf getMediationAdapterClassName()
.
Anzeigenobjekt mit einer Aktivitäts-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 weitergegeben. Einige Werbenetzwerke erfordern eine strengere Context
vom Typ Activity
und können ohne Activity
-Instanz möglicherweise keine Anzeigen ausliefern. Wir empfehlen daher, beim Initialisieren von Anzeigenobjekten eine Activity
-Instanz zu übergeben, um für eine einheitliche Nutzung Ihrer vermittelten Anzeigennetzwerke zu sorgen.
Banneranzeigen mit Vermittlung verwenden
Deaktivieren Sie die Aktualisierung in allen UIs von Drittanbieter-Anzeigenquellen für Banneranzeigenblöcke, die in der Vermittlung verwendet werden. So wird verhindert, dass eine Aktualisierung doppelt ausgeführt wird, da Ad Manager auch eine Aktualisierung basierend auf der Aktualisierungsrate Ihres 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. Bei der Vermittlung ist es wichtig, dass Ihre App weiterhin den Richtlinien des vermittelten Werbenetzwerks entspricht, das die Anzeige bereitgestellt hat.
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 die DSGVO
Wenn Sie die Datenschutzgesetze der 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 Ad Manager unter „Datenschutz und Mitteilungen“ 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