Esta guía está destinada a los publicadores que desean monetizar una app para iOS con AdMob y 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.
La integración del 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 lo hayas integrado, podrás implementar uno o más de los formatos de anuncios compatibles.
Requisitos previos
- Usar Xcode 16.0 o una versión posterior
- Segmentar los anuncios para iOS 12.0 o una versión posterior
- Recomendación: Crea una cuenta de AdMob y registra una app.
Importa el SDK de anuncios de Google para dispositivos móviles
Usa uno de los siguientes métodos para importar el SDK de anuncios de Google para dispositivos móviles.
Swift Package Manager
Para agregar una dependencia de paquete a tu proyecto, sigue estos pasos:
En Xcode, instala el paquete de Swift de anuncios de Google para dispositivos móviles. Para ello, navega a File > Add Package Dependencies… (Archivo > Agregar dependencias de paquetes…).
En el mensaje que aparece, busca el repositorio de GitHub del paquete de Swift de anuncios de Google para dispositivos 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 dispositivos móviles que deseas usar. Para los proyectos nuevos, te recomendamos que uses la opción Up to Next Major Version.
CocoaPods
Antes de continuar, consulta Using CocoaPods (Cómo usar CocoaPods) para obtener información sobre cómo crear y usar Podfiles.
Para usar CocoaPods, sigue estos pasos:
Abre el Podfile de tu proyecto y agrega esta línea a la configuración de compilación
target
de tu app:pod 'Google-Mobile-Ads-SDK'
En una terminal, ejecuta lo siguiente:
pod install --repo-update
Descarga manual
Descarga el SDK de anuncios de Google para dispositivos móviles y usa el objeto
Embed & Sign
para los siguientes frameworks en tu proyecto de Xcode:GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
En la configuración de compilación de tu proyecto, haz lo siguiente:
- Agrega la ruta de acceso
/usr/lib/swift
a Runpath Search Paths. - Agrega el parámetro
-ObjC
del vinculador a Other Linker Flags.
- Agrega la ruta de acceso
Actualiza tu archivo Info.plist
Actualiza el archivo Info.plist
de tu app para agregar dos claves:
Una clave
GADApplicationIdentifier
con un valor de cadena de tu ID de app de AdMob que se encuentra en la IU de AdMobUna clave
SKAdNetworkItems
con valoresSKAdNetworkIdentifier
para Google (cstr6suwn9.skadnetwork
) y los compradores externos específicos que proporcionaron estos valores a Google
Fragmento completo
<key>GADApplicationIdentifier</key> <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~1458002511 --> <string>SAMPLE_APP_ID</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>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>mlmmfzh3r3.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>su67r6k2v3.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>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>44jx6755aq.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>k674qkevps.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>kbmxgpxpgc.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>tl55sbb4fm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c3frkrj4fj.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>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>97r2b46745.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
Reemplaza SAMPLE_APP_ID por el ID de tu app de AdMob. Cuando hagas pruebas, usa el ID de app de ejemplo que se muestra en el caso anterior.
Si aún no creaste una cuenta de AdMob ni registraste una app, este es el momento ideal para hacerlo.
Inicializa el SDK de anuncios de Google para dispositivos móviles
Antes de cargar anuncios, llama al método start()
en GADMobileAds.sharedInstance
para que se inicialice el SDK y se realice una devolución de llamada a un controlador de finalización una vez que se complete la inicialización (o después de un tiempo de espera de 30 segundos). Llama a start()
lo antes posible.
Swift
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
SwiftUI
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
Objective-C
// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
Selecciona un formato del anuncio
Ahora que ya se importó y se inicializó el SDK de anuncios de Google para dispositivos móviles, tienes todo listo para implementar un anuncio. AdMob ofrece una serie de formatos de anuncios diferentes, por lo que puedes elegir el que mejor se ajuste a la experiencia del usuario de tu app.
Banner
Las unidades de anuncios de banner muestran anuncios rectangulares que ocupan una parte del diseño de una app. y se pueden actualizar automáticamente después de un período determinado. Esto significa que los usuarios verán un anuncio nuevo en intervalos regulares, incluso si permanecen en la misma pantalla de tu app. Además, este formato de anuncio es el 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 tu app y se pueden colocar en pausas y transiciones naturales de la interfaz de tu app (por ejemplo, después de completar un nivel en una app de juego).
Implementa anuncios intersticiales
Nativo
Los anuncios nativos son anuncios en los que puedes personalizar la forma en que se presentan los recursos, como los títulos y los llamados a la acción, en tus aplicaciones. Si aplicas tu propio diseño al anuncio, puedes crear presentaciones naturales y discretas de ese anuncio que contribuyan a una experiencia del usuario enriquecida.
Recompensado
Las unidades de anuncios recompensados permiten que los usuarios jueguen, respondan encuestas o miren videos para obtener recompensas en la aplicación, como monedas, vidas adicionales o puntos. Puedes establecer recompensas distintas para cada unidad de anuncios y especificar los elementos y los valores de las recompensas obtenidas por el usuario.
Implementa anuncios recompensados
Intersticial recompensado
Los anuncios intersticiales recompensados son un nuevo tipo de formato de anuncios con incentivo 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, no se requiere que los usuarios acepten ver un intersticial recompensado.
En vez del mensaje de aceptación que se muestra en los anuncios recompensados, los intersticiales recompensados requieren una pantalla de introducción que anuncie la recompensa y les da a los usuarios la oportunidad de rechazarla si así lo desean.
Implementar anuncios intersticiales recompensados
Inicio de aplicación
El formato de anuncios para inicio de aplicación aparece cuando los usuarios abren tu app o vuelven a ella. Estos anuncios se superponen a la pantalla de carga.
Implementa anuncios de aplicación abierta