Inizia

Questa guida è rivolta ai publisher che vogliono monetizzare un'app per iOS con AdMob e non utilizzano Firebase. Se prevedi di includere Firebase nella tua app (o lo 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 visualizzare annunci e generare entrate. Dopo aver integrato l'SDK, puoi procedere con l'implementazione di uno o più dei formati di annunci supportati.

Prerequisiti

  • Utilizza Xcode 15.3 o versioni successive
  • Scegli come target iOS 12.0 o versioni successive

Importa l'SDK Mobile Ads

Utilizza uno dei seguenti metodi per importare l'SDK Google Mobile Ads.

CocoaPods (opzione preferita)

Il modo più semplice per importare l'SDK in un progetto iOS è utilizzare CocoaPods. Apri il podfile del progetto e aggiungi questa riga al target dell'app:

pod 'Google-Mobile-Ads-SDK'

Quindi, dalla riga di comando, esegui:

pod install --repo-update

Se non hai mai utilizzato CocoaPods, consulta la relativa 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:

  1. In Xcode, installa Google Mobile Ads Swift Package selezionando File > Add Packages... (File > Aggiungi pacchetti).

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

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

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

Download manuale

  1. Scarica l'SDK Google Mobile Ads e Embed & Sign i seguenti framework nel tuo progetto Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Aggiungi il flag del linker -ObjC ad Altri flag del linker nelle impostazioni della build del tuo progetto:

Aggiorna il file Info.plist

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

  1. Una chiave GADApplicationIdentifier con un valore stringa del tuo AdMob app ID found in the AdMob UI.

  2. Una chiave SKAdNetworkItems con valori SKAdNetworkIdentifier per Google (cstr6suwn9.skadnetwork) e acquirenti di terze parti selezionati che hanno fornito questi valori a Google.

Snippet completo

<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>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>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>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>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>eh6m2bh4zr.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>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.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>pwa73g5rt2.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>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, il momento è il momento giusto per farlo.

In un'app reale, sostituisci l'ID app di esempio con l'ID app effettivo AdMob . Puoi utilizzare l'ID esempio se stai solo sperimentando con l'SDK in un'app Hello World.

Inizializza l'SDK Mobile Ads

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

Ecco un esempio di come chiamare il metodo startWithCompletionHandler: in AppDelegate:

AppDelega di esempio (estratto)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

Seleziona un formato dell'annuncio

L'SDK Mobile Ads è stato importato e inizializzato ed è tutto pronto per implementare un annuncio. AdMob offre una serie di formati di annunci diversi, così puoi scegliere quello più adatto all'esperienza utente della tua app.

Gli sviluppatori di SwiftUI possono seguire la nostra guida SwiftUI.

Le unità pubblicitarie banner mostrano annunci rettangolari che occupano una parte del layout dell'app. Possono aggiornarsi automaticamente dopo un determinato periodo di tempo. Ciò significa che gli utenti visualizzano un nuovo annuncio a intervalli regolari, anche se rimangono nella stessa schermata dell'app. Sono inoltre il formato dell'annuncio più semplice da implementare.

Implementare gli annunci banner

Interstitial

Le unità pubblicitarie interstitial mostrano annunci a pagina intera nella tua app. Posizionali in corrispondenza di interruzioni e transizioni naturali nell'interfaccia dell'app, ad esempio dopo il completamento di un livello in un'app di gioco.

Implementare gli annunci interstitial

Nativo

Gli annunci nativi sono annunci in cui puoi personalizzare il modo in cui asset, come titoli e inviti all'azione, vengono presentati nelle tue app. Applicando lo stile all'annuncio, puoi creare presentazioni dell'annuncio naturali e discrete per arricchire l'esperienza utente.

Implementare gli annunci nativi

Con premio

Le unità pubblicitarie con premio consentono agli utenti di giocare, partecipare a sondaggi o guardare video per vincere premi in-app, come monete, vite extra o punti. Puoi impostare premi diversi per unità pubblicitarie diverse e specificare i valori e gli articoli ricevuti dall'utente.

Implementare gli annunci con premio

Interstitial con premio

Interstitial con premio è un nuovo tipo di formato dell'annuncio incentivato che ti consente di offrire premi, ad esempio monete o vite extra, per gli annunci che vengono visualizzati automaticamente durante le naturali transizioni dell'app.

A differenza degli annunci con premio, gli utenti non devono attivare la visualizzazione degli interstitial con premio.

Invece della richiesta di attivazione negli annunci con premio, gli interstitial con premio richiedono una schermata introduttiva che annuncia il premio e offre agli utenti la possibilità di disattivare questa opzione.

Implementare gli annunci interstitial con premio

Apertura app

L'apertura dell'app è un formato dell'annuncio che viene visualizzato quando gli utenti aprono la tua app o vi tornano. L'annuncio si sovrappone alla schermata di caricamento.

Implementare gli annunci apertura app