改善 IMA 載入時間

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 事件播放廣告。