Улучшить время загрузки IMA,Улучшить время загрузки IMA
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
IMA SDK загружает зависимости для запроса рекламы, измерения видимости и отчётности о показах рекламы. Инициализируя 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.requestAds()
заранее. Этот вызов запускает загрузку рекламы в начале ролика. Когда пользователь будет готов начать воспроизведение контента, вызовите метод AdsManager.init()
и дождитесь события LOADED
, чтобы начать воспроизведение рекламы.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-09-03 UTC.
[null,null,["Последнее обновление: 2025-09-03 UTC."],[],[],null,["# Improve IMA load time\n\nThe IMA SDK loads dependencies to request ads, measure viewability and\nreport ad impressions. By initializing IMA before you make an ad request, you\nmaximize the time to load IMA dependencies before ad playback. This page covers\nhow to handling IMA load times in your app.\n\nCall `ImaSdkFactory.initialize()`\n---------------------------------\n\nThe\n[`ImaSdkFactory.initialize()`](/interactive-media-ads/docs/sdks/android/client-side/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 ad request. To\nuse `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`](/interactive-media-ads/docs/sdks/android/client-side/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 ads in advance of playback\n----------------------------------\n\nIf you have access to the `AdsLoader` instance prior to starting ad playback,\nyou can also call the\n[`AdsLoader.requestAds()`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader#requestAds(com.google.ads.interactivemedia.v3.api.AdsRequest))\nmethod early. Making this call starts loading pre-roll ads. When the user\nis ready to start content playback, call the\n[`AdsManager.init()`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/BaseManager#init())\nmethod and wait for the `LOADED` event to play ads."]]