En esta página, se incluyen las instrucciones para inicializar el SDK de GMA Next Gen.
Antes de comenzar
Para usar el SDK de GMA de nueva generación, debes realizar la integración sin mediación o usar AdMob como plataforma de mediación. Las otras plataformas de mediación no son compatibles con el SDK de GMA Next Gen.
Configura tu compilación para el SDK de GMA Next Gen
En las siguientes secciones, se muestran los pasos necesarios para configurar el SDK de GMA Next Gen.
Incluye la dependencia del SDK de GMA Next Gen
El SDK de GMA Next Gen requiere una dependencia de Gradle diferente. En el archivo de compilación a nivel de la app, quita la referencia a la dependencia actual del SDK de anuncios para dispositivos móviles y, luego, incluye el nuevo artefacto.
| Dependencias de Gradle | |
|---|---|
| Actual |
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 de GMA Next Gen |
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' } |
Excluye los módulos de com.google.android.gms en las integraciones de mediación
Los adaptadores de mediación siguen dependiendo del SDK de anuncios para dispositivos móviles actual. Sin embargo, el SDK de GMA de nueva generación incluye todas las clases que requieren los adaptadores de mediación. Para evitar errores de compilación relacionados con símbolos duplicados, debes excluir el SDK de anuncios para dispositivos móviles actual para que los adaptadores de mediación no lo extraigan como dependencia.
En el archivo de compilación a nivel de la app, excluye los módulos play-services-ads y play-services-ads-lite de forma global de todas las dependencias.
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") } }
Cómo configurar los niveles de API de Android mínimos y de compilación
El SDK de GMA Next Gen requiere un nivel de API de Android mínimo de 24 y un nivel de API de Android de compilación de 34. Ajusta los valores de minSdk y compileSdk en el archivo de compilación a nivel de la app a 24 o más y 34 o más, respectivamente.
Inicializa el SDK de GMA Next Gen
El SDK de GMA de nueva generación requiere inicialización antes de cargar anuncios, un cambio con respecto al SDK de anuncios para dispositivos móviles actual, en el que la inicialización es opcional, pero recomendada. Actualiza tu código si no inicializabas el SDK antes de cargar anuncios.
En esta sección, se explican las diferencias en la implementación de la inicialización del SDK entre el SDK actual y el SDK de GMA Next Gen.
Cómo establecer el ID de la aplicación de AdMob
En los siguientes ejemplos, se establece el ID de la app de AdMob en el SDK actual y en el SDK de GMA de nueva generación:
| Actual |
La integración requiere una etiqueta <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 de GMA Next Gen |
Proporciona tu ID de aplicación de AdMob de forma programática como parte de la inicialización del 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 -> {}); |
Revisa los cambios en la implementación
En los siguientes ejemplos, se inicializan el SDK actual y el SDK de GMA de nueva generación:
| Actual |
Llama a 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 de GMA Next Gen |
Llama a 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(); } } |