Comenzar

Integrar el SDK de anuncios de Google para dispositivos móviles en una app es el primer paso para mostrar anuncios y obtener ingresos. Una vez que hayas integrado el SDK, puedes proceder a implementar uno o más de los formatos de anuncios admitidos.

Requisitos previos

  • Usa Xcode 15.1 o una versión más reciente
  • Orientación a iOS 12.0 o versiones posteriores

Importa el SDK de anuncios para dispositivos móviles

Usa uno de los siguientes métodos para importar el SDK de anuncios de Google para dispositivos móviles.

CocoaPods (opción preferida)

La forma más sencilla de importar el SDK a un proyecto de iOS es usar CocoaPods. Abre el Podfile de tu proyecto y agrega esta línea al destino de tu app:

pod 'Google-Mobile-Ads-SDK'

Luego, ejecuta desde la línea de comandos:

pod install --repo-update

Si es la primera vez que usas CocoaPods, consulta su documentación oficial para obtener información sobre cómo crear y usar Podfiles.

Swift Package Manager

El SDK de anuncios de Google para dispositivos móviles es compatible con Swift Package Manager a partir de la versión 9.0.0. Sigue estos pasos para importar el paquete de Swift:

  1. En Xcode, navega a File > Add Packages... para instalar el paquete de Google Mobile Ads Swift.

  2. En el mensaje que aparece, busca el repositorio de GitHub del paquete Swift de Google Mobile Ads:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Selecciona la versión del paquete Swift de anuncios de Google para dispositivos móviles que deseas utilizar. Para proyectos nuevos, te recomendamos usar Hasta la siguiente versión principal.

Cuando termines, Xcode comenzará a resolver las dependencias de tus paquetes y las descargará en segundo plano. Para obtener más información sobre cómo agregar dependencias de paquetes, consulta el artículo de Apple.

Descarga manual

  1. Descarga y extrae el framework del SDK directamente y, luego, importa los siguientes frameworks a tu proyecto de Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Agrega la marca del vinculador -ObjC a Otras marcas del vinculador en la configuración de compilación de tu proyecto:

Actualiza el archivo Info.plist

Actualiza el archivo Info.plist de tu app para agregar dos claves:

  1. Una clave GADApplicationIdentifier con un valor de cadena de tuAd Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  2. Una clave SKAdNetworkItems con valores SKAdNetworkIdentifier para Google (cstr6suwn9.skadnetwork) y compradores externos seleccionados que proporcionaron estos valores a Google

Fragmento completo

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cstr6suwn9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4fzdc2evr5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4pfyvq9l8r.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2fnua5tdw4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ydx93a7ass.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>5a6flpkh64.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>p78axxw29g.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v72qych5uu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ludvb6z3bs.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cp8zw746q7.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3sh42y64q3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c6k4g5qg8m.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>s39g8k73mm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qy4746246.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>f38h382jlk.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>yclnxrl5pm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>t38b2kh725.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>7ug5zh24hu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>gta9lk7p23.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>vutu7akeur.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>y5ghdn5j9k.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n6fk4nfna4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v9wttpbfk9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n38lu8286q.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>47vhws6wlr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbd757ywx3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9t245vhmpl.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>eh6m2bh4zr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>a2p9lx4jpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>22mmun2rn5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4468km3ulz.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2u9pt9hc89.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8s468mfl3y.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ecpz2srf59.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>pwa73g5rt2.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>578prtvx9j.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4dzt52r2t5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>zq492l623r.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Para obtener un rendimiento de inicialización óptimo, es importante asociar los grupos de rendimiento con las apps específicas en las que se usan. Las configuraciones del grupo de rendimiento orientadas a iOS y no asociadas a ninguna aplicación específica se enviarán a todas las aplicaciones para iOS de su cuenta, lo que podría prolongar el tiempo de inicialización.

En una app real, reemplaza el ID de la app de ejemplo por el Ad Manager ID real de tu app. Puedes usar el ID de muestra si solo estás experimentando con el SDK en una app de Hello World.

Inicializa el SDK de anuncios para dispositivos móviles

Antes de cargar anuncios, llama al método startWithCompletionHandler: en GADMobileAds.sharedInstance, que inicializa el SDK y llama a un controlador de finalización una vez que se completa la inicialización (o después de un tiempo de espera de 30 segundos). Esto solo se debe hacer una vez, idealmente cuando se inicia la app. Debes llamar a startWithCompletionHandler: lo antes posible.

Este es un ejemplo de cómo llamar al método startWithCompletionHandler: en tu AppDelegate:

Ejemplo de AppDelegate.m (extracto)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }

}

Objective‑C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

Si usas la mediación, es posible que quieras esperar hasta que se llame al controlador de finalización antes de cargar anuncios, ya que esto garantizará que se inicialicen todos los adaptadores de mediación.

Seleccionar un formato de anuncio

Ya se importó y se inicializó el SDK de anuncios para dispositivos móviles, y está todo listo para implementar un anuncio. Ad Manager ofrece una variedad de formatos de anuncios para que puedas elegir el que mejor se adapte a la experiencia del usuario de tu app.

Anuncios rectangulares que aparecen en la parte superior o inferior de la pantalla del dispositivo. Los anuncios en forma de banner permanecen en la pantalla mientras los usuarios interactúan con la app y se pueden actualizar de forma automática después de un período determinado. Si es la primera vez que utilizas publicidad para dispositivos móviles, estos son un excelente punto de partida.

Implementa anuncios de banner

Intersticial

Anuncios de pantalla completa que cubren la interfaz de una app hasta que el usuario los cierra. Es mejor usarlos en pausas naturales en el flujo de ejecución de una app, como entre los niveles de un juego o justo después de completar una tarea.

Implementa anuncios intersticiales

Nativo

Anuncios personalizables que se adaptan al aspecto de tu app. Tú decides cómo y dónde se muestran para que el diseño sea más coherente con el de tu app.

Google Ad Manager ofrece dos formas de implementar anuncios nativos: estilos nativos y anuncios nativos estándar a través de la renderización personalizada.

Los estilos nativos se diseñaron para simplificar la implementación de anuncios nativos y son una excelente opción si no tienes experiencia con el formato. Se diseñó la renderización personalizada para maximizar la libertad que tienes para crear tus presentaciones.

Implementa estilos nativos Implementa anuncios nativos (renderización personalizada)

Recompensado

Anuncios que recompensan a los usuarios por mirar videos cortos o interactuar con encuestas y anuncios con juegos. Es el modo adecuado para monetizar apps de reproducción gratuita.

Implementa anuncios recompensados