Empezar

Esta guía está destinada a los editores que desean monetizar una app para iOS con AdMob y que no usan Firebase. Si planeas incluir Firebase en tu app (o lo estás considerando), consulta la versión de AdMob con Firebase de esta guía.

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 integres el SDK, puedes implementar uno o más de los formatos de anuncios compatibles.

Requisitos previos

  • Usa Xcode 13.2.1 o una versión más reciente
  • Orienta tu juego a iOS 10.0 o una versión más reciente

Cómo importar el SDK de anuncios para dispositivos móviles

CocoaPods (recomendado)

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, ejecute el siguiente comando desde la línea de comandos:

pod install --repo-update

Si eres nuevo en 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 los pasos que se indican a continuación para importar el paquete de Swift.

  1. En Xcode, instala el paquete de Swift de Google Mobile Ads con la opción File > Add Packages...

  2. En el mensaje que aparece, busca el repositorio de GitHub del paquete Swift de anuncios de Google para dispositivos móviles:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Seleccione la versión del paquete de Swift de Google Mobile Ads que desee utilizar. Para proyectos nuevos, se recomienda usar la Hasta la versión principal 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 descomprime el framework del SDK directamente y, luego, importa los siguientes frameworks a tu proyecto de Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. Agrega la marca del vinculador -ObjC a Other Linker Flags 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 string del ID de la appAdMob (identificado en la IU deAdMob )
  2. Una clave SKAdNetworkItems con valores SKAdNetworkIdentifier para Google (cstr6suwn9.skadnetwork) y selecciona compradores adicionales que proporcionaron estos valores a Google
<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>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>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>3sh42y64q3.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>prcb7njmu6.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>9rd848q2bz.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>n6fk4nfna4.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>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>av6w8kgt66.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>424m5254lk.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>uw77j35x4d.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>3qcr597p9d.skadnetwork</string>
    </dict>
  </array>

Si aún no creaste una cuenta de AdMob y registraste una app, este es un buen momento para hacerlo.

Inicializa el SDK de anuncios para dispositivos móviles

Antes de cargar anuncios, llama al método startWithCompletionHandler: en el 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.

A continuación, se muestra 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, te recomendamos esperar hasta que se llame al controlador de finalización antes de cargar los anuncios, ya que esto garantizará que se inicialicen todos los adaptadores de mediación.

Seleccione un formato de anuncio

El SDK de anuncios para dispositivos móviles ahora se importa y se inicializa, y ya puedes implementar un anuncio. AdMob ofrece diferentes formatos de anuncios, por lo que puedes 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 de banner permanecen en pantalla mientras los usuarios interactúan con la app y se pueden actualizar automáticamente después de un período determinado. Si es la primera vez que usas la publicidad para dispositivos móviles, esta es una excelente manera de comenzar.

Cómo implementar un banner

Intersticial

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

Cómo implementar un anuncio intersticial

Nativo

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

Implementación Native Ads

Recompensado

Anuncios que recompensan a los usuarios por mirar videos cortos y por interactuar con encuestas y anuncios con juegos Ideal para monetizar usuarios de juegos gratuitos.

Cómo implementar anuncios recompensados Cómo implementar anuncios recompensados (API nuevas)