SDK initialisieren

Auf dieser Seite finden Sie eine Anleitung zum Initialisieren des Google Mobile Ads SDK (Beta).

Hinweis

Wenn Sie das Google Mobile Ads SDK (Beta) verwenden möchten, müssen Sie es entweder ohne Vermittlung integrieren oder AdMob als Vermittlungsplattform nutzen. Die anderen Vermittlungsplattformen sind nicht mit dem Google Mobile Ads SDK (Beta) kompatibel.

Build für das Google Mobile Ads SDK (Beta) konfigurieren

In den folgenden Abschnitten wird beschrieben, wie Sie das Google Mobile Ads SDK (Beta) konfigurieren.

Google Mobile Ads SDK (Beta) als Abhängigkeit einbinden

Für das Google Mobile Ads SDK (Beta) 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

Kotlin

dependencies {
  // ...
  implementation("com.google.android.gms:play-services-ads:24.7.0")
}

Groovy

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-ads:24.7.0'
}
Google Mobile Ads SDK (Beta)

Kotlin

dependencies {
  // ...
  // Comment out/remove play-services-ads.
  // implementation("com.google.android.gms:play-services-ads:24.7.0")
  implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01")
}

Groovy

dependencies {
  // ...
  // Comment out/remove play-services-ads.
  // implementation 'com.google.android.gms:play-services-ads:24.7.0'
  implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01'
}

com.google.android.gms-Module in Vermittlungsintegrationen ausschließen

Vermittlungsadapter sind weiterhin vom aktuellen Mobile Ads SDK abhängig. Das Google Mobile Ads SDK (Beta) enthält jedoch alle Klassen, die für Vermittlungsadapter erforderlich sind. 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.all {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

Groovy

configurations {
  all {
    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

Für das Google Mobile Ads SDK (Beta) ist ein Android-API-Mindestlevel von 24 und ein Android-API-Kompilierungslevel von 34 erforderlich. Passen Sie die Werte für minSdk und compileSdk in der Build-Datei auf App-Ebene auf mindestens 24 bzw. 34 an.

Google Mobile Ads SDK (Beta) initialisieren

Das Google Mobile Ads SDK (Beta) muss initialisiert werden, bevor Anzeigen geladen werden können. 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 Google Mobile Ads SDK (Beta) behandelt.

AdMob-App-ID festlegen

In den folgenden Beispielen wird die AdMob-App-ID im aktuellen und im Google Mobile Ads SDK (Beta) festgelegt:

Aktuell

Für die Einbindung ist ein <meta-data>-Tag mit android:name="com.google.android.gms.ads.APPLICATION_ID" erforderlich, das die AdMob-App-ID in der Datei „AndroidManifest.xml“ Ihrer App enthält.

<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>
Google Mobile Ads SDK (Beta)

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 Google Mobile Ads SDK (beta).
InitializationConfig initConfig =
    new InitializationConfig.Builder("SAMPLE_APP_ID").build();
MobileAds.initialize(this, initConfig, initializationStatus -> {});

Implementierungsänderungen prüfen

In den folgenden Beispielen wird das aktuelle und das Google Mobile Ads SDK (Beta) initialisiert:

Aktuell

Rufen Sie MobileAds.initialize() auf, um das Google Mobile Ads SDK zu initialisieren. Die Initialisierung in einem Hintergrundthread wird empfohlen, um ANR-Fehler zu reduzieren.

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) {}
    }
  }
}

Java

import 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();
  }
}
Google Mobile Ads SDK (Beta)

Rufen Sie MobileAds.initialize() auf, um das Google Mobile Ads SDK (Beta) zu initialisieren. Diese Methode muss in einem Hintergrundthread aufgerufen werden. Andernfalls kann es zu einem ANR-Fehler („Application Not Responding“/„App antwortet nicht“) kommen.

Kotlin

import 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 Google Mobile Ads SDK (beta) 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.
    }
  }
}

Java

import 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 Google Mobile Ads SDK (beta) 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();
  }
}