Empezar

Esta guía está dirigida a los editores que quieren monetizar una aplicación para iOS con AdMob y no utilizan Firebase. Si tienes previsto incluir Firebase en tu aplicación (o te lo estás pensando), consulta la sección AdMob con Firebase de esta guía.

Lo primero que debes hacer para mostrar anuncios y obtener ingresos es integrar en la aplicación el SDK de anuncios de Google para móviles. Después, puedes implementar uno o varios formatos de anuncios admitidos.

Requisitos previos

  • Usar Xcode11 o una versión posterior.
  • Orientar los anuncios a iOS 10.0 o a una versión posterior.

Importar el SDK de anuncios para móviles

CocoaPods (opción preferida)

La forma más sencilla de importar el SDK a un proyecto de iOS es mediante CocoaPods. Abre el Podfile de tu proyecto y añade esta línea en el destino de tu aplicación:

pod 'Google-Mobile-Ads-SDK'

A continuación, en la línea de comandos, ejecuta lo siguiente:

pod install --repo-update

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

Descarga manual

  1. Descarga y descomprime directamente el framework del SDK. Después, importa los siguientes frameworks a tu proyecto de Xcode:

    • GoogleAppMeasurement.framework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.framework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.framework
  2. Añade la marca de vinculación -ObjC a Other Linker Flags (Otras marcas de enlazador) en la configuración de compilación de tu proyecto:

Actualizar el archivo Info.plist

Actualiza el archivo Info.plist de tu aplicación para añadir dos claves:

  1. Una clave GADApplicationIdentifier con un valor de cadena de tu ID de aplicación de AdMob (identificado en la UI de AdMob).
  2. Una clave SKAdNetworkItems con valores SKAdNetworkIdentifier de Google (cstr6suwn9.skadnetwork). Selecciona otros compradores que hayan proporcionado 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 todavía no has creado una cuenta de AdMob ni has registrado una aplicación, ahora es un buen momento para hacerlo.

Inicializar el SDK de anuncios para móviles

Antes de cargar anuncios, llama al método startWithCompletionHandler: en GADMobileAds.sharedInstance. 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. Eso sí, debes llamar a startWithCompletionHandler: lo antes posible.

A continuación, tienes un ejemplo de cómo llamar al método startWithCompletionHandler: en AppDelegate:

Ejemplo de AppDelegate.m (fragmento)

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, 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

Se ha importado e inicializado el SDK de anuncios para móviles y ya puedes implementar un anuncio. AdMob ofrece varios formatos de anuncio diferentes 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, estos anuncios son un excelente punto de partida.

Implementar un 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 un intersticial

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 Native Ads

Bonificados

Son anuncios que ofrecen recompensas a los usuarios por ver vídeos breves e interactuar con encuestas y anuncios con juegos. Son útiles para obtener ingresos con los usuarios de juegos gratuitos.

Implementar anuncios bonificadosImplementar anuncios bonificados (API nuevas)