IMA の読み込み時間を短縮

IMA SDK は、広告をリクエストし、視認性を測定し、広告インプレッションをレポートするための依存関係を読み込みます。広告リクエストを行う前に IMA を初期化すると、広告再生前に IMA の依存関係を読み込む時間を最大限に確保できます。このページでは、アプリで IMA の読み込み時間を処理する方法について説明します。

ImaSdkFactory.initialize() を呼び出す

The 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 イベントを待って広告を再生します。