الأسئلة الشائعة حول حزمة تطوير البرامج لإعلانات الوسائط التفاعلية من Google
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
- لماذا لا يتم عرض الإعلانات لجميع أشكال الإعلانات؟
-
تم إعداد علامات الإعلانات الاختبارية لعرض إعلانات للطلبات الصالحة دائمًا. هذا هو
وتهدف إلى تسهيل عملية الدمج وتسهيل اختبار طريقة عمل المشغّل
تطلب الإعلانات وتعرضها. ومع ذلك، لا تتوفر الإعلانات دائمًا في كل
شكل موقعك الإلكتروني أو حسابك أو وحدتك الإعلانية في حال نجاح عملية الدمج
بشكلٍ مناسب لعلامة الاختبار ولكن ليس لعلامتك الخاصة، فقد يكون السبب أحد
ما يلي:
- أنت تعرض فيديوهات بتنسيق غير متوافق في بيئتك. على سبيل المثال،
يتم عرض إعلانات HTML5 فقط على نظام التشغيل iOS أو Android.
- إذا كنت تستخدم "مدير الإعلانات"، قد لا يتضمن الرقم التعريفي للناشر أي إعلانات
في هذا الوقت. تأكَّد أيضًا من أنّك وافقت على الإعلانات وتصاميم الإعلانات ذات الصلة في "مدير إعلانات Google".
- إذا كنت تستخدِم AdSense، قد
لا تتضمّن معايير الاستهداف لموقعك الإلكتروني أو صفحتك الاختبارية أي إعلانات نشطة. السبب الأكثر شيوعًا هو استخدام
الخاصة بمواقع الويب الخاصة التي لم يتم الزحف إليها.
- إذا كنت تستخدِم ميزة "إدارة شركاء شبكة Ad Exchange" ولم يتم ضبط القيمة
descriptionURL
أو لم تكن ضمن قائمة إدارة
النطاقات المملوكة أو المُدارة، لن يتم عرض الإعلانات على هذا النطاق.
- تحقّق من حدود minCPM المحدّدة في Ad Exchange Video. قد يؤدي تحديد قيمة
مرتفعة إلى حدٍ ما للتكلفة لكل ألف ظهور إلى انخفاض معدّلات التعبئة بشكلٍ كبير. لتصحيح هذا، جرِّب إما
إزالة التكلفة الدنيا لكل ألف ظهور أو إزالة معلمة الوحدة الإعلانية من طلب الإعلان
(أي اسم الشريحة الإعلانية) للتحقق مما إذا كان ذلك يؤثر في معدل التعبئة.
- كيف يبدو
descriptionUrl
الجيد؟
-
لتحقيق أقصى فاعلية، يجب أن يكون محتوى الصفحة الذي
descriptionUrl
التي تشير إليها مجموعة من الكلمات أو العبارات بل
من 1 إلى 3 فقرات تصف المحتوى الفعلي ودورك في تقديمه.
إحدى الطرق التي كانت ناجحة في الماضي هي الدمج معًا
descriptionUrl
محتوى الصفحة ديناميكيًا من مجموعات محدّدة مسبقًا.
على سبيل المثال، بضع جمل عن المحتوى وبضع جمل عن
ما تقدّمه على موقعك الإلكتروني، ثم بضع مقتطفات محدّدة مسبقًا مرتبطة بكل قناة
على AdSense (مثل "الترفيه" أو "الرياضة"). ونتيجةً لذلك، يرتبط بكل قطعة
من المحتوى descriptionUrl
فريد إلى حدّ معقول
يقدّم معلومات عامة (مثل أوصاف الأنواع) بالإضافة إلى
معلومات محدّدة (محتوى عن المحتوى مباشرةً).
يجب أن يكون رمز HTML للبيانات الوصفية هذا بسيطًا، على سبيل المثال:
<html>
<head>
<title>Domain.com - Your tag line here!</title>
</head>
<body>
<h1>Descriptions</h1>
<h2>About this Content</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...</p>
<h2>About Domain.com</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...</p>
</body>
</html>
- لماذا أتلقى رسالة الخطأ "لا تحتوي استجابة الإعلان على نوع إعلان صالح"؟
- يظهر هذا الخطأ بوجه عام بسبب عدم استهداف أي إعلانات
publisherId
محددة (للفترة الزمنية المحدّدة). هذا الشرط
على مدار اليوم، أو على مدى عدة أيام عند بدء الحملات وانتهائها.
يجب التحقق من عدم انتهاء صلاحية الإعلان الذي ترغب في استهدافه ومن عدم انتهاء صلاحية
معايير استهداف الإعلانات صحيحة.
طالما أنّه يتم طلب الإعلانات واستلامها وعرضها بشكلٍ سليم باستخدام
publisherId
الاختباري، يمكنك التأكّد من أنّه تتم معالجة هذه الإعلانات
بشكلٍ سليم باستخدام publisherId
المباشر عندما تكون الإعلانات
متاحة.
- هل لديك علامة إعلان فيديو في "مدير إعلانات Google" يمكنني استخدامها للاختبار؟
- تتوفر نماذج العلامات على صفحة نماذج العلامات.
- هل يجب ضبط
adSlotWidth
وadSlotHeight
على الإعدادات نفسها؟
محددة مثل sz
في علامة إعلانات "مدير الإعلانات"؟
- ليس بالضرورة. يجب ضبط
adSlotWidth
وadSlotHeight
على العرض/الارتفاع الخاص بالّاعبين أو المنطقة التي تريد أن تملأها إعلاناتك
. وتستخدمها AdSense لتحديد الإعلانات المتاحة لكي تلائم
هذه المساحة. زوج المفتاح/القيمة sz
في علامة إعلانات "مدير إعلانات Google" هو
مَعلمة استهداف ولا تؤثّر بالضرورة في تصميم الإعلان الذي يتمّ عرضه
(اطّلِع على مزيد من المعلومات أدناه).
- تبدو علامة الإعلان التجريبي رائعة، ولكن عندما أقوم بتبديلها باستخدام علامة إعلاني، لا يظهر أي إعلان.
-
تأكَّد من أنّه تمّ نقل بيانات إلى علامة الإعلان التي
تطلبها. وتتمثل أسهل طريقة لمعرفة ذلك في مراقبة حركة الزيارات على HTTP. إذا
يتم عرض صورة 1x1 بكسل grey.gif ضمن كتلة ارتساء HTML،
عليك بعد ذلك التحقّق من استهدافك في "مدير إعلانات Google"
- أريد طلب إعلانات باستخدام العلامة نفسها أكثر من مرة، لكنني لا أتلقّى إعلانات إلا لأول مرة
طلبك. كيف أحل هذه المشكلة؟
-
عند طلب الإعلانات أكثر من مرة، عليك إبلاغ خادم الإعلانات
بأنّ هذه الطلبات مشروعة، وليست نُسخًا مكرّرة غير مقصودة. حزمة SDK
تفعل ذلك نيابةً عنك من خلال طلبَين سريعَين لواجهة برمجة التطبيقات:
- اتصل بالرقم
destroy()
على مثيل AdsManager
.
يمنع هذا الإجراء تشغيل أي إعلانات ما بعد التشغيل عند إجراء الاتصال أدناه
contentComplete()
تحصل على AdsManager
جديد
عند تقديم طلبك التالي.
- الاتصال بـ "
contentComplete()
" على جهاز AdsLoader
مثال. يؤدي ذلك إلى إعادة ضبط حزمة تطوير البرامج (SDK) لكي لا يبدو طلب الإعلان الجديد كنسخة مماثلة
للطلب السابق.
بعد إجراء المكالمات أعلاه، يمكنك الاتصال بـ requestAds()
في
مثيل AdsLoader
للحصول على مجموعة أخرى من الإعلانات لعرضها في
الفيديو الجديد.
- كيف أطلب إعلانات AdSense التي تظهر على سطح الفيديو وفي مواضع كاملة باستخدام حزمة تطوير البرامج لإعلانات الوسائط التفاعلية؟
-
لطلب إعلانات AdSense باستخدام حزمة SDK، يجب عليك أولاً الحصول على حساب AdSense
علامة الإعلان. يمكنك معرفة المزيد عن ذلك في AdSense
لصفحة الفيديو. بعد الحصول على علامتك، عليك اتّخاذ الخطوات التالية
لإجراء طلب إعلانات إما للإعلانات التي تظهر على سطح الفيديو أو الإعلانات التي تظهر في خانة إعلانية كاملة:
الإعلانات التي تظهر على سطح الفيديو
- في
AdsRequest
، اضبط ViewModes على
NORMAL
.
- في علامة إعلانك، أضِف المَعلمة
overlay=1
.
الإعلانات في الخانات الكاملة
- في
AdsRequest
، اضبط ViewModes على
FULLSCREEN
.
- في علامة إعلانك، أضِف المَعلمة
overlay=0
.
- تظهر لي رسالة الخطأ "عنوان URL لمسار النقر غير صالح" عند النقر على إعلاني. فما السبب المحتمل؟
-
يُعد السبب الأكثر شيوعًا لهذا الخطأ إلى حدوث خطأ في النقر إلى الظهور
عنوان URL. إذا ظهر لك هذا الخطأ، تحقّق من أنّك أدخلت عنوان URL الخاص بالنقرة
بشكل صحيح في استجابة VAST.
- في حِزم تطوير البرامج (SDK) لنظامَي التشغيل Android وiOS، هل هناك طريقة لجعل إعلان الفيديو بأكمله قابلاً للنقر؟
- في ما يتعلّق بتتبُّع النقرات على الفيديو بأكمله، تبيّن أنّ تجربة المشاهد العادية
في الفيديوهات على الأجهزة الجوّالة هي أنّ النقر على الفيديو يؤدي إما
إلى إيقافه مؤقتًا أو إظهار عناصر التحكّم في المشغّل. لتجنب المستخدمين
بالنقر بدون قصد على الإعلانات عندما يريدون فقط الوصول إلى
تستخدم إعلانات الوسائط التفاعلية لعناصر التحكّم في المشغّل الزر مزيد من المعلومات للسماح
ينقر المستخدمون على إعلان ويطّلعون على مزيد من المعلومات عن المنتج المُعلَن عنه.
- لماذا يظهر لي "مستند VAST فارغ"؟ الخطأ؟
- يحدث هذا الخطأ عندما تعرض علامة الإعلان مستند VAST فارغًا، ما يشير إلى
أنّه لم يتم عرض الإعلان بشكل صحيح. التحدث إلى مدير حسابك
أو ممثل خادم الإعلانات لمعرفة سبب عدم عمل علامة إعلانك.
- هل يمكنني تغيير حجم/نص مربّع تخطّي الإعلان أو عناصر أخرى في واجهة المستخدم؟
- لا تتيح حِزم تطوير البرامج (SDK) لإعلانات الوسائط التفاعلية تغيير تنسيق عناصر واجهة المستخدِم أو حجمها أو محتواها.
لمزيد من التفاصيل حول عناصر واجهة المستخدم، يُرجى الاطّلاع على
AdsManager.uiElements
.
- لماذا لا يمكنني تغيير مستوى صوت الإعلان على أجهزة iOS؟
-
لا يسمح لك نظام التشغيل iOS بضبط مستوى الصوت آليًا. إذا كنت تستخدم IDE SDK لـ
HTML5، لن يكون لـ
adsManager.setVolume()
أي تأثير. ليس لحزمة iOS SDK
توفير أداة تحديد مستوى الصوت في IMAAdsManager لهذا السبب.
- هل يمكنني استخدام سلاسل محادثات متعددة لإعداد واجهة المستخدم ومعالجتها؟
-
يجب إتمام جميع عمليات إعداد واجهة المستخدم في سلسلة التعليمات الرئيسية. بعد
يمكنك اختيار تنفيذ
تشغيل الإعلان في الخلفية:
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThe test ad tags always return ads for valid requests to make integration and testing easier, however, live ads may not always be available for all ad formats, placements or targeting criteria.\u003c/p\u003e\n"],["\u003cp\u003eEnsure your \u003ccode\u003edescriptionUrl\u003c/code\u003e is set to a page on your site with 1-3 paragraphs accurately describing the content for better ad targeting.\u003c/p\u003e\n"],["\u003cp\u003eWhen requesting ads more than once using the same tag, ensure you reset the SDK by calling \u003ccode\u003edestroy()\u003c/code\u003e on \u003ccode\u003eAdsManager\u003c/code\u003e and \u003ccode\u003econtentComplete()\u003c/code\u003e on \u003ccode\u003eAdsLoader\u003c/code\u003e to avoid duplicate requests.\u003c/p\u003e\n"],["\u003cp\u003eThe "Ad response does not contain a valid ad type" error generally indicates that no ads are currently targeted to your publisher ID, time period or ad unit, ensure your ads and creatives are approved, targeted correctly and have not expired.\u003c/p\u003e\n"],["\u003cp\u003eThe IMA SDK does not allow for customization of UI elements like the "Skip Ad" button, and on iOS, programmatic volume control for ads is restricted by the operating system.\u003c/p\u003e\n"]]],[],null,["# Google Interactive Media Ads SDK FAQs\n\n- [Why am I not getting ads back for all formats?](#1)\n- [What does a good descriptionUrl look like?](#2)\n- [Why am I receiving the error \"Ad response does not contain a valid ad type\"?](#3)\n- [Do you have an Ad Manager video ad tag that I can use for testing?](#4)\n- [Should I set the adSlotWidth and adSlotHeight to the same values\n as the sz in my Ad Manager ad tag?](#5)\n- [The demo ad tag looks great, but when I switch it with my ad tag,\n no ad appears.](#7)\n- [I want to request ads using the same tag more than once, but I\n only get ads for my first request. How do I fix this?](#8)\n- [How do I request overlay and full slot AdSense ads using the IMA\n SDK?](#9)\n- [I'm getting an \"Invalid clickthrough URL\" error when I click on my\n ad. What could be the cause?](#10)\n- [In the Android and iOS SDKs, is there a way to make the entire video\n ad clickable?](#11)\n- [Why do I see a \"VAST Document Empty\" error?](#12)\n- [Can I change the size/text of the \"Skip Ad\" box or other UI elements?](#13)\n- [Why can't I change an ad's volume on iOS?](#16)\n- [Can I use multiple threads to initialize and manipulate the UI?](#18)\n\n*** ** * ** ***\n\nWhy am I not getting ads back for all formats?\n:\n The test ad tags are set up to always return ads for valid requests. This is\n meant to facilitate integration and make it easier to test how your player\n requests and renders ads. However, ads are not always available in every\n format for your site, account, or ad unit. If your integration is working\n properly for the test tag but not for your own tag, the cause may be one of\n the following:\n\n - You're serving videos of an unsupported format to your environment. For example, you're serving only HTML5 ads to iOS or Android.\n - If you're using Ad Manager, your publisher ID may not have any ads targeted to it at this time. Also, ensure that you have approved the relevant ads and creatives in Ad Manager.\n - If you're using AdSense, the targeting criteria for your site or test page may not have any active advertisements. The most common cause is the use of private, uncrawled websites.\n - If you're using Ad Exchange Network Partner Management and `descriptionURL` is not set or is not on the owned or operated domains management list, ads do not serve to this.\n - Check the *minCPM* thresholds defined in Ad Exchange Video. A fairly high CPM may result in very low fill rates. To correct this, try either removing the minCPM or removing the ad unit parameter from the ad request (i.e., slotname) to verify whether this is affecting the fill rate.\n\nWhat does a good `descriptionUrl` look like?\n:\n To be most effective, the content of the page that `descriptionUrl`\n points to shouldn't be a collection of words or phrases but rather\n 1-3 paragraphs actually describing the content and your role in providing it.\n One method that has been successful in the past is to stitch together\n `descriptionUrl` page content dynamically from predefined blocks.\n For example, a few sentences about the content, a few sentences about your\n site's offering, and then a few predefined snippets associated with each\n AdSense channel (like \"Entertainment\" or \"Sports\"). As a result, each piece of\n content has a reasonably distinct `descriptionUrl` associated with\n it that provides both general information (such as genre descriptors) as well\n as specific information (content about the content directly).\n\n This metadata HTML should be simple, for example:\n\n ```text\n \u003chtml\u003e\n \u003chead\u003e\n \u003ctitle\u003eDomain.com - Your tag line here!\u003c/title\u003e\n \u003c/head\u003e\n \u003cbody\u003e\n \u003ch1\u003eDescriptions\u003c/h1\u003e\n \u003ch2\u003eAbout this Content\u003c/h2\u003e\n \u003cp\u003eLorem ipsum dolor sit amet, consectetur adipiscing elit. ...\u003c/p\u003e\n \u003ch2\u003eAbout Domain.com\u003c/h2\u003e\n \u003cp\u003eLorem ipsum dolor sit amet, consectetur adipiscing elit. ...\u003c/p\u003e\n \u003c/body\u003e\n \u003c/html\u003e\n \n ```\n\nWhy am I receiving the error \"Ad response does not contain a valid ad type\"?\n: This error generally appears because no ads have been targeted to the\n specific `publisherId` (for the given time period). This condition\n may vary throughout the day, or over several days as campaigns begin and end.\n You should check that the ad you wish to target has not expired and that the\n ad targeting criteria are correct.\n As long as ads are properly requested, received, and rendered using\n the test `publisherId`, you can be sure that these ads are\n properly handled using your live `publisherId` when the ads are\n available.\n\nDo you have an Ad Manager video ad tag that I can use for testing?\n: Sample tags are available on the [sample tags](/interactive-media-ads/docs/sdks/ios/client-side/tags) page.\n\nShould I set the `adSlotWidth` and `adSlotHeight` to the same\nvalues as the `sz` in my Ad Manager ad tag?\n: Not necessarily. The `adSlotWidth` and `adSlotHeight`\n must be set to the width/height of the player or area you want your ads to\n fill. They are used by AdSense to determine which ads are available to fit\n into that space. The `sz` key/value pair in your Ad Manager ad tag is\n a targeting parameter and does not necessarily affect the creative served\n (more information below).\n\nThe demo ad tag looks great, but when I switch it with my ad tag, no ad appears.\n:\n Check to ensure that something is trafficked to the ad tag you are\n requesting. The easiest way to find out is to watch the HTTP traffic. If a\n **1x1 pixel grey.gif** image is returned within an HTML anchor block,\n then you need to check your targeting in Ad Manager.\n\nI want to request ads using the same tag more than once, but I only get ads for my first\nrequest. How do I fix this?\n:\n When you request ads more than once, you need to let the ad server know\n that these are legitimate requests, and not accidental duplicates. The SDK\n does this for you with two quick API calls:\n\n 1. Call `destroy()` on your `AdsManager` instance. This prevents any post-rolls from playing when you make the below call to `contentComplete()`. You get a new `AdsManager` when you make your next request.\n 2. Call `contentComplete()` on your `AdsLoader` instance. This resets the SDK so the new ad request doesn't look like a duplicate of the previous one.\n\n\n After making the two calls above, you can call `requestAds()` on\n your `AdsLoader` instance to get another set of ads to play for your\n new video.\n\nHow do I request overlay and full slot AdSense ads using the IMA SDK?\n\n: To request AdSense ads using the SDK, you need to first obtain an AdSense\n ad tag. You can learn more about that on the [AdSense\n for Video page](//support.google.com/adsense/answer/1705822). Once you have your tag, you need to take the following\n steps to make either an overlay or a full slot ad request:\n\n **Overlay ads**\n\n 1. In your `AdsRequest`, set your ViewModes to `NORMAL`.\n 2. In your ad tag, add the parameter `overlay=1`.\n\n **Full slot ads**\n\n 1. In your `AdsRequest`, set your ViewModes to `FULLSCREEN`.\n 2. In your ad tag, add the parameter `overlay=0`.\n\nI'm getting an \"Invalid clickthrough URL\" error when I click on my ad. What could be the cause?\n:\n The most common cause for this error is an improperly escaped clickthrough\n URL. If you're seeing this error, check to make sure that your clickthrough\n URL is properly escaped in your VAST response.\n\nIn the Android and iOS SDKs, is there a way to make the entire video ad clickable?\n: As far as whole-video click tracking goes, the standard viewer experience\n for mobile video that has emerged is that tapping on a video either\n pauses it or brings up the player controls. To avoid users\n unintentionally clicking on ads when they really just want access to the\n player controls IMA uses the **Learn more** button to let\n users click on an ad and learn more about the product being advertised.\n\nWhy do I see a \"VAST Document Empty\" error?\n: This error occurs when the ad tag returns an empty VAST document, indicating\n that the ad was not served properly. Talk to your account manager\n or ad server representative to see why your ad tag is not working.\n\nCan I change the size/text of the **Skip Ad** box or other UI elements?\n: The IMA SDKs do not support changing the layout, size, or content of UI elements.\n For more details on UI elements, see `AdsManager.uiElements`.\n\nWhy can't I change an ad's volume on iOS?\n:\n iOS does not allow you to set volume programmatically. If you're using the\n HTML5 SDK, `adsManager.setVolume()` has no effect. The iOS SDK does not\n provide a volume setter on the IMAAdsManager for this reason.\n\nCan I use multiple threads to initialize and manipulate the UI?\n:\n\n All initialization of the UI must be done on the main thread. After\n initialization, you can choose to implement\n [Background Ad Playback](/interactive-media-ads/docs/sdks/ios/background_ad_playback)."]]