本指南說明如何將 IMA DAI SDK 整合至影片播放器應用程式。如要查看或按照完整的整合範例操作,請從 GitHub 下載 BasicExample。
IMA DAI 總覽
如本指南所示,導入 IMA DAI 涉及四個主要 SDK 元件:
IMAAdDisplayContainer:容器物件,位於影片播放元素上方,並包含廣告 UI 元素。IMAAdsLoader:要求串流並處理串流要求回應物件觸發事件的物件。您只需要例項化一個廣告載入器,即可在應用程式的整個生命週期中重複使用。IMAStreamRequest:IMAVODStreamRequest或IMALiveStreamRequest。定義串流請求的物件。串流請求可以是隨選影片或直播。直播請求會指定素材資源金鑰,VOD 請求則會指定 CMS ID 和影片 ID。這兩種要求類型都可以選擇加入 API 金鑰,用於存取指定串流,以及 Google Ad Manager 聯播網代碼,讓 IMA SDK 根據 Google Ad Manager 設定處理廣告 ID。IMAStreamManager:處理動態廣告插播串流,以及與 DAI 後端互動的物件。串流管理工具也會處理追蹤連線偵測 (ping),並將串流和廣告事件轉送給發布商。
必要條件
開始前,請備妥下列項目:
- Xcode 13 以上版本
- IMA SDK 安裝方法:
- Swift Package Manager (建議)
- iOS 專用 IMA SDK 的下載副本
此外,您也需要這些參數,才能向 IMA SDK 請求串流。 如需要求參數範例,請參閱「範例串流」。
| 直播參數 | |
|---|---|
| 素材資源金鑰 |
在 Google Ad Manager 中識別直播的素材資源金鑰。 範例: c-rArva4ShKVIAkNfy6HUQ
|
| VOD 串流參數 | |
| 內容來源 ID |
Google Ad Manager 的內容來源 ID。 範例: 2548831
|
| 影片 ID |
Google Ad Manager 的影片 ID。 範例: tears-of-steel
|
| 常見 (VOD 和直播) 參數 | |
| 聯播網代碼 |
你的 Google Ad Manager 聯播網代碼。 範例: 21775744923
|
建立新的 Xcode 專案
在 Xcode 中,使用 Objective-C 建立名為「BasicExample」的新 iOS 專案。
在 Xcode 專案中加入 IMA DAI SDK
請選擇偏好的方法來安裝 IMA SDK。
建議做法:使用 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 repository」:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-ios選取要使用的 IMA DAI SDK Swift Package 版本。如果是新專案,請選用「Up to Next Major Version」(升級至下一個主要版本)。
完成後,Xcode 會解析套件依附元件,並在背景下載。如要進一步瞭解如何新增套件依附元件,請參閱 Apple 的文章。
手動下載並安裝 SDK
如果不想使用 Swift Package Manager,請下載 IMA 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
提出串流請求
使用者按下播放按鈕時,請提出新的串流請求。
請使用 IMALiveStreamRequest 類別進行直播。如果是 VOD 串流,請使用 IMAVODStreamRequest 類別。
串流請求需要串流參數,以及廣告顯示容器和影片顯示的參照。
Objective-C
Swift
監聽串流載入事件
IMAAdsLoader 類別會在串流要求初始化成功或失敗時,呼叫 IMAAdsLoaderDelegate 方法。
在 adsLoadedWithData 委派方法中,設定 IMAStreamManagerDelegate。初始化串流管理工具。初始化時,串流管理工具會開始播放。
在 failedWithErrorData 委派方法中記錄錯誤。你也可以播放備用串流。請參閱「DAI 最佳做法」。
Objective-C
Swift
監聽廣告事件
IMAStreamManager 會呼叫 IMAStreamManagerDelegate 方法,將串流事件和錯誤傳遞至應用程式。
在本範例中,請將主要廣告事件記錄到控制台:
Objective-C
Swift
執行應用程式。如果成功,請使用 IMA SDK 請求及播放 Google DAI 串流。如要瞭解更多進階 SDK 功能,請參閱左側側欄列出的其他指南,或 GitHub 上的範例。