IMA SDK 會載入依附元件,以便要求廣告、評估可視度,並回報廣告曝光次數。在提出廣告請求之前先初始化 IMA,即可在廣告播放前盡可能延長 IMA 依附元件的載入時間。本頁將說明如何在應用程式中處理 IMA 載入時間。
撥打 ImaSdkFactory.initialize()
ImaSdkFactory.initialize()
方法會在第一個廣告請求之前,開始預先載入 SDK 資源。如要使用 initialize()
,您必須使用 IMA 3.35.1 以上版本。
在應用程式啟動時或在應用程式生命週期初期 (視應用程式結構而定) 呼叫 ImaSdkFactory.initialize()
。initialize()
呼叫會使用下列參數:
context
:使用應用程式背景資訊,這種資訊在應用程式的生命週期中一律可用。settings
:傳遞已設定值的ImaSdkSettings
物件。initialize()
呼叫中使用的 IMA 設定必須與createAdsLoader()
呼叫中使用的設定值相同。IMA SDK 會使用這些設定 (特別是語言設定) 來建立快取索引鍵。我們不建議您在initialize()
方法呼叫中使用的設定中使用測試值或假值,因為可能會發生快取遺漏,並增加廣告載入時間。
重複使用 AdsLoader
例項
為縮短 IMA 載入時間,建議您重複使用相同的 AdsLoader
例項。AdsLoader
介面可處理多個廣告或串流要求。請避免為每項要求建立新的 AdsLoader
例項。建立新的 AdsLoader
例項需要花費時間載入,並使用額外的裝置資源。
使用 ExoPlayer-IMA 擴充功能處理載入時間
使用 ExoPlayer-IMA 擴充功能的應用程式會在每次載入廣告時重新建立 AdsLoader
例項。initialize()
呼叫會加快 AdLoader
的第一個廣告請求。如要加快新活動的第一個廣告要求,請在新活動開始時再次呼叫 initialize()
。
在播放前要求廣告
如果您在開始播放廣告前已存取 AdsLoader
例項,也可以提早呼叫 AdsLoader.requestAds()
方法。發出此呼叫後,系統就會開始載入片頭廣告。當使用者準備開始播放內容時,請呼叫 AdsManager.init()
方法,並等待 LOADED
事件播放廣告。