IMA SDK загружает зависимости для запроса потоков динамической вставки рекламы (DAI), измерения видимости и составления отчетов о показах рекламы. Инициализируя IMA перед запросом потока, вы максимизируете время загрузки зависимостей IMA перед воспроизведением потока. На этой странице описано, как управлять временем загрузки IMA в вашем приложении.
Вызовите ImaSdkFactory.initialize()
Метод ImaSdkFactory.initialize()
начинает предварительную загрузку ресурсов SDK перед первым запросом потока. Чтобы использовать initialize()
, вам нужна версия IMA 3.35.1 или выше.
Вызовите ImaSdkFactory.initialize()
при запуске приложения или на самом раннем этапе жизненного цикла приложения, насколько это позволяет структура вашего приложения. Вызов initialize()
принимает следующие параметры:
-
context
: использует контекст приложения, который всегда доступен в течение жизненного цикла приложения. -
settings
: передайте объектImaSdkSettings
с установленными значениями. Настройки IMA, используемые в вызовеinitialize()
должны быть такими же, как значения настроек, используемые в вызовеcreateAdsLoader()
. IMA SDK использует эти настройки, в частности настройки языка, для ключа кэша. Мы не рекомендуем использовать тестовые или поддельные значения для настроек, используемых при вызове методаinitialize()
, так как могут возникнуть ошибки в кэше и увеличиться время загрузки объявления.
Повторное использование экземпляра AdsLoader
Чтобы сократить время загрузки IMA, мы рекомендуем повторно использовать один и тот же экземпляр AdsLoader
. Интерфейс AdsLoader
может обрабатывать несколько запросов рекламы или потоков. Избегайте создания нового экземпляра AdsLoader
для каждого запроса. Создание нового экземпляра AdsLoader
требует времени на загрузку и дополнительных ресурсов устройства.
Запрашивать потоки перед воспроизведением
Если у вас есть доступ к экземпляру AdsLoader
до начала воспроизведения потока, вы также можете заранее вызвать метод AdsLoader.requestStream()
. При выполнении этого вызова начинается загрузка потока DAI. Когда пользователь готов начать воспроизведение потока, вызовите метод StreamManager.init()
для инициализации воспроизведения потока.