Auf dieser Seite finden Sie eine Anleitung zum Initialisieren von GMA Next-Gen SDK.
Hinweis
Wenn Sie GMA Next-Gen SDK verwenden möchten, müssen Sie entweder die Integration ohne Vermittlung vornehmen oder AdMob als Vermittlungsplattform nutzen. Die anderen Vermittlungsplattformen sind nicht mit GMA Next-Gen SDK kompatibel.
Build für GMA Next-Gen SDK konfigurieren
In den folgenden Abschnitten wird beschrieben, wie Sie GMA Next-Gen SDK konfigurieren.
GMA Next-Gen SDK-Abhängigkeit einbeziehen
Für GMA Next-Gen SDK ist eine andere Gradle-Abhängigkeit erforderlich. Entfernen Sie in der Build-Datei auf App-Ebene den Verweis auf die aktuelle Mobile Ads SDK-Abhängigkeit und fügen Sie das neue Artefakt ein.
| Gradle-Abhängigkeiten | |
|---|---|
| Aktuell |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.9.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.9.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.9.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta04") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.9.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta04' } |
com.google.android.gms-Module in Vermittlungsintegrationen ausschließen
Vermittlungsadapter sind weiterhin vom aktuellen Mobile Ads SDK abhängig. GMA Next-Gen SDK enthält jedoch alle Klassen, die von Vermittlungsadaptern benötigt werden. Um Kompilierungsfehler im Zusammenhang mit doppelten Symbolen zu vermeiden, müssen Sie das aktuelle Mobile Ads SDK ausschließen, damit es nicht als Abhängigkeit von Vermittlungsadaptern abgerufen wird.
Schließen Sie in der Build-Datei auf App-Ebene die Module play-services-ads und play-services-ads-lite global aus 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" }
Mindest- und Ziel-API-Level für Android festlegen
GMA Next-Gen SDK erfordert ein Android-Mindest-API-Level von 24 und ein Android-Kompilierungs-API-Level von 34. Passen Sie die Werte minSdk und compileSdk in der Build-Datei auf App-Ebene auf mindestens 24 bzw. 34 an.
GMA Next-Gen SDK initialisieren
GMA Next-Gen SDK muss initialisiert werden, bevor Anzeigen geladen werden. Das ist eine Änderung gegenüber dem aktuellen Mobile Ads SDK, bei dem die Initialisierung optional, aber empfohlen 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 dem aktuellen und dem GMA Next-Gen SDK beschrieben.
AdMob-App-ID festlegen
In den folgenden Beispielen wird die AdMob-App-ID im aktuellen und GMA Next-Gen SDK festgelegt:
| Aktuell |
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 als Teil 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 -> {}); |
Implementierungsänderungen prüfen
In den folgenden Beispielen werden die aktuelle und GMA Next-Gen SDK initialisiert:
| Aktuell |
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. } // Other methods on MobileAds can now be called. } } } 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. }); // Other methods on MobileAds can now be called. }) .start(); } } |