تحسين وقت تحميل IMA
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تحمّل حزمة تطوير البرامج لإعلانات الوسائط التفاعلية (IMA SDK) التبعيات لطلب أحداث "إدراج إعلان ديناميكي" (DAI) وقياس إمكانية العرض والإبلاغ عن مرّات ظهور الإعلانات. من خلال إعداد IMA قبل
تقديم طلب بث، يمكنك زيادة الوقت اللازم لتحميل متطلّبات IMA إلى أقصى حد قبل
تشغيل البث. تتناول هذه الصفحة كيفية التعامل مع أوقات تحميل IMA في تطبيقك.
الاتصال بـ ImaSdkFactory.initialize()
تبدأ الطريقة
ImaSdkFactory.initialize()
بتحميل موارد حزمة تطوير البرامج (SDK) مسبقًا قبل أول طلب بث.
لاستخدام initialize()
، يجب تثبيت الإصدار 3.35.1 من IMA أو إصدار أحدث.
استخدِم ImaSdkFactory.initialize()
عند بدء تشغيل التطبيق أو في أقرب وقت ممكن من
دورة حياة التطبيق وفقًا لهيكله. تأخذ عملية استدعاء initialize()
المَعلمات التالية:
-
context
: يستخدم سياق التطبيق، والذي يكون متاحًا دائمًا أثناء
رحلة حياة التطبيق.
settings
: نقْل عنصر
ImaSdkSettings
مع ضبط قيمه. يجب أن تكون إعدادات IMA المستخدَمة في طلب initialize()
متطابقة مع قيم الإعدادات المستخدَمة في طلب createAdsLoader()
. تستخدِم حزمة تطوير البرامج لإعلانات الوسائط التفاعلية (IMA SDK) هذه الإعدادات، خاصةً إعداد اللغة،
لإيجاد مفتاح ذاكرة التخزين المؤقت. لا ننصح باستخدام قيم اختبارية أو زائفة للإعدادات
المستخدَمة في طلب الطريقة initialize()
، لأنّه قد يحدث عدم توفّر ذاكرة التخزين المؤقت ويؤدي ذلك إلى
زيادة وقت تحميل الإعلان.
إعادة استخدام مثيل AdsLoader
لتحسين وقت تحميل IMA، ننصحك بإعادة استخدام مثيل
AdsLoader
نفسه. يمكن لواجهة AdsLoader
معالجة طلبات إعلانات أو أحداث بث متعددة.
تجنَّب إنشاء مثيل جديد من AdsLoader
لكل طلب. يتطلب إنشاء مثيل جديد
AdsLoader
وقت تحميل، ويستخدم موارد إضافية للجهاز.
طلب أحداث البث قبل تشغيلها
إذا كان بإمكانك الوصول إلى مثيل AdsLoader
قبل بدء تشغيل البث، يمكنك أيضًا استدعاء الأسلوب
AdsLoader.requestStream()
مبكرًا. يؤدي إجراء هذا الطلب إلى بدء تحميل بث DAI. عندما يصبح المستخدم
جاهزًا لبدء تشغيل البث، اتصل بالطريقة
StreamManager.init()
لبدء تشغيل البث.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-21 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-21 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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."]]