In diesem Leitfaden wird die Einbindung des IMA DAI SDK in eine Videoplayer-App beschrieben. Wenn Sie sich eine vollständige Beispielintegration ansehen oder nachvollziehen möchten, laden Sie das PodServingExample von GitHub herunter.
IMA DAI – Übersicht
Die Implementierung von IMA DAI umfasst vier Hauptkomponenten des SDK, wie in diesem Leitfaden beschrieben:
IMAAdDisplayContainer: Ein Containerobjekt, das sich über dem Videowiedergabeelement befindet und die UI-Elemente der Anzeige enthält.IMAAdsLoader: Ein Objekt, das Streams anfordert und Ereignisse verarbeitet, die durch Antwortobjekte für Streamanfragen ausgelöst werden. Sie sollten nur einen Anzeigen-Loader instanziieren, der während der gesamten Lebensdauer der Anwendung wiederverwendet werden kann.IMAStreamRequest: entweder einIMAPodVODStreamRequestoder einIMAPodStreamRequest.IMAStreamManager: Ein Objekt, das Streams für die dynamische Anzeigenbereitstellung und Interaktionen mit dem Backend für die dynamische Anzeigenbereitstellung verarbeitet. Der Stream-Manager verarbeitet auch Tracking-Pings und leitet Stream- und Anzeigenereignisse an den Publisher weiter.
Wenn Sie Pod-Bereitstellungsstreams abspielen möchten, müssen Sie außerdem einen benutzerdefinierten VTP-Handler implementieren. Dieser benutzerdefinierte VTP-Handler sendet die Stream-ID zusammen mit allen anderen erforderlichen Informationen an Ihren VTP, um ein Stream-Manifest mit Inhalten und zusammengefügten Anzeigen zurückzugeben. Ihr VTP bietet eine Anleitung zur Implementierung Ihres benutzerdefinierten VTP-Handlers.
Vorbereitung
Für den Start ist Folgendes erforderlich:
- Xcode 13 oder höher
- Methode zur Installation des IMA SDK:
- Swift Package Manager (bevorzugt)
- Eine herunterladbare Kopie des IMA SDK für iOS
Außerdem benötigen Sie die Parameter, um Ihren Stream vom IMA SDK anzufordern.
| Livestream-Parameter | |
|---|---|
| Netzwerkcode |
Der Netzwerkcode für Ihr Ad Manager 360-Konto. |
| Benutzerdefinierter Assetschlüssel |
Der benutzerdefinierte Asset-Schlüssel, der Ihr Pod-Serving-Ereignis in Ad Manager 360 identifiziert. Dieser wird von Ihrem Manifestbearbeitungstool oder Ihrem Drittanbieter für die Pod-Auslieferung erstellt. |
| VOD-Streamparameter | |
| Netzwerkcode |
Der Netzwerkcode für Ihr Ad Manager 360-Konto. |
Neues Xcode-Projekt erstellen
Erstellen Sie in Xcode ein neues iOS-Projekt mit Objective-C und dem Namen „PodServingExample“.
IMA DAI SDK zum Xcode-Projekt hinzufügen
Wählen Sie eine Methode aus, um das IMA SDK zu installieren.
Empfohlen: SDK mit Swift Package Manager installieren
Das Interactive Media Ads SDK unterstützt ab Version 3.18.4 den Swift Package Manager. Gehen Sie so vor, um das Swift-Paket zu importieren:
Installieren Sie in Xcode das Swift-Paket für das IMA DAI SDK: Gehen Sie zu File > Add Packages.
Suchen Sie in der angezeigten Eingabeaufforderung nach dem GitHub-Repository für das IMA DAI SDK Swift-Paket:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-iosWählen Sie die Version des IMA DAI SDK Swift-Pakets aus, die Sie verwenden möchten. Verwenden Sie für neue Projekte die Option Bis zur nächsten Hauptversion.
Anschließend löst Xcode die Paketabhängigkeiten auf und lädt sie im Hintergrund herunter. Weitere Informationen zum Hinzufügen von Paketabhängigkeiten finden Sie im Artikel von Apple.
SDK manuell herunterladen und installieren
Wenn Sie Swift Package Manager nicht verwenden möchten, laden Sie das IMA SDK herunter und fügen Sie es Ihrem Projekt manuell hinzu.
Videoplayer erstellen
Implementieren Sie einen Videoplayer in Ihrem Haupt-View-Controller und binden Sie einen AV-Player in eine UI-Ansicht ein. Das IMA SDK verwendet die UI-Ansicht, um UI-Elemente für Anzeigen darzustellen.
Objective-C
Swift
Anzeigenladeprogramm initialisieren
Importieren Sie das IMA SDK in Ihren Ansichts-Controller und übernehmen Sie die Protokolle IMAAdsLoaderDelegate und IMAStreamManagerDelegate, um Ereignisse des Anzeigen-Loaders und des Stream-Managers zu verarbeiten.
Fügen Sie diese privaten Properties hinzu, um wichtige IMA SDK-Komponenten zu speichern:
IMAAdsLoader- Verwaltet Streamanfragen während der gesamten Lebensdauer Ihrer App.
IMAAdDisplayContainer- Übernimmt das Einfügen und Verwalten von Elementen der Anzeigen-Benutzeroberfläche.
IMAAVPlayerVideoDisplay: Kommuniziert zwischen dem IMA SDK und Ihrem Mediaplayer und verarbeitet zeitgesteuerte Metadaten.IMAStreamManager: Verwaltet die Streamwiedergabe und löst anzeigenbezogene Ereignisse aus.
Initialisieren Sie das Anzeigenladeprogramm, den Anzeigen-Display-Container und die Videoanzeige, nachdem die Ansicht geladen wurde.
Objective-C
Swift
Streamanfrage stellen
Wenn ein Nutzer auf die Wiedergabeschaltfläche klickt, wird eine neue Streamanfrage gesendet.
Verwenden Sie die Klasse IMAPodStreamRequest für Livestreams. Verwenden Sie für VOD-Streams die Klasse IMAPodVODStreamRequest.
Für die Streamanfrage sind Ihre Streamparameter sowie ein Verweis auf Ihren Anzeigen- und Videocontainer erforderlich.
Objective-C
Swift
Auf Stream-Ladeereignisse warten
Die Klasse IMAAdsLoader ruft die Methoden IMAAdsLoaderDelegate auf, wenn die Streamanfrage erfolgreich initialisiert wurde oder fehlgeschlagen ist.
Legen Sie in der Delegatmethode adsLoadedWithData die IMAStreamManagerDelegate fest.
Übergebe die Stream-ID an deinen benutzerdefinierten VTP-Handler und rufe die URL des Stream-Manifests ab. Lade bei Livestreams die Manifest-URL in deine Videoanzeige und starte die Wiedergabe. Übergeben Sie bei VOD-Streams die Manifest-URL an die Methode loadThirdPartyStream des Stream-Managers. Bei dieser Methode werden Anzeigendaten von Ad Manager 360 angefordert. Anschließend wird die Manifest-URL geladen und die Wiedergabe gestartet.
Protokollieren Sie den Fehler in der Delegatmethode failedWithErrorData. Optional: Spielen Sie den Back-up-Stream ab. Weitere Informationen finden Sie unter Best Practices für die dynamische Anzeigenbereitstellung.
Objective-C
Swift
Benutzerdefinierten VTP-Handler implementieren
Der benutzerdefinierte VTP-Handler sendet die Stream-ID des Zuschauers zusammen mit allen anderen Informationen, die der VTP benötigt, um ein Stream-Manifest mit Inhalten und zusammengefügten Anzeigen zurückzugeben, an Ihren technischen Videopartner (VTP). Ihr VTP bietet spezifische Anleitungen zur Implementierung Ihres benutzerdefinierten VTP-Handlers.
Ein VTP kann beispielsweise eine Manifestvorlagen-URL mit dem Makro [[STREAMID]] enthalten. In diesem Beispiel fügt der Handler die Stream-ID anstelle des Makros ein und gibt die resultierende Manifest-URL zurück.
Objective-C
Swift
Auf Anzeigenereignisse warten
Der IMAStreamManager ruft die IMAStreamManagerDelegate-Methoden auf, um Streamereignisse und ‑fehler an Ihre Anwendung zu übergeben.
In diesem Beispiel werden die primären Anzeigenereignisse in der Konsole protokolliert:
Objective-C
Swift
IMA-DAI-Assets bereinigen
Wenn Sie die Streamwiedergabe beenden, das gesamte Anzeigen-Tracking stoppen und alle geladenen Stream-Assets freigeben möchten, rufen Sie IMAStreamManager.destroy() auf.
Führen Sie Ihre App aus. Wenn die Ausführung erfolgreich ist, können Sie mit dem IMA SDK Streams für die dynamische Anzeigenbereitstellung von Google anfordern und abspielen. Weitere Informationen zu erweiterten SDK-Funktionen finden Sie in den anderen Leitfäden in der linken Seitenleiste oder in den Beispielen auf GitHub.