Comenzar

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

Configura tu app en tu cuenta de AdMob

Para registrar tu app como una app de AdMob, completa los siguientes pasos:

  1. Accede o regístrate para obtener una cuenta de AdMob.

  2. 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

  1. 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'
  2. 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'
    }
  3. 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> con android:name="com.google.android.gms.ads.APPLICATION_ID". Puedes encontrar el ID de tu app en la interfaz web de AdMob. En android: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 archivo AndroidManifest.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 a MobileAds.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.

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.

Implementa anuncios nativos

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.