Per iniziare

L'integrazione dell'SDK Google Mobile Ads in un'app è il primo passo verso mostrare annunci e generare entrate. Una volta integrato l'SDK, puoi di implementare una o più delle formati di annunci supportati.

Prerequisiti

  • Usa 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. Aperto al 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 le relative documentazione ufficiale per informazioni sulla creazione e sull'uso dei podfile.

Gestore 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 il pacchetto Swift Google Mobile Ads andando su File > Aggiungi pacchetti...

  2. Nel prompt visualizzato, cerca il pacchetto Swift Google Mobile Ads. Repository GitHub:

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

Al termine, Xcode inizierà a risolvere le dipendenze dei pacchetti scaricandole in background. Per maggiori dettagli su come aggiungere un pacchetto vedi l'articolo di Apple.

Download manuale

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

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Aggiungi il flag linker -ObjC ad Altri flag linker nella cartella impostazioni build:

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 Ad Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  2. Una chiave SKAdNetworkItems con SKAdNetworkIdentifier valori per Google (cstr6suwn9.skadnetwork) e seleziona acquirenti di terze parti 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>

Per prestazioni di inizializzazione ottimali, è importante associare il rendimento gruppi con le app specifiche in cui vengono utilizzati. Configurazioni del gruppo di rendimento che hanno come target iOS e non sono associate a un'app specifica verranno inviate a tutti gli utenti iOS le app nel tuo account, allungando potenzialmente il tempo necessario per l'inizializzazione.

In un'app reale, sostituisci l'ID app di esempio con il tuo Ad Manager ID app. Puoi utilizzare l'ID di esempio se stai solo sperimentando l'SDK in un'app Hello World.

Inizializzare l'SDK Mobile Ads

Prima di caricare gli annunci, chiama il metodo startWithCompletionHandler: nella GADMobileAds.sharedInstance che inizializza l'SDK e richiama un gestore di completamento una volta l'inizializzazione sia completa (o dopo un timeout di 30 secondi). Deve essere 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 il tuo AppDelegate:

Esempio AppDelegato (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. Ad Manager offre una serie di formati di annunci diversi, così puoi scegliere quello più adatto alle esigenze degli utenti un'esperienza senza intervento manuale.

Gli sviluppatori SwiftUI possono seguire la nostra SwiftUI .

Le unità pubblicitarie banner mostrano annunci rettangolari che occupano una parte della layout. Possono aggiornarsi automaticamente dopo un determinato periodo di tempo. Ciò significa Gli utenti visualizzano un nuovo annuncio a intervalli regolari, anche se rimangono invariati schermata nell'app. Inoltre, sono 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. Posizionale nella posizione naturale interruzioni e transizioni nell'interfaccia dell'app, ad esempio al 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, ad esempio titoli e gli inviti all'azione vengono presentati nelle tue app. Impostando lo stile dell'annuncio autonomamente, puoi creare presentazioni di annunci naturali e discrete che possano arricchire la presentazione un'esperienza senza intervento manuale.

Google Ad Manager offre due modi per implementare gli annunci nativi: gli stili nativi e per gli annunci nativi standard tramite il rendering personalizzato.

Gli stili nativi sono stati progettati per semplificare l'implementazione di annunci nativi, ed è un'ottima scelta se sei alle prime armi con questo formato. Il rendering personalizzato è stato progettato per massimizzare la libertà di creazione delle tue presentazioni.

Implementare gli stili nativi Implementare annunci nativi (rendering personalizzato)

Con premio

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

Implementare gli annunci con premio

Interstitial con premio

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

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

Invece della richiesta di attivazione negli annunci con premio, gli interstitial con premio richiedono un schermata introduttiva che annuncia il premio e offre agli utenti la possibilità di disattivarla se vogliano farlo.

Implementare gli annunci interstitial con premio

Apertura app

Apertura app è un formato dell'annuncio che viene visualizzato quando gli utenti aprono o tornano al tuo dell'app. L'annuncio si sovrappone alla schermata di caricamento.

Implementare gli annunci apertura app