Questa guida è rivolta ai publisher che vogliono monetizzare un'app per iOS con AdMob e non utilizzano Firebase. Se hai intenzione di includere Firebase nella tua app (o se stai prendendo in considerazione), consulta la versione AdMob con Firebase di questa guida.
Integrare l'SDK Google Mobile Ads in un'app è il primo passo per pubblicare annunci e generare entrate. Una volta integrato l'SDK, puoi procedere con l'implementazione di uno o più formati degli annunci supportati.
Prerequisiti
- Utilizza Xcode 13.2.1 o versioni successive
- Scegliere come target iOS 10.0 o versioni successive
- Metodo consigliato: Crea un account AdMob e registra un'app.
Importa l'SDK Google Mobile Ads
CocoaPods (preferito)
Il modo più semplice per importare l'SDK in un progetto iOS è utilizzare CocoaPods. Apri il podfile del tuo progetto e aggiungi questa riga alla destinazione dell'app:
pod 'Google-Mobile-Ads-SDK'
Quindi, dalla riga di comando esegui:
pod install --repo-update
Se non hai esperienza con CocoaPods, consulta la documentazione ufficiale per informazioni su come creare e utilizzare i Podfile.
Gestione pacchetti Swift
L'SDK Google Mobile Ads supporta Swift Package Manager a partire dalla versione 9.0.0. Segui questi passaggi per importare il pacchetto Swift.
In Xcode, installa il pacchetto Google Mobile Ads Swift andando su File > Add Packages... (File > Aggiungi pacchetti...).
Nella richiesta visualizzata, cerca il repository GitHub di Google Mobile Ads Package:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Seleziona la versione del pacchetto Swift di Google Mobile Ads che vuoi utilizzare. Per i nuovi progetti, consigliamo di usare fino alla versione principale successiva.
Al termine, Xcode inizierà a risolvere le dipendenze del pacchetto e le scarica in background. Per maggiori dettagli su come aggiungere dipendenze dei pacchetti, consulta l'articolo di Apple.
Download manuale
Scarica e decomprimi direttamente il framework dell'SDK e importa i seguenti framework nel tuo progetto Xcode:
GoogleAppMeasurement.xcframework
GoogleAppMeasurementIdentitySupport.xcframework
GoogleMobileAds.xcframework
GoogleUtilities.xcframework
nanopb.xcframework
PromisesObjC.xcframework
UserMessagingPlatform.xcframework
Aggiungi il flag del link
-ObjC
ad Altri flag del linker nelle impostazioni di compilazione del progetto:
Aggiorna il tuo file Info.plist
Aggiorna il file Info.plist
della tua app per aggiungere due chiavi:
- Una chiave
GADApplicationIdentifier
con un valore stringa del tuo AdMob ID app (identificato nella AdMob UI). - Una chiave
SKAdNetworkItems
con valoriSKAdNetworkIdentifier
per Google (cstr6suwn9.skadnetwork
) e seleziona altri acquirenti che hanno fornito questi valori 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>
Se non hai ancora creato un account AdMob e registrato un'app, questo è il momento giusto per farlo.
Inizializza l'SDK Google Mobile Ads
Prima di caricare gli annunci, chiama il metodo startWithCompletionHandler:
in GADMobileAds.sharedInstance
, che inizializza l'SDK e richiama un gestore di completamento una volta completata l'inizializzazione (o dopo un timeout di 30 secondi). Questa operazione deve essere eseguita una sola volta, idealmente al momento del lancio dell'app. Ti consigliamo di chiamare startWithCompletionHandler:
il prima possibile.
Ecco un esempio di come richiamare il metodo startWithCompletionHandler:
in
AppDelegate
:
Esempio di AppDelegate.m (estratto)
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
Se utilizzi la mediazione, ti consigliamo di attendere fino a quando non viene chiamato il gestore di completamento prima di caricare gli annunci, per assicurarti che tutti gli adattatori di mediazione siano inizializzati.
Seleziona un formato dell'annuncio
L'SDK Google Mobile Ads ora è importato e inizializzato. Puoi procedere con l'implementazione di un annuncio. AdMob Offre vari formati di annunci diversi, in modo che tu possa scegliere quello più adatto all'esperienza utente della tua app.
Banner
Annunci rettangolari visualizzati nella parte superiore o inferiore dello schermo del dispositivo. Gli annunci banner rimangono sullo schermo mentre gli utenti interagiscono con l'app e possono essere aggiornati automaticamente dopo un determinato periodo di tempo. Se non hai mai utilizzato la pubblicità per il mobile, sono un ottimo punto di partenza.
Interstitial
Annunci a schermo intero che coprono l'interfaccia di un'app fino alla chiusura dall'utente. Vengono usati al meglio nelle pause naturali del flusso di esecuzione di un'app, ad esempio tra i livelli di un gioco o subito dopo il completamento di un'attività.
Implementare un annuncio interstitial
Nativo
Annunci personalizzabili che rispecchiano l'aspetto e l'aspetto della tua app. Decidi come e dove devono essere posizionati, in modo che il layout sia più in linea con il design della tua app.
Con premio
Annunci che premiano gli utenti per la visione di brevi video e l'interazione con annunci e sondaggi demo. Ideale per monetizzare gli utenti free-to-play.
Implementare gli annunci con premio | Implementare gli annunci con premio (nuove API) |