IMA SDK は、ダイナミック広告挿入(DAI)ストリームをリクエストし、視認性を測定し、広告インプレッションを報告するために依存関係を読み込みます。ストリーム リクエストを行う前に 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.requestStream() メソッドを早めに呼び出すこともできます。この呼び出しを行うと、DAI ストリームの読み込みが開始されます。ユーザーがストリーミング再生を開始する準備ができたら、StreamManager.init() メソッドを呼び出してストリーミング再生を初期化します。