Cette page explique comment initialiser le SDK GMA Next Gen.
Avant de commencer
Pour utiliser le SDK GMA nouvelle génération, vous devez effectuer l'intégration sans médiation ou utiliser AdMob comme plate-forme de médiation. Les autres plates-formes de médiation ne sont pas compatibles avec le SDK GMA nouvelle génération.
Configurer votre build pour le SDK GMA Next Gen
Les sections suivantes vous expliquent comment configurer le SDK GMA Next Gen.
Inclure la dépendance du SDK GMA Next Gen
Le SDK GMA nouvelle génération nécessite une dépendance Gradle différente. Dans le fichier de build au niveau de l'application, supprimez la référence à la dépendance actuelle du SDK Mobile Ads et incluez le nouvel artefact.
| Dépendances Gradle | |
|---|---|
| Actuel |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
| SDK GMA nouvelle génération |
Kotlindependencies { // ... // 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") } Groovydependencies { // ... // 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' } |
Exclure les modules com.google.android.gms dans les intégrations de médiation
Les adaptateurs de médiation continuent de dépendre du SDK Mobile Ads actuel. Toutefois, le SDK GMA nouvelle génération inclut toutes les classes requises par les adaptateurs de médiation. Pour éviter les erreurs de compilation liées aux symboles en double, vous devez empêcher l'extraction du SDK Mobile Ads actuel en tant que dépendance par les adaptateurs de médiation.
Dans le fichier de compilation au niveau de l'application, excluez globalement les modules play-services-ads et play-services-ads-lite de toutes les dépendances.
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") } }
Définir les niveaux d'API Android minimal et de compilation
Le SDK GMA nouvelle génération nécessite un niveau d'API Android minimal de 24 et un niveau d'API Android de compilation de 34. Ajustez les valeurs minSdk et compileSdk dans le fichier build au niveau de l'application sur 24 ou plus et 34 ou plus, respectivement.
Initialiser le SDK GMA Next Gen
Le SDK GMA nouvelle génération nécessite une initialisation avant le chargement des annonces. Il s'agit d'un changement par rapport au SDK Mobile Ads actuel, où l'initialisation est facultative, mais recommandée. Mettez à jour votre code si vous n'initialisiez pas le SDK avant de charger les annonces.
Cette section décrit les différences d'implémentation de l'initialisation du SDK entre le SDK actuel et le SDK GMA nouvelle génération.
Définir l'ID d'application AdMob
Les exemples suivants définissent l'ID d'application AdMob dans le SDK actuel et le SDK GMA Next Gen :
| Actuel |
L'intégration nécessite une balise <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> |
| SDK GMA nouvelle génération |
Fournissez l'ID de votre application AdMob par programmation lors de l'initialisation du SDK. 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 -> {}); |
Examiner les modifications apportées à l'implémentation
Les exemples suivants initialisent le SDK actuel et le SDK GMA Next Gen :
| Actuel |
Appelez 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(); } } |
| SDK GMA nouvelle génération |
Appelez
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(); } } |