改善 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執行個體需要載入時間,且會使用額外的裝置資源。

在播放前要求廣告

如果您在開始播放廣告前存取 AdsLoader 執行個體,也可以提早呼叫 AdsLoader.requestAds() 方法。進行這項呼叫後,系統就會開始載入片頭廣告。使用者準備好開始播放內容時,請呼叫 AdsManager.init() 方法,並等待 LOADED 事件播放廣告。