Esta guía está dirigida a los editores que quieren monetizar una aplicación 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.
Integrar el SDK de anuncios de Google para móviles en una aplicación es lo primero que debes hacer para mostrar anuncios y obtener ingresos. Después, puedes implementar uno o varios formatos de anuncios admitidos.
Requisitos previos
- Usar Xcode 13.2.1 o una versión posterior.
- Orientar los anuncios a iOS 10.0 o a una versión posterior.
- Te recomendamos que crees una cuenta de AdMob y registres una aplicación.
Importar el SDK de anuncios para móviles
CocoaPods (opción preferida)
La forma más sencilla de importar el SDK en 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.
Swift Package Manager
A partir de la versión 9.0.0, el SDK de anuncios de Google para móviles es compatible con Swift Package Manager. Sigue los pasos indicados a continuación para importar un paquete de Swift.
En Xcode, instala el paquete de Swift de anuncios de Google para móviles en File > Add Packages… (Archivo > Añadir paquetes…).
En el mensaje que aparecerá, busca el repositorio de GitHub del paquete de Swift de anuncios de Google para móviles:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Selecciona la versión del paquete de Swift de anuncios de Google para móviles que quieres usar. En el caso de los proyectos nuevos, recomendamos utilizar la opción Up to Next Major Version (Hasta la siguiente versión principal).
Cuando hayas terminado, Xcode empezará a resolver las dependencias de tu paquete y las descargará en segundo plano. Para obtener más información sobre cómo añadir dependencias de paquetes, consulta este artículo de Apple.
Descarga manual
Descarga y descomprime directamente el framework del SDK. Después, importa los siguientes frameworks en tu proyecto de Xcode:
GoogleAppMeasurement.xcframework
GoogleAppMeasurementIdentitySupport.xcframework
GoogleMobileAds.xcframework
GoogleUtilities.xcframework
nanopb.xcframework
PromisesObjC.xcframework
UserMessagingPlatform.xcframework
Añade la marca de vinculación
-ObjC
a Other Linker Flags (Otras marcas de vinculación) 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:
- Una clave
GADApplicationIdentifier
con un valor de cadena de tu ID de aplicación de AdMob (identificado en la UI de AdMob). - Una clave
SKAdNetworkItems
con valoresSKAdNetworkIdentifier
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 controlador 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 para que puedas elegir el que mejor se ajuste a la experiencia de usuario de tu aplicación.
Banner
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.
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.
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.
Bonificado
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 bonificados | Implementar anuncios bonificados (APIs nuevas) |