Comenzar

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Integrar el SDK de Google Mobile Ads en una app es el primer paso para mostrar anuncios y obtener ingresos. Una vez que lo hagas, podrás implementar uno o más de los formatos de anuncios admitidos.

Requisitos previos

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

Importa el SDK de Mobile Ads

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, desde la línea de comandos, ejecuta lo siguiente:

pod install --repo-update

Si recién comienzas a usar CocoaPods, consulta su documentación oficial para obtener información sobre cómo crear y usar Podfiles.

Administrador de paquetes de Swift

El SDK de Google Mobile Ads 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 Swift de Google Mobile Ads en File > Add Packages....

  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. Seleccione la versión del paquete Swift de anuncios de Google para dispositivos móviles que desea utilizar. Para proyectos nuevos, recomendamos usar la versión principal siguiente.

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

Descarga manual

  1. Descarga y descomprime el marco de trabajo del SDK directamente y, luego, importa los siguientes marcos de trabajo 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 del 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 de tuAd Manager ID de app (identificado en laAd Manager IU).
  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>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>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>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>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>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>ecpz2srf59.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>uw77j35x4d.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>gta9lk7p23.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 de grupos de rendimiento orientadas a iOS y no asociadas con ninguna app específica se enviarán a todas las apps para iOS de tu cuenta, lo que podría extender el tiempo necesario para la inicialización.

Inicializar el SDK de Mobile Ads

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.

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 todos los adaptadores de mediación se inicialicen.

Seleccione un formato de anuncio

El SDK de Mobile Ads ahora se importa y se inicializa, y estás listo para implementar un anuncio. Ad Manager ofrece una variedad de formatos de anuncio diferentes 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 de banner permanecen en pantalla mientras los usuarios interactúan con la app y se pueden actualizar automáticamente después de cierto período. Si la publicidad para celulares es nueva para usted, es un excelente punto de partida.

Cómo implementar un banner

Intersticial

Anuncios de pantalla completa que cubren la interfaz de una aplicación hasta que el usuario los cierra. Se usan mejor 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.

Implemente un anuncio intersticial

Nativo

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

Google Ad Manager ofrece dos formas de implementar anuncios nativos: los estilos nativos y el dibujo personalizado.

Los estilos nativos están diseñados para facilitar la implementación de anuncios nativos y es una excelente opción si no tienes experiencia con el formato. La renderización personalizada se diseñó para maximizar la libertad que tienes para crear tus presentaciones.

Cómo implementar estilos nativos Cómo implementar la renderización personalizada

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)