Comenzar

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

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

Requisitos previos

  • Usa Xcode 15.3 o una versión posterior
  • 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 manera más sencilla de importar el SDK a un proyecto de iOS es usar CocoaPods. Abierta el Podfile de tu proyecto y agrega esta línea al destino de tu app:

pod 'Google-Mobile-Ads-SDK'

Luego, desde la línea de comandos, ejecuta lo siguiente:

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 admite Swift Package Manager a partir de la versión 9.0.0. Seguir pasos para importar el paquete Swift:

  1. En Xcode, navegue a Archivo > Add Packages...

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

    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 quieres usar. Para proyectos nuevos, recomendamos usar Hasta la siguiente versión principal.

Cuando termines, Xcode comenzará a resolver las dependencias de tus paquetes y de descarga en segundo plano. Más información para agregar paquetes las dependencias, consulta este artículo de Apple.

Descarga manual

  1. Descarga el SDK de anuncios de Google para dispositivos móviles. y Embed & Sign los siguientes frameworks en tu proyecto de Xcode:

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

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 tu AdMob app ID found in the AdMob UI

  2. Una clave SKAdNetworkItems con valores SKAdNetworkIdentifier para Google (cstr6suwn9.skadnetwork) y seleccionar compradores externos que le 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>

Si todavía no creaste una cuenta de AdMob, cuenta y registraste una , es un buen momento para hacerlo.

En una aplicación real, reemplace el ID de la aplicación de ejemplo por su ID real. AdMob ID de la app. Puedes usar el ID de muestra si solo está experimentando con el SDK en una app de Hello World.

Inicializa el SDK de Mobile Ads

Antes de cargar anuncios, llama al método startWithCompletionHandler: en la GADMobileAds.sharedInstance: que inicializa el SDK y llama a un controlador de finalización una vez se complete la inicialización (o después de un tiempo de espera de 30 segundos). Solo se requiere una sola vez, idealmente cuando se inicia la app. Deberías llamar a startWithCompletionHandler: lo antes posible.

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

Ejemplo de AppDelegate (extracto)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

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

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

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

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

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

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

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

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

@end

Seleccionar un formato de anuncio

El SDK de Mobile Ads ya está importado e inicializado, y ya puedes implementa un anuncio. AdMob ofrece diversas diferentes formatos de anuncios, de manera que puedas elegir el que mejor se adapte a los usuarios de tu app una experiencia fluida a los desarrolladores.

Si eres desarrollador de SwiftUI, sigue nuestra instrucción de SwiftUI de la guía de YouTube.

Los bloques de anuncios de banner muestran anuncios rectangulares que ocupan una parte de la superficie de una aplicación . Pueden actualizarse automáticamente después de un período determinado. Esto significa usuarios ven un anuncio nuevo en intervalos regulares, aunque permanezcan en el mismo pantalla en tu app. También son el formato de anuncio más fácil de implementar.

Implementa anuncios en forma de banner

Intersticial

Las unidades de anuncios intersticiales muestran anuncios de página completa en su aplicación. Colócalos en un lugar natural pausas y transiciones en la interfaz de tu app, por ejemplo, después de completar un nivel en una aplicación de juego.

Implementa anuncios intersticiales

Nativo

Los anuncios nativos son anuncios en los que puedes personalizar la forma en que los recursos, como los títulos y los llamados a la acción se presentan en tus aplicaciones. Si aplicas un estilo al anuncio, puedes Para crear presentaciones de anuncios naturales y discretas que puedan atraer a un usuario valioso una experiencia fluida a los desarrolladores.

Implementa anuncios nativos

Recompensado

Las unidades de anuncios recompensados les permiten a los usuarios jugar, realizar encuestas o mirar videos para ganar recompensas en la app, como monedas, vidas adicionales o puntos Puedes configurar diferentes recompensas para distintas unidades de anuncios y especifica los valores de la recompensa y los artículos que recibió el usuario.

Implementa anuncios recompensados

Intersticial recompensado

Los anuncios intersticiales recompensados son un nuevo tipo de formato de anuncio incentivado que te permite Ofrecer recompensas, como monedas o vidas adicionales, por los anuncios que aparecen automáticamente durante las transiciones naturales de la app.

A diferencia de los anuncios recompensados, los usuarios no necesitan aceptar ver un anuncio recompensado. anuncio intersticial.

En lugar de la solicitud de aceptación en los anuncios recompensados, los anuncios intersticiales recompensados requieren un en la que se anuncia la recompensa y se brinda a los usuarios la oportunidad de rechazarla si quieren hacerlo.

Implementa anuncios intersticiales recompensados

Aplicación abierta

El formato de anuncio de aplicación abierta aparece cuando los usuarios abren o regresan a tu . El anuncio se superpone a la pantalla de carga.

Implementa anuncios de aplicación abierta