Configura l'SDK Google Mobile Ads

Per pubblicare annunci e generare entrate, integra Google Mobile Ads SDK nella tua app per iOS. Per preparare il progetto, importa e inizializza Google Mobile Ads SDK prima di richiedere gli annunci.

Se includi Firebase nella tua app per iOS, consulta Inizia a utilizzare AdMob nel tuo progetto iOS.

Questa guida illustra l'importazione e l'inizializzazione di Google Mobile Ads SDK e la selezione di un formato dell'annuncio.

Prerequisiti

Prima di continuare, assicurati di avere quanto segue:

  • Utilizza Xcode 16.0 o versioni successive.
  • Target iOS 13.0 o versioni successive.

Importa Google Mobile Ads SDK

Per importare Google Mobile Ads SDK, completa una delle seguenti sezioni:

Swift Package Manager (consigliato)

Per aggiungere una dipendenza del pacchetto al tuo progetto:

  1. Apri Xcode.
  2. Vai a File > Add Package Dependencies… (File > Aggiungi dipendenze pacchetto…).
  3. Installa il pacchetto Swift Google Mobile Ads SDK.

  4. Nel prompt visualizzato, cerca il repository GitHub del pacchetto Swift di Google Mobile Ads:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. Seleziona la versione del pacchetto Swift Google Mobile Ads SDK che vuoi utilizzare. Per i nuovi progetti, ti consigliamo di utilizzare Fino alla prossima versione principale.

CocoaPods

Per utilizzare CocoaPods, segui questi passaggi:

  1. Apri il Podfile del progetto e aggiungi questa riga alla configurazione di build target dell'app:

    pod 'Google-Mobile-Ads-SDK'
    
  2. In un terminale, esegui questo comando:

    pod install --repo-update

Configura la destinazione di deployment per Xcode 27

Xcode 27 richiede una destinazione di deployment minima di iOS 15.0 per tutti i target. Poiché Google Mobile Ads SDK supporta iOS 13.0, le build Xcode 27 non riescono quando si utilizza CocoaPods.

Per risolvere il problema, procedi nel seguente modo:

  1. Apri il Podfile del tuo progetto e aggiungi un hook post_install che imposta il target di deployment su 15.0. Se hai un blocco post_install, aggiungi il ciclo interno al blocco esistente.

    L'esempio seguente imposta la chiave IPHONEOS_DEPLOYMENT_TARGET su 15.0 per tutti i target pod:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
        end
      end
    end
    
  2. Per reinstallare i pod, esegui questo comando:

    pod install --repo-update

Download manuale

Per scaricare manualmente Google Mobile Ads SDK:

  1. Scarica Google Mobile Ads SDK.
  2. Estrai il pacchetto googlemobileadssdkios.zip.
  3. Nel progetto Xcode, aggiungi i seguenti framework:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. Nelle impostazioni Generali del target, vai a Framework, librerie e contenuti incorporati.

  5. Conferma di aver impostato GoogleMobileAds.xcframework e UserMessagingPlatform.xcframework su Incorpora e firma.

  6. Nelle impostazioni di build del progetto, procedi nel seguente modo:

    • Aggiungi il percorso /usr/lib/swift a Percorsi di ricerca Runpath.
    • Aggiungi il flag del linker -ObjC a Altri flag del linker.

Aggiornare il file Info.plist

Nel file Info.plist dell'app, aggiungi le seguenti chiavi:

Esempio 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>wg4vff78zm.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>

Sostituisci SAMPLE_APP_ID con l'ID della tua app monetizzata con AdMob. Durante il test, utilizza l'ID app di esempio mostrato nell'esempio precedente.

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

Inizializza Google Mobile Ads SDK

Prima di caricare gli annunci, inizializza Google Mobile Ads SDK chiamando il metodo start() dalla proprietà GADMobileAds.sharedInstance. Questo metodo chiama un gestore di completamento dopo che Google Mobile Ads SDK e gli adattatori di mediazione hanno terminato l'elaborazione o dopo 30 secondi.

L'esempio seguente inizializza Google Mobile Ads SDK:

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];

Durante l'inizializzazione, Google Mobile Ads SDK potrebbe precaricare gli annunci o inizializzare gli SDK di terze parti quando viene chiamato il metodo startWithCompletionHandler:. Se devi ottenere il consenso degli utenti nello Spazio economico europeo (SEE), nel Regno Unito (Regno Unito) o in Svizzera, imposta flag specifici per la richiesta. Se devi impostare flag specifici per la richiesta, assicurati di impostarli prima di inizializzare Google Mobile Ads SDK. Per maggiori dettagli, vedi Targeting.

Seleziona un formato dell'annuncio

Dopo aver importato Google Mobile Ads SDK, puoi selezionare un formato dell'annuncio da implementare.

AdMob offre i seguenti formati degli annunci:

Formato dell'annuncio Descrizione Documentazione
Banner Mostra annunci rettangolari in una sezione del layout dell'app. Questo annuncio viene aggiornato automaticamente a intervalli prestabiliti. Gli utenti vedono questi annunci periodicamente quando rimangono sulla stessa schermata. Configurare gli annunci banner
Interstitial Mostra annunci a schermo intero nell'app. Posiziona questo annuncio in un punto in cui nell'interfaccia dell'app si verifica una pausa naturale o una transizione, ad esempio dopo il completamento di un livello in un'app di gioco. Annunci interstitial
Nativo Consente di personalizzare gli asset, ad esempio titoli e inviti all'azione, nelle tue app. Quando personalizzi l'annuncio, crei annunci che corrispondono al design visivo della tua app. Caricare un annuncio nativo
Con premio Gli utenti guadagnano premi in-app, come monete o punti, giocando, partecipando a sondaggi o guardando video. Puoi impostare premi per le unità pubblicitarie e specificare i valori e gli elementi dei premi che riceveranno gli utenti. Annunci con premio
Interstitial con premio Consente di offrire premi, ad esempio monete o vite extra, per gli annunci che vengono visualizzati durante le transizioni dell'app. Annunci interstitial con premio
Apertura app Viene visualizzato quando gli utenti aprono la tua app o vi tornano. L'annuncio si sovrappone alla schermata di caricamento. Annunci apertura app