使用 IMA SDK,即可輕鬆將多媒體廣告整合至網站和應用程式。IMA SDK 可向任何 符合 VAST 規定的廣告伺服器請求廣告,並在應用程式中管理廣告播放。應用程式可透過 IMA DAI SDK,對廣告和內容影片 (隨選影片或直播內容) 提出串流請求。SDK 接著會傳回合併的影片串流,因此您不必在應用程式中管理廣告和內容影片之間的切換。
選取您感興趣的 DAI 解決方案
廣告連播放送 DAI
本指南說明如何將 IMA DAI SDK 整合至簡易影片播放器應用程式。如要查看或跟著完成範例整合,請從 GitHub 下載 PodServingExample。
IMA DAI 總覽
如本指南所示,導入 IMA DAI 需使用四個主要 SDK 元件:
IMAAdDisplayContainer
: 位於影片播放元素頂端的容器物件,內含廣告 UI 元素。IMAAdsLoader
: 這個物件會要求串流,並處理串流要求回應物件觸發的事件。 您應只例項化一個廣告載入器,並在整個應用程式生命週期內重複使用。IMAStreamRequest
–IMAPodVODStreamRequest
或IMAPodStreamRequest
。IMAStreamManager
: 這個物件會處理動態廣告插播串流,以及與 DAI 後端的互動。串流管理工具也會處理追蹤 Ping,並將串流和廣告事件轉送給發布商。
此外,如要播放 Pod 放送串流,您必須實作自訂 VTP 處理常式。這個自訂 VTP 處理常式會將串流 ID 連同其他資訊傳送給影片技術合作夥伴 (VTP),以便傳回包含內容和縫合廣告的串流資訊清單。VTP 會提供操作說明,引導您導入自訂 VTP 處理常式。
必要條件
開始之前,請先備妥下列項目:
- Xcode 13 以上版本
- CocoaPods (建議使用)、Swift Package Manager 或 iOS 適用的 IMA DAI SDK 下載副本
您也需要使用 IMA SDK 請求串流的參數。
直播參數 | |
---|---|
聯播網代碼 |
Ad Manager 360 帳戶的聯播網代碼。 |
自訂素材資源金鑰 |
自訂素材資源鍵,用於在 Ad Manager 360 中識別 Pod Serving 事件。這類資訊清單可由資訊清單操控器或第三方廣告連播放送合作夥伴建立。 |
VOD 串流參數 | |
聯播網代碼 |
Ad Manager 360 帳戶的聯播網代碼。 |
建立新的 Xcode 專案
在 Xcode 中,使用名為「PodServingExample」的 Objective-C 建立新的 iOS 專案。
將 IMA DAI SDK 新增至 Xcode 專案
請使用下列三種方法之一安裝 IMA DAI SDK。
使用 CocoaPods 安裝 SDK (建議)
CocoaPods 是 Xcode 專案的依附元件管理工具,建議您使用這個工具安裝 IMA DAI SDK。如要進一步瞭解如何安裝或使用 CocoaPods,請參閱 CocoaPods 說明文件。安裝 CocoaPods 後,請按照下列操作說明安裝 IMA DAI SDK:
在 PodServingExample.xcodeproj 檔案所在的目錄中,建立名為 Podfile 的文字檔,並新增下列設定:
在包含 Podfile 的目錄中執行下列指令:
pod install --repo-update
使用 Swift Package Manager 安裝 SDK
互動式媒體廣告 SDK 從 3.18.4 版開始支援 Swift Package Manager。請按照下列步驟匯入 Swift 套件。
在 Xcode 中,依序前往「File」>「Add Packages」,安裝 IMA DAI SDK Swift Package。
在顯示的提示中,搜尋 IMA DAI SDK Swift Package GitHub 存放區:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-ios
選取要使用的 IMA DAI SDK Swift 套件版本。對於新專案,建議使用「Up to Next Major Version」。
完成後,Xcode 會解析套件依附元件,並在背景下載。如要進一步瞭解如何新增套件依附元件,請參閱 Apple 的文章。
手動下載並安裝 SDK
如果不想使用 Swift Package Manager 或 CocoaPods,可以下載 IMA DAI SDK,然後手動新增至專案。
建立簡單的影片播放器
在主要檢視控制器中導入影片播放器,並使用封裝在 UI 檢視區塊中的 AV 播放器。IMA SDK 會使用 UI 檢視畫面顯示廣告 UI 元素。
Objective-C
Swift
初始化廣告載入器
將 IMA SDK 匯入檢視畫面控制器,並採用 IMAAdsLoaderDelegate
和 IMAStreamManagerDelegate
通訊協定,處理廣告載入器和串流管理員事件。
新增這些私有屬性,儲存重要的 IMA SDK 元件:
IMAAdsLoader
- 管理應用程式生命週期內的串流要求。IMAAdDisplayContainer
- 處理廣告使用者介面元素的插入和管理作業。IMAAVPlayerVideoDisplay
- 在 IMA SDK 與媒體播放器之間進行通訊,並處理時間中繼資料。IMAStreamManager
- 管理串流播放作業,並觸發廣告相關事件。
在檢視畫面載入後,初始化廣告載入器、廣告顯示容器和影片顯示。
Objective-C
Swift
提出串流要求
使用者按下播放按鈕時,請發出新的串流要求。
使用
IMAPodStreamRequest
類別進行直播。如為 VOD 串流,請使用 IMAPodVODStreamRequest
類別。
串流請求需要串流參數,以及廣告顯示容器和影片顯示的參照。
Objective-C
Swift
監聽串流載入事件
如果串流要求初始化成功或失敗,IMAAdsLoader
類別會呼叫 IMAAdsLoaderDelegate
方法。
在 adsLoadedWithData
委派方法中,設定 IMAStreamManagerDelegate
。
將串流 ID 傳遞至自訂 VTP 處理常式,並擷取串流資訊清單網址。如果是直播,請將資訊清單網址載入影片顯示器,然後開始播放。如果是 VOD 串流,請將資訊清單網址傳遞至串流管理工具的 loadThirdPartyStream
方法。這個方法會向 Ad Manager 360 請求廣告事件資料,然後載入資訊清單網址並開始播放。
在 failedWithErrorData
委派方法中,記錄錯誤。你也可以播放備份串流。請參閱 DAI 最佳做法。
Objective-C
Swift
導入自訂 VTP 處理常式
自訂 VTP 處理常式會將觀眾的串流 ID 連同 VTP 傳回串流資訊清單所需的任何其他資訊,一併傳送給影片技術合作夥伴 (VTP),該資訊清單包含內容和縫合廣告。VTP 會提供具體操作說明,協助您實作自訂 VTP 處理常式。
舉例來說,VTP 可能包含含有巨集 [[STREAMID]]
的資訊清單範本網址。在本例中,處理常式會插入串流 ID 來取代巨集,並傳回產生的資訊清單網址。
Objective-C
Swift
監聽廣告事件
IMAStreamManager
會呼叫 IMAStreamManagerDelegate
方法,將串流事件和錯誤傳遞至應用程式。
以這個範例來說,請將主要廣告事件記錄到控制台:
Objective-C
Swift
清理 IMA DAI 資產
如要停止串流播放、停止所有廣告追蹤,並釋出所有已載入的串流資產,請呼叫 IMAStreamManager.destroy()
。
執行應用程式,如果成功,您就能使用 IMA SDK 請求及播放 Google DAI 串流。如要瞭解更多進階 SDK 功能,請參閱左側邊欄列出的其他指南,或 GitHub 上的範例。