Per iniziare

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 hai preso 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. Dopo aver integrato l'SDK, puoi procedere con l'implementazione di uno o più formati di annunci supportati.

Prerequisiti

  • Usa Xcode 13.2.1 o versioni successive
  • Scegliere come target iOS 10.0 o versioni successive

Importare l'SDK Mobile Ads

CocoaPods (consigliato)

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 della tua app:

pod 'Google-Mobile-Ads-SDK'

Quindi, dall'esecuzione della riga di comando:

pod install --repo-update

Se non hai mai utilizzato CocoaPods, consulta la relativa documentazione ufficiale per informazioni su come creare e utilizzare i Podfile.

Gestore pacchetti Swift

L'SDK Google Mobile Ads supporta Swift Package Manager a partire dalla versione 9.0.0. Per importare il pacchetto Swift, procedi nel seguente modo.

  1. In Xcode, installa il pacchetto Swift di Google Mobile Ads passando a File > Aggiungi pacchetti....

  2. Nel messaggio visualizzato, cerca il repository Google Mobile Ads Swift Package:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Seleziona la versione del pacchetto Swift di Google Mobile Ads che vuoi utilizzare. Per i nuovi progetti, consigliamo di utilizzare l'opzione Prossima versione principale.

Al termine, Xcode inizierà a risolvere le dipendenze del pacchetto e a scaricarle in background. Per maggiori dettagli su come aggiungere le dipendenze dei pacchetti, consulta l'articolo di Apple.

Download manuale

  1. Scarica e decomprimi direttamente il framework SDK e importa i seguenti framework nel tuo progetto Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. Aggiungi il flag linker -ObjC ad Altri linker nelle impostazioni di build del progetto:

Aggiorna il tuo Info.plist

Aggiorna il file Info.plist dell'app per aggiungere due chiavi:

  1. Una chiave GADApplicationIdentifier con un valore stringa dell'AdMob ID app (identificato nell'AdMob interfaccia utente.
  2. Una chiave SKAdNetworkItems con valori SKAdNetworkIdentifier per Google (cstr6suwn9.skadnetwork) e acquirenti aggiuntivi 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>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>

Se non hai ancora creato un account AdMob e registrato un'app, è il momento di farlo.

Inizializzare l'SDK Mobile Ads

Prima di caricare gli annunci, chiama il metodo startWithCompletionHandler: sulGADMobileAds.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. Dovresti chiamare startWithCompletionHandler: il prima possibile.

Ecco un esempio di come chiamare il metodo startWithCompletionHandler: nel tuo AppDelegate:

Esempio 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, in modo da garantire che tutti gli adattatori di mediazione siano inizializzati.

Seleziona un formato dell'annuncio

L'SDK Mobile Ads è stato importato e inizializzato: puoi iniziare a implementare un annuncio. AdMob Offre una serie di formati di annunci diversi, così puoi scegliere quello più adatto alla tua esperienza utente.

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 aggiornarsi automaticamente dopo un certo periodo di tempo. Se non hai mai utilizzato la pubblicità per il mobile, sei un buon punto di partenza.

Implementare un banner

Interstitial

Annunci a schermo intero che coprono l'interfaccia di un'app fino alla chiusura dell'utente. Sono ideali per le pause naturali nel flusso dell'esecuzione di un'app, ad esempio tra un livello e l'altro di un gioco o subito dopo il completamento di un'attività.

Implementare un annuncio interstitial

Nativo

Annunci personalizzabili che si adattano all'aspetto della tua app. Decidi come e dove vengono posizionati, in modo che il layout sia più coerente con il design dell'app.

Implementa Native Ads

Con premio

Annunci che premiano gli utenti per la visione di brevi video e l'interazione con annunci demo e sondaggi. Ideale per la monetizzazione di utenti free-play.

Implementa gli annunci con premio Implementare gli annunci con premio (nuove API)