En esta página, se incluyen las instrucciones para inicializar el SDK de anuncios de Google para dispositivos móviles (beta).
Antes de comenzar
Para usar el SDK de anuncios de Google Mobile (beta), 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 anuncios de Google para dispositivos móviles (beta).
Configura tu compilación para el SDK de anuncios de Google para dispositivos móviles (beta)
En las siguientes secciones, se muestran los pasos necesarios para configurar el SDK de anuncios de Google para dispositivos móviles (beta).
Incluye la dependencia del SDK de anuncios de Google para dispositivos móviles (beta)
El SDK de anuncios de Google para dispositivos móviles (beta) 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 anuncios de Google para dispositivos móviles (beta) |
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 anuncios de Google para dispositivos móviles (beta) 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 anuncios de Google para dispositivos móviles (beta) 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 anuncios de Google para dispositivos móviles (beta)
El SDK de anuncios de Google para dispositivos móviles (beta) requiere inicialización antes de cargar anuncios, lo que representa 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 anuncios de Google para dispositivos móviles (beta).
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 anuncios de Google para dispositivos móviles (beta):
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 anuncios de Google para dispositivos móviles (beta) |
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 Google Mobile Ads SDK (beta). 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 anuncios de Google para dispositivos móviles (beta):
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 anuncios de Google para dispositivos móviles (beta) |
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 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. } } } 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 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(); } } |