El primer paso para mostrar anuncios y obtener ingresos es integrar el SDK de anuncios de Google para dispositivos móviles en una app. Una vez que hayas integrado el SDK, puedes elegir un formato de anuncio (como nativo o de video recompensado) y seguir los pasos para implementarlo.
Antes de comenzar
Para preparar tu app, completa los pasos que se indican en las siguientes secciones.
Requisitos previos de la app
Asegúrate de que el archivo de compilación de tu app use los siguientes valores:
- Versión mínima del SDK de
21
o una posterior - Compila la versión del SDK de
34
o una posterior
- Versión mínima del SDK de
Configura tu app en tu cuenta de AdMob
Para registrar tu app como una app de AdMob, completa los siguientes pasos:
Accede o regístrate para obtener una cuenta de AdMob.
Registra tu app en AdMob. Con este paso, se crea una app de AdMob con un ID de app de AdMob único que se necesitará más adelante en esta guía.
Cómo configurar tu app
En tu archivo de configuración de Gradle, incluye el repositorio de Maven de Google y el repositorio central de Maven:
Kotlin
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include(":app")
Groovy
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include ':app'
Agrega las dependencias del SDK de anuncios de Google para dispositivos móviles al archivo de compilación a nivel de la app:
Kotlin
dependencies { implementation("com.google.android.gms:play-services-ads:23.6.0") }
Groovy
dependencies { implementation 'com.google.android.gms:play-services-ads:23.6.0' }
Agrega el ID de tu app de AdMob, como se identifica en la interfaz web de AdMob, al archivo
AndroidManifest.xml
de tu app. Para ello, agrega una etiqueta<meta-data>
conandroid:name="com.google.android.gms.ads.APPLICATION_ID"
. Puedes encontrar el ID de tu app en la interfaz web de AdMob. Enandroid:value
, inserta tu propio ID de app de AdMob, entre comillas.<manifest> <application> <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> </application> </manifest>
En una app real, reemplaza el ID de app de muestra por tu ID de app de AdMob real. Puedes usar el ID de muestra si solo estás experimentando con el SDK en una app de Hello World.
Además, ten en cuenta que, si no agregas la etiqueta
<meta-data>
exactamente como se muestra, ocurrirá una falla y se mostrará el siguiente mensaje:Missing application ID.
Declara el permiso
AD_ID
de forma opcional para que las versiones anteriores funcionen con Android 13.Si tu app usa la versión 20.4.0 o una posterior del SDK de anuncios de Google para dispositivos móviles, puedes omitir este paso, ya que el SDK declara automáticamente el permiso
com.google.android.gms.permission.AD_ID
y puede acceder al ID de publicidad cuando esté disponible.En el caso de las apps que usan la versión 20.3.0 o una anterior del SDK de anuncios de Google para dispositivos móviles y se orientan a Android 13, debes agregar el permiso
com.google.android.gms.permission.AD_ID
en el archivoAndroidManifest.xml
para que el SDK de anuncios de Google para dispositivos móviles acceda al ID de publicidad:<manifest> <application> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <!-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower --> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> </application> </manifest>
Para obtener más información sobre la declaración de permisos
com.google.android.gms.permission.AD_ID
, incluido cómo inhabilitarla, consulta este artículo de Play Console.
Cómo inicializar el SDK de anuncios de Google para dispositivos móviles
Antes de cargar anuncios, llama aMobileAds.initialize()
para inicializar el SDK de anuncios de Google para dispositivos móviles.
Este método inicializa el SDK y llama a un objeto de escucha de finalización una vez que se completen la inicialización del SDK de anuncios de Google para dispositivos móviles y del adaptador, o después de un tiempo de espera de 30 segundos. Esto solo se debe hacer una vez, idealmente cuando se inicia la app.
Los anuncios se pueden precargar con el SDK de anuncios de Google para dispositivos móviles o con los SDKs de socios de mediación durante la inicialización. Si necesitas obtener el consentimiento de los usuarios en el Espacio Económico Europeo (EEE), configura las marcas específicas de la solicitud que hagan falta, como setTagForChildDirectedTreatment()
o setTagForUnderAgeOfConsent()
, o realiza la acción pertinente antes de cargar anuncios. Asegúrate de hacer esto antes de inicializar el SDK de anuncios de Google para dispositivos móviles.
A continuación, se muestra un ejemplo de cómo llamar al método initialize()
en un subproceso en segundo plano dentro de una actividad:
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();
}
}
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) {}
}
}
}
Selecciona un formato del anuncio
Se importó el SDK de anuncios de Google para dispositivos móviles y ya puedes implementar un anuncio. AdMob ofrece diferentes formatos de anuncios para que puedas elegir el que mejor se adapte a la experiencia del usuario de tu app.
Banner
Las unidades de anuncios de banner muestran anuncios rectangulares que ocupan una parte del diseño de una app. Se pueden actualizar automáticamente después de un período determinado. Esto significa que los usuarios ven un anuncio nuevo a intervalos regulares, incluso si permanecen en la misma pantalla de tu app. También son el formato de anuncio más fácil de implementar.
Implementa anuncios en forma de banner
Intersticial
Las unidades de anuncios intersticiales muestran anuncios de página completa en tu app. Colócalas en pausas y transiciones naturales en la interfaz de tu app, como después de completar un nivel en una app de juegos.
Implementa anuncios intersticiales
Nativo
Los anuncios nativos son anuncios en los que puedes personalizar la forma en que se presentan los recursos, como los encabezados y las llamadas a la acción, en tus apps. Si aplicas diseño al anuncio por tu cuenta, puedes crear presentaciones de anuncios naturales y discretas que pueden contribuir a una experiencia del usuario enriquecida.
Recompensado
Las unidades de anuncios recompensados permiten que los usuarios jueguen, respondan encuestas o miren videos para obtener recompensas en la app, como monedas, vidas extra o puntos. Puedes establecer recompensas distintas para cada unidad de anuncios y especificar los valores y los elementos de las recompensas que recibió el usuario.
Implementa anuncios recompensados
Anuncio intersticial recompensado
El anuncio intersticial recompensado es un nuevo tipo de formato de anuncio incentivado que te permite ofrecer recompensas, como monedas o vidas adicionales, para los anuncios que aparecen automáticamente durante las transiciones naturales de la aplicación.
A diferencia de los anuncios recompensados, los usuarios no deben aceptar ver un anuncio intersticial recompensado.
En lugar de la solicitud de aceptación de los anuncios recompensados, los anuncios intersticiales recompensados requieren una pantalla de presentación que anuncie la recompensa y les dé a los usuarios la oportunidad de rechazarla si así lo desean.
Implementa anuncios intersticiales recompensados
Apertura de la aplicación
La aplicación abierta es un formato de anuncio que aparece cuando los usuarios abren tu aplicación o vuelven a ella. El anuncio se superpone a la pantalla de carga.
Implementa anuncios de aplicación abierta
Recursos adicionales
En el repositorio de Google Mobile Ads de GitHub, se muestra cómo usar los diferentes formatos de anuncios que ofrece esta API.