Empezar

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.

Prerrequisitos 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 de 16 o superior
    • Un valor compileSdkVersion de 28 o superior

Configurar la aplicación en tu cuenta de AdMob

Registra tu aplicación como una aplicación de AdMob siguiendo estos pasos:

  1. Inicia sesión en tu cuenta de AdMob o crea una cuenta.

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

  1. En tu archivo build.gradle a nivel de proyecto, incluye el repositorio Maven de Google y el repositorio Maven central en las secciones buildscript y allprojects:

    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    
  2. 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:20.5.0'
    
      // For apps targeting Android 12, add WorkManager dependency.
      constraints {
        implementation('androidx.work:work-runtime:2.7.0') {
            because '''androidx.work:work-runtime:2.1.0 pulled from play-services-ads
                       has a bug using PendingIntent without FLAG_IMMUTABLE or
                       FLAG_MUTABLE and will fail in apps targeting S+.'''
        }
      }
    }
    
  3. 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ódigo android: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 de android: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 S.

    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 S, debes añadir el permiso com.google.android.gms.permission.AD_ID al archivo AndroidManifest.xml para orientarlas a esta versión de Android:

    <manifest>
        <application>
            <meta-data
                android:name="com.google.android.gms.ads.APPLICATION_ID"
                android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    
            <-- For Android S devices & 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 de 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.

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.

Implementar anuncios nativos

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.