Улучшить время загрузки IMA,Улучшить время загрузки IMA
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
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() для инициализации воспроизведения потока.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-08-21 UTC."],[],[],null,["# Improve IMA load time\n\nThe IMA SDK loads dependencies to request Dynamic Ad Insertion (DAI) streams,\nmeasure viewability and report ad impressions. By initializing IMA before you\nmake a stream request, you maximize the time to load IMA dependencies before\nstream playback. This page covers how to handling IMA load times in your app.\n\nCall `ImaSdkFactory.initialize()`\n---------------------------------\n\nThe\n[`ImaSdkFactory.initialize()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/ImaSdkFactory#initialize(android.content.Context,com.google.ads.interactivemedia.v3.api.ImaSdkSettings))\nmethod starts to preload SDK resources in advance of the first stream request.\nTo use `initialize()`, you need IMA version 3.35.1 or higher.\n\nCall `ImaSdkFactory.initialize()` on application startup, or as early in the\napplication's lifecycle as your app structure allows. The `initialize()` call\ntakes the following parameters:\n\n- **`context`**: Uses the application context, which is always available during the lifecycle of the application.\n- **`settings`** : Pass the an [`ImaSdkSettings`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/ImaSdkSettings) object with its values set. The IMA settings used in the `initialize()` call must be the same as the settings values used in the `createAdsLoader()` call. The IMA SDK utilizes these settings, particularly the language setting, for cache key. We don't recommend using test or fake values for the settings used in the `initialize()` method call, as cache misses might occur and increase ad load time.\n\nReuse the `AdsLoader` instance\n------------------------------\n\nTo improve IMA load time, we recommend you reuse the same\n[`AdsLoader`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader)\ninstance. The `AdsLoader` interface can handle multiple ad or stream requests.\nAvoid creating a new `AdsLoader` instance for each request. Creating a new\n`AdsLoader` instance requires a load time, and uses additional device resources.\n\nRequest streams in advance of playback\n--------------------------------------\n\nIf you have access to the `AdsLoader` instance prior to starting stream\nplayback, you can also call the\n[`AdsLoader.requestStream()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader#requestStream(com.google.ads.interactivemedia.v3.api.StreamRequest))\nmethod early. Making this call starts loading the DAI stream. When the user\nis ready to start stream playback, call the\n[`StreamManager.init()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/BaseManager#init())\nmethod to initialize stream playback."]]