Auf dieser Seite finden Sie eine Anleitung zum Initialisieren von GMA Next-Gen SDK.
Hinweis
Dieser Leitfaden richtet sich an Publisher und Drittanbieterplattformen, die GMA Next-Gen SDK direkt einbinden.
Wenn Sie über eine Drittanbieter-Vermittlungsplattform, die Gebote von Partnern unterstützt, eine Verbindung zu AdMob herstellen, prüfen Sie in der folgenden Tabelle, ob die Plattform mit GMA Next-Gen SDK kompatibel ist.
| Vermittlungsplattform | Kompatibel mit GMA Next-Gen SDK |
|---|---|
| AdMost | |
| AppLovin MAX | |
| Chartboost Mediation | |
| DT Fairbid | |
| Gravite | |
| Nimbus | |
| TopOn | |
| TradPlus VisiM | |
| Unity LevelPlay |
Wenn Sie eine Vermittlungsplattform verwenden möchten, die nicht mit GMA Next-Gen SDK kompatibel ist, wenden Sie sich an den Support der Vermittlungsplattform.
Build für GMA Next-Gen SDK konfigurieren
In den folgenden Abschnitten werden die erforderlichen Schritte zum Konfigurieren von GMA Next-Gen SDK beschrieben.
GMA Next-Gen SDK-Abhängigkeit einbeziehen
Für das GMA Next-Gen SDK ist eine andere Gradle-Abhängigkeit erforderlich. Entfernen Sie in der Build-Datei auf App-Ebene den Verweis auf die Google Mobile Ads SDK (Legacy) Abhängigkeit und fügen Sie das neue Artefakt ein.
| Gradle-Abhängigkeiten | |
|---|---|
| Google Mobile Ads SDK (Legacy) |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:25.5.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.5.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.5.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.5.0") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.5.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.5.0' } |
com.google.android.gms-Module in Vermittlungsintegrationen ausschließen
Vermittlungsadapter sind weiterhin von Google Mobile Ads SDK (Legacy) abhängig. Das GMA Next-Gen SDK GMA Next-Gen SDK enthält jedoch alle Klassen, die für Vermittlungsadapter erforderlich sind. Um Kompilierungsfehler im Zusammenhang mit doppelten Symbolen zu vermeiden, müssen Sie verhindern, dass Google Mobile Ads SDK (Legacy) von Vermittlungs adaptern als Abhängigkeit abgerufen wird.
Schließen Sie in der Build-Datei auf App-Ebene sowohl play-services-ads als auch
play-services-ads-lite Module global von allen Abhängigkeiten aus.
Kotlin
configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
configurations.configureEach { exclude group: "com.google.android.gms", module: "play-services-ads" exclude group: "com.google.android.gms", module: "play-services-ads-lite" }
Android-API-Mindestlevel und -Kompilierungslevel festlegen
GMA Next-Gen SDK erfordert ein Android-API-Mindestlevel von 24 und ein
Android-API-Kompilierungslevel von 34. Passen Sie die Werte für minSdk und compileSdk in der Build-Datei auf App-Ebene auf 24 oder höher bzw. 34 oder höher an.
GMA Next-Gen SDK initialisieren
GMA Next-Gen SDK muss initialisiert werden, bevor Anzeigen geladen werden. Das ist ein Unterschied zum Google Mobile Ads SDK (Legacy), bei dem die Initialisierung optional, aber empfehlenswert ist. Aktualisieren Sie Ihren Code, wenn Sie das SDK bisher nicht initialisiert haben, bevor Sie Anzeigen geladen haben.
In diesem Abschnitt werden die Unterschiede bei der Implementierung der SDK-Initialisierung zwischen Google Mobile Ads SDK (Legacy) und GMA Next-Gen SDK beschrieben.
AdMob-App-ID festlegen
In den folgenden Beispielen wird die AdMob-App-ID in Google Mobile Ads SDK (Legacy) und GMA Next-Gen SDK festgelegt:
| Google Mobile Ads SDK (Legacy) |
Für die Einbindung ist ein <manifest> <application> <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="SAMPLE_APP_ID"/> </application> </manifest> |
| GMA Next-Gen SDK |
Geben Sie Ihre AdMob-App-ID programmatisch im Rahmen der SDK-Initialisierung an. Kotlin// Initialize the Google Mobile Ads SDK. val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build() MobileAds.initialize(this@MainActivity, initConfig) {} Java// Initialize GMA Next-Gen SDK. InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
Änderungen an der Implementierung prüfen
In den folgenden Beispielen werden Google Mobile Ads SDK (Legacy) und GMA Next-Gen SDK initialisiert:
| Google Mobile Ads SDK (Legacy) |
Rufen Sie Kotlinimport 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) {} } } } Javaimport com.google.android.gms.ads.MobileAds; 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 -> {}); }) .start(); } } |
| GMA Next-Gen SDK |
Rufen Sie
Kotlinimport com.google.android.libraries.ads.mobile.sdk.MobileAds import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig 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 GMA Next-Gen SDK on a background thread. MobileAds.initialize( this@MainActivity, // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 InitializationConfig.Builder("SAMPLE_APP_ID").build() ) { // Adapter initialization is complete. } // SDK initialization is complete. If you don't want to wait for bidding adapters to finish // initializing, start loading ads now. } } } Javaimport com.google.android.libraries.ads.mobile.sdk.MobileAds; import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread( () -> { // Initialize GMA Next-Gen SDK on a background thread. MobileAds.initialize( this, // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 new InitializationConfig.Builder("SAMPLE_APP_ID") .build(), initializationStatus -> { // Adapter initialization is complete. }); // SDK initialization is complete. If you don't want to wait for bidding adapters to // finish initializing, start loading ads now. }) .start(); } } |