Integrar el SDK de anuncios de Google para móviles en una aplicación es lo primero que debes hacer para mostrar anuncios y obtener ingresos. Después, puedes elegir un formato de anuncio (por ejemplo, vídeo nativo o bonificado) y seguir los pasos correspondientes para implementarlo.
Antes de empezar
Para preparar tu aplicación, completa los pasos que se indican en las siguientes secciones.
Requisitos previos de la aplicación
- Usar Android Studio 3.2 o una versión posterior
Comprobar que el archivo de compilación de tu aplicación utiliza los siguientes valores:
- Un valor
minSdkVersion
de19
o superior - Un valor
compileSdkVersion
de28
o superior
- Un valor
Configurar la aplicación en tu cuenta de AdMob
Registra tu aplicación como una aplicación de AdMob siguiendo estos pasos:
Inicia sesión en tu cuenta de AdMob o crea una cuenta.
Registra tu aplicación con AdMob. En este paso se crea una aplicación de AdMob con un ID único que necesitarás más adelante en esta guía.
Configurar la aplicación
En tu archivo
build.gradle
a nivel de proyecto, incluye el repositorio Maven de Google y el repositorio Maven central en las seccionesbuildscript
yallprojects
:buildscript { repositories { google() mavenCentral() } } allprojects { repositories { google() mavenCentral() } }
Añade las dependencias del SDK de anuncios de Google para móviles al archivo Gradle a nivel de aplicación de tu módulo, que suele ser
app/build.gradle
:dependencies { implementation 'com.google.android.gms:play-services-ads:21.5.0' }
Añade el ID de tu aplicación de AdMob (identificado en la interfaz de usuario de AdMob) al archivo
AndroidManifest.xml
de tu aplicación. Para ello, añade una etiqueta<meta-data>
con el códigoandroid:name="com.google.android.gms.ads.APPLICATION_ID"
. Puedes encontrar el ID de tu aplicación en la interfaz de usuario de AdMob. En el caso deandroid:value
, introduce tu propio ID de aplicación 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 aplicación real, usa el ID de aplicación de AdMob verdadero, no el que se indica anteriormente. Si solo quieres experimentar con el SDK en una aplicación del tipo "Hola, mundo", puedes usar el ID de aplicación de ejemplo que se muestra más arriba.
Además, ten en cuenta que si no se añade la etiqueta
<meta-data>
tal como se muestra arriba, se producirá un fallo y se mostrará el siguiente mensaje:The Google Mobile Ads SDK was initialized incorrectly.
(Opcional) Declara el permiso
AD_ID
para que las versiones anteriores funcionen con Android 13.Si tu aplicación utiliza la versión 20.4.0 o una posterior del SDK de anuncios de Google para móviles, puedes saltarte 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 siempre que esté disponible.En el caso de las aplicaciones que utilizan la versión 20.3.0 o una anterior del SDK de anuncios de Google para móviles y que están destinadas a Android 13, debes añadir el permiso
com.google.android.gms.permission.AD_ID
al archivoAndroidManifest.xml
para que el SDK 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 del permiso
com.google.android.gms.permission.AD_ID
y sobre cómo inhabilitarla, consulta este artículo de Play Console.
Inicializar el SDK de anuncios de Google para móviles
Antes de cargar anuncios, haz que tu aplicación inicialice el SDK de anuncios de Google para móviles a través de una llamada a MobileAds.initialize()
. Esta acción inicializa el SDK y, una vez terminado ese proceso (o tras un tiempo de espera de 30 segundos), se hace una retrollamada a un procesador de finalización. Solo es necesario hacerlo una vez, preferiblemente al iniciar la aplicación.
Tanto el SDK de anuncios de Google para móviles como los SDKs de los partners de mediación pueden hacer llamadas a MobileAds.initialize()
para precargar anuncios. Si necesitas obtener el consentimiento de los usuarios que se encuentran en el Espacio Económico Europeo (EEE), define cualquier marca específica de solicitud (como tagForChildDirectedTreatment
o tag_for_under_age_of_consent
) o toma cualquier otra medida a este respecto antes de cargar los anuncios. Asegúrate de hacerlo antes de inicializar el SDK de anuncios de Google para móviles.
A continuación se muestra un ejemplo de cómo llamar al método initialize()
en una actividad.
Ejemplo de MainActivity (fragmento)
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); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); } }
Kotlin
import com.google.android.gms.ads.MobileAds class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) MobileAds.initialize(this) {} } }
Si usas la mediación, espera a que se llame al controlador de finalización antes de cargar anuncios. De este modo, te asegurarás de que todos los adaptadores de mediación se hayan inicializado.
Seleccionar un formato de anuncio
El SDK de anuncios de Google para móviles se ha importado y ya puedes implementar anuncios. AdMob ofrece varios formatos de anuncio para que puedas elegir el que mejor se ajuste a la experiencia de usuario de tu aplicación.
Banner
Son anuncios rectangulares que aparecen en la parte superior o inferior de la pantalla del dispositivo. Los anuncios de banner permanecen en la pantalla mientras los usuarios interactúan con la aplicación y pueden actualizarse automáticamente después de un tiempo determinado. Si es la primera vez que utilizas la publicidad para móviles, son un excelente punto de partida.
Implementar anuncios de banner
Intersticial
Son anuncios a pantalla completa que cubren la interfaz de una aplicación hasta que el usuario los cierra. El mejor momento para usarlos son las pausas naturales de una aplicación. Por ejemplo, al pasar de un nivel a otro en un juego o después de completar una tarea.
Implementar anuncios intersticiales
Nativo
Son anuncios personalizables que se ajustan a la apariencia de tu aplicación. Puedes decidir cómo y dónde colocarlos para que no desentonen con el diseño.
Bonificado
Son anuncios que ofrecen recompensas a los usuarios por ver vídeos breves e interactuar con encuestas y anuncios con juegos. Se utilizan para obtener ingresos con aplicaciones de juegos gratuitos.
Implementar anuncios bonificados
Recursos adicionales
En el repositorio de anuncios de Google para móviles de GitHub, se muestra cómo usar los diferentes formatos de anuncio que ofrece esta API.