Questa guida illustra l'integrazione dell'SDK IMA DAI in un'app video player. Se vuoi visualizzare o seguire un'integrazione di esempio completata, scarica BasicExample da GitHub.
Panoramica di IMA DAI
L'implementazione di IMA DAI prevede quattro componenti principali dell'SDK, come illustrato in questa guida:
IMAAdDisplayContainer: un oggetto contenitore che si trova sopra l'elemento di riproduzione video e ospita gli elementi UI dell'annuncio.IMAAdsLoader: un oggetto che richiede stream e gestisce gli eventi attivati dagli oggetti di risposta alle richieste di stream. Devi creare un'istanza di un solo caricatore di annunci, che può essere riutilizzato per tutta la durata dell'applicazione.IMAStreamRequest:IMAVODStreamRequestoIMALiveStreamRequest. Un oggetto che definisce una richiesta di stream. Le richieste di stream possono riguardare video on demand o live streaming. Le richieste di live streaming specificano una chiave asset, mentre le richieste VOD specificano un ID CMS e un ID video. Entrambi i tipi di richiesta possono includere facoltativamente una chiave API necessaria per accedere agli stream specificati e un codice di rete Google Ad Manager per consentire all'SDK IMA di gestire gli identificatori degli annunci come specificato nelle impostazioni di Google Ad Manager.IMAStreamManager: un oggetto che gestisce gli stream di inserimento di annunci dinamici e le interazioni con il backend DAI. Il gestore degli stream gestisce anche i ping di monitoraggio e inoltra gli eventi di stream e annunci al publisher.
Prerequisiti
Prima di iniziare, devi disporre di quanto segue:
- Xcode 13 o versioni successive
- Metodo per l'installazione dell'SDK IMA:
- Swift Package Manager (opzione preferita)
- Una copia scaricata dell'SDK IMA per iOS
Inoltre, i parametri sono necessari per richiedere lo stream dall'SDK IMA. Per esempi di parametri di richiesta, consulta Stream di esempio.
| Parametri di live streaming | |
|---|---|
| Chiave asset |
La chiave asset che identifica il tuo live streaming in Google Ad Manager. Esempio: c-rArva4ShKVIAkNfy6HUQ
|
| Parametri dello stream VOD | |
| ID origine di contenuto |
L'ID dell'origine di contenuto di Google Ad Manager. Esempio: 2548831
|
| ID video |
L'ID video di Google Ad Manager. Esempio: tears-of-steel
|
| Parametri comuni (VOD e live streaming) | |
| Codice di rete |
Il tuo codice di rete Google Ad Manager. Esempio: 21775744923
|
Crea un nuovo progetto Xcode
In Xcode, crea un nuovo progetto iOS utilizzando Objective-C denominato "BasicExample".
Aggiungi l'SDK IMA DAI al progetto Xcode
Per installare l'SDK IMA, scegli un metodo preferito.
(Consigliato) Installa l'SDK utilizzando Swift Package Manager
L'SDK Interactive Media Ads supporta Swift Package Manager a partire dalla versione 3.18.4. Segui questi passaggi per importare il pacchetto Swift.
In Xcode, installa il pacchetto Swift dell'SDK IMA DAI: vai a File > Add Packages (File > Aggiungi pacchetti).
Nel prompt visualizzato, cerca il repository GitHub del pacchetto Swift dell'SDK IMA DAI:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-iosSeleziona la versione del pacchetto Swift dell'SDK IMA DAI che vuoi utilizzare. Per i nuovi progetti, utilizza Up to Next Major Version.
Al termine, Xcode risolve le dipendenze del pacchetto e le scarica in background. Per maggiori dettagli su come aggiungere dipendenze dei pacchetti, consulta l'articolo di Apple.
Scarica e installa manualmente l'SDK
Se non vuoi utilizzare Swift Package Manager, scarica e aggiungi manualmente l'SDK IMA al tuo progetto.
Crea un video player
Implementa un video player nel view controller principale; inserisci un AV player in una visualizzazione UI. L'SDK IMA utilizza la visualizzazione UI per mostrare gli elementi UI degli annunci display.
Objective-C
Swift
Inizializza il caricatore di annunci
Importa l'SDK IMA nel tuo view controller e adotta i protocolli IMAAdsLoaderDelegate e IMAStreamManagerDelegate per gestire gli eventi del caricatore di annunci e del gestore di stream.
Aggiungi queste proprietà private per archiviare i componenti chiave dell'SDK IMA:
IMAAdsLoader- Gestisce le richieste di stream per l'intero ciclo di vita della tua app.
IMAAdDisplayContainer- Gestisce l'inserimento e la gestione degli elementi dell'interfaccia utente degli annunci.
IMAAVPlayerVideoDisplay: comunica tra l'SDK IMA e il media player e gestisce i metadati temporizzati.IMAStreamManager: gestisce la riproduzione dello stream e attiva gli eventi correlati agli annunci.
Inizializza il caricatore di annunci, il contenitore di visualizzazione degli annunci e la visualizzazione video dopo il caricamento della visualizzazione.
Objective-C
Swift
Invia una richiesta di stream
Quando un utente preme il pulsante di riproduzione, effettua una nuova richiesta di stream.
Utilizza la classe IMALiveStreamRequest per i live streaming. Per gli stream VOD, utilizza la classe IMAVODStreamRequest.
La richiesta di stream richiede i parametri dello stream, nonché un riferimento al contenitore di visualizzazione degli annunci e alla visualizzazione video.
Objective-C
Swift
Ascolta gli eventi di caricamento dello stream
La classe IMAAdsLoader chiama i metodi IMAAdsLoaderDelegate in caso di inizializzazione riuscita o non riuscita della richiesta di stream.
Nel metodo delegato adsLoadedWithData, imposta IMAStreamManagerDelegate.
Inizializza lo Stream Manager. Durante l'inizializzazione, il gestore degli stream avvia la riproduzione.
Nel metodo delegato failedWithErrorData, registra l'errore. Se vuoi, riproduci lo stream di backup. Consulta le best practice per DAI.
Objective-C
Swift
Ascolta gli eventi degli annunci
IMAStreamManager chiama i metodi IMAStreamManagerDelegate per passare gli eventi e gli errori dello stream alla tua applicazione.
Per questo esempio, registra gli eventi degli annunci principali nella console:
Objective-C
Swift
Esegui l'app. Se l'operazione va a buon fine, richiedi e riproduci gli stream DAI di Google con l'SDK IMA. Per scoprire di più sulle funzionalità più avanzate dell'SDK, consulta le altre guide elencate nella barra laterale a sinistra o gli esempi su GitHub.