Anuncios de banner

Los anuncios de banner ocupan un lugar en el diseño de la app, ya sea en la parte superior o inferior de la pantalla. Permanecen en la pantalla mientras los usuarios interactúan con la app y se pueden actualizar automáticamente después de un período determinado. Si la publicidad para dispositivos móviles es la primera vez que los usas, es un excelente punto de partida. Caso de éxito.

Requisitos previos

Realice pruebas siempre con anuncios de prueba

Cuando compiles y pruebes tus apps, asegúrate de usar anuncios de prueba en lugar de anuncios de producción publicados. De lo contrario, podría suspenderse tu cuenta.

La forma más fácil de cargar anuncios de prueba es usar nuestro ID dedicado de unidades de anuncios de prueba para banners, que varía según la plataforma del dispositivo:

  • Android: ca-app-pub-3940256099942544/6300978111
  • iOS: ca-app-pub-3940256099942544/2934735716

Estos ID de unidades de anuncios se configuraron de forma especial para mostrar anuncios de prueba en cada solicitud. Puedes usarlos en tus propias apps durante la codificación, las pruebas y la depuración. Solo asegúrate de reemplazarlo por tu propio ID de unidad de anuncios antes de publicar tu app.

Para obtener más información sobre cómo funcionan los anuncios de prueba del SDK de Mobile Ads, consulta Anuncios de prueba.

Implementación

Configura un AdView

Los anuncios de banner se muestran en objetos AdView, por lo que el primer paso para integrar anuncios de banner es crear y posicionar un AdView.

  1. Agrega el siguiente encabezado al código de C++ de la app:

     #include "firebase/gma/ad_view.h"
    
  2. Declara un objeto AdView y crea una instancia de él:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. Crea un AdSize y, luego, inicializa la vista de anuncios con la vista superior AdParent. La vista superior es una referencia jobject de JNI a un Activity de Android o un puntero a una transmisión de UIView de iOS a un tipo AdParent:

     // my_ad_parent is a jobject reference
     // to an Android Activity or a pointer to an iOS UIView.
     firebase::gma::AdParent ad_parent = static_cast(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
    
  4. Como alternativa a retener el futuro como una variable, puedes verificar de forma periódica el estado de la operación de inicialización invocando InitializeLastResult() en el objeto AdView. Esto puede ser útil para hacer un seguimiento del proceso de inicialización en el bucle de juego global.

      // Monitor the status of the future in your game loop:
      firebase::Future<void> result = ad_view->InitializeLastResult();
      if (result.status() == firebase::kFutureStatusComplete) {
        // Initialization completed.
        if(future.error() == firebase::gma::kAdErrorCodeNone) {
          // Initialization successful.
        } else {
          // An error has occurred.
        }
      } else {
        // Initialization on-going.
      }
    
  5. Si quieres obtener más información para trabajar con firebase::Future, consulta Cómo usar interfaces Future para supervisar el estado de las llamadas al método.

Establezca la posición del anuncio.

Puedes establecer la posición de AdView en cualquier momento después de que se inicializa:

firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);

Carga un anuncio

Puedes cargar un anuncio una vez que se haya inicializado AdView:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);

Los objetos AdRequest representan una sola solicitud de anuncio y contienen propiedades para información, como la segmentación.

Mostrar el anuncio

Por último, llama a Show() para mostrar el anuncio en la pantalla. Este método se puede invocar en cualquier momento después de inicializar el anuncio:

firebase::Future<void> result = ad_view->Show();

Eventos de anuncios

El SDK de C++ de anuncios de Google para dispositivos móviles proporciona una clase AdListener que puedes extender y pasar a AdView::SetListener() para recibir notificaciones sobre los cambios en el estado de la vista del anuncio.

Extender los métodos en AdListener es opcional, por lo que solo debes implementar los métodos que desees. El siguiente ejemplo muestra la implementación de una clase que extiende toda la clase de métodos AdListener:

class ExampleAdListener
    : public firebase::gma::AdListener {
 public:
  ExampleAdListener() {}
  void OnAdClicked() override {
    // This method is invoked when the user clicks the ad.
  }

  void OnAdClosed() override {
   // This method is invoked when the user closes the ad.
  }

  void OnAdImpression() override {
    // This method is invoked when an impression is recorded for an ad.
  }

  void OnAdOpened() override {
    // This method is invoked when an ad opens an overlay that covers the screen.
  }
};

ExampleAdListener* ad_listener = new ExampleAdListener();
ad_view->SetAdListener(ad_listener);

En la siguiente tabla, se enumeran los tamaños de banner estándar.

Tamaño en puntos (ancho x alto) Descripción Disponibilidad firebase::gma::AdConstant
320 x 50 Banner Teléfonos y tablets kBanner
320 x 100 Banner grande Teléfonos y tablets kLargeBanner
300 x 250 Rectángulo mediano de IAB Teléfonos y tablets kMediumRectangle
468 x 60 Banner de tamaño completo de IAB Tablets kFullBanner
728 x 90 Tabla de clasificación de IAB Tablets kLeaderboard
Ancho proporcionado × Altura adaptable Banner adaptable Teléfonos y tablets N/A

Tamaños de anuncios personalizados

Para definir un tamaño de banner personalizado, configura las dimensiones que quieras con el constructor firebase::gma::AdSize con los parámetros de ancho y altura, como se muestra a continuación:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

Recursos adicionales

Ejemplo en GitHub

Historias de éxito