إعلانات البانر التكيُّفية الثابتة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إعلانات البانر التكيُّفية هي الجيل التالي من الإعلانات المتجاوبة، وهي تزيد الأداء إلى أقصى حد من خلال تحسين حجم الإعلان لكل جهاز. تتفوّق إعلانات البانر التكيُّفية على إعلانات البانر الذكية التي كانت تتيح فقط الارتفاعات الثابتة، إذ تتيح لك إعلانات البانر التكيُّفية تحديد عرض الإعلان واستخدامه لتحديد حجم الإعلان الأمثل.
ولاختيار أفضل حجم للإعلان، تستخدم إعلانات البانر التكيفية نِسب عرض إلى ارتفاع ثابتة بدلاً من الارتفاعات الثابتة. ويؤدي هذا إلى عرض إعلانات البانر التي تشغل جزءًا أكثر اتساقًا من الشاشة في جميع الأجهزة، كما تقدّم فرصًا لتحسين الأداء.
عند استخدام إعلانات البانر التكيُّفية، يُرجى العِلم أنّها ستعرض دائمًا حجمًا ثابتًا لجهاز وعرض معيّنين. بعد اختبار التنسيق على جهاز معيّن، يمكنك التأكّد من أنّ حجم الإعلان لن يتغيّر. ومع ذلك، قد يختلف حجم تصميم البانر الإعلاني على الأجهزة المختلفة. نتيجةً لذلك، ننصحك بالتأكّد من أنّ تصميم صفحتك يمكنه استيعاب الاختلافات في ارتفاع الإعلان.
في حالات نادرة، قد لا يتم ملء الحجم التكيّفي الكامل، وسيتم بدلاً من ذلك توسيط تصميم إعلان بالحجم العادي في هذه المساحة.
حالات استخدام "إعلانات البانر التكيُّفية"
تم تصميم إعلانات البانر التكيُّفية لتكون بديلاً جاهزًا للاستخدام لحجم البانر القياسي 320x50، بالإضافة إلى تنسيق البانر الذكي الذي تحلّ محلّه.
يتم استخدام أحجام إعلانات البانر هذه عادةً كإعلانات بانر ثابتة، والتي تكون عادةً مثبّتة في أعلى الشاشة أو أسفلها. بالنسبة إلى إعلانات البانر الثابتة هذه، سيكون نسبة العرض إلى الارتفاع عند استخدام إعلانات البانر التكيّفية مشابهًا لنسبة العرض إلى الارتفاع في إعلان عادي بمقاس 320x50، كما هو موضّح في لقطات الشاشة التالية:

إعلان بانر بحجم 320x50
|

إعلان بانر ذكي
|

إعلان بانر تكيُّفي
|
يستفيد "إعلان البانر التكيّفي" بشكل أفضل من حجم الشاشة المتاح. بالإضافة إلى ذلك،
تُعدّ إعلانات البانر التكيُّفية خيارًا أفضل من إعلانات البانر الذكية للأسباب التالية:
يستخدم هذا الوضع عرضًا محدّدًا بدلاً من عرض ملء الشاشة، ما يتيح لك مراعاة المناطق الآمنة.
يختار هذا العنصر الارتفاع الأمثل للجهاز المحدّد، بدلاً من أن يكون الارتفاع ثابتًا على الأجهزة ذات الأحجام المختلفة، ما يقلّل من تأثيرات تجزئة الأجهزة.
ملاحظات حول التنفيذ
عند تنفيذ "البانرات التكيّفية" في تطبيقك، يُرجى مراعاة النقاط التالية:
يجب معرفة عرض مساحة العرض التي سيتم وضع الإعلان فيها، ويجب أن يأخذ ذلك في الاعتبار عرض الجهاز وأي مناطق آمنة ذات صلة.
تأكَّد من أنّ خلفية عرض الإعلان غير شفافة للالتزام بسياسات AdMob عند عرض أحجام إعلانات أصغر لا تملأ خانة الإعلان.
تأكَّد من استخدام أحدث إصدار من حزمة تطوير البرامج (SDK) للغة C++ من "إعلانات Google على الأجهزة الجوّالة". بالنسبة إلى التوسّط، استخدِم أحدث إصدار من كلّ وسيط توسّط.
تم تصميم أحجام "إعلانات البانر التكيُّفية" لتعمل بشكل أفضل عند استخدام عرض المساحة المتاحة بأكمله. في معظم الحالات، سيكون هذا العرض هو العرض الكامل لشاشة الجهاز المستخدَم. احرص على مراعاة المناطق الآمنة السارية.
تعرض حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" الخاصة بتطبيقات C++ ارتفاعًا محسّنًا للإعلان بالنسبة إلى العرض المحدّد في firebase::gma::AdSize
.
هناك ثلاث طرق للحصول على حجم إعلان "إعلانات البانر التكيّفية"، إحداها للوضع الأفقي، والأخرى للوضع العمودي، والثالثة للاتجاه الحالي في وقت التنفيذ.
سيكون الحجم المعروض لعرض محدّد على جهاز محدّد هو نفسه دائمًا، وبالتالي، بعد اختبار التصميم على جهاز محدّد، يمكنك التأكّد من أنّ حجم الإعلان لن يتغيّر.
لا يزيد ارتفاع إعلان البانر الثابت عن% 15 من ارتفاع الجهاز، ولا يقل عن 50 نقطة.
البدء بسرعة
اتّبِع الخطوات التالية لتنفيذ بانر بسيط ثابت في أسفل الشاشة.
الحصول على حجم "إعلان بانر تكيُّفي" سيتم استخدام الحجم الذي تحصل عليه لطلب "إعلان البانر التكيُّفي". للحصول على حجم الإعلان المتكيّف، تأكَّد ممّا يلي:
يمكنك الحصول على عرض الجهاز المستخدَم أو ضبط العرض الخاص بك إذا كنت لا تريد استخدام العرض الكامل للشاشة.
استخدِم الطرق الثابتة المناسبة في الفئة AdSize
، مثل
GetCurrentOrientationAnchoredAdaptiveBannerAdSize(uint32_t width)
للحصول على كائن AdSize
متكيّف مع الاتجاه المحدّد.
استدعِ Initialize()
على AdView
باستخدام AdSize
التكيّفي الذي أنشأته.
يتضمّن القسم أدناه مثالاً كاملاً.
أنشئ عنصر AdRequest
وحمِّل البانر باستخدام طريقة loadAd()
في طريقة عرض الإعلان المُعدّة، تمامًا كما تفعل مع طلب بانر عادي.
نموذج التعليمات البرمجية
في ما يلي مثال على AdView
سيحمّل إعلان بانر تكيُّفيًا:
// Determine view width in pixels based on your app's current width on the
// device's screen. This process will vary depending on which windowing toolkit
// you're using.
firebase::gma::AdSize adaptive_ad_size =
AdSize::GetCurrentOrientationAnchoredAdaptiveBannerAdSize(view_width);
// my_ad_parent is a reference to an iOS UIView or an Android Activity.
// This is the parent UIView or Activity of the banner view.
firebase::gma::AdParent ad_parent =
static_cast<firebase::gma::AdParent>(my_ad_parent);
firebase::Future<void> result =
ad_view->Initialize(ad_parent, kBannerAdUnit, adaptive_ad_size);
في هذا المثال، يتم استخدام الدالة
GetCurrentOrientationAnchoredAdaptiveBannerAdSize(uint32_t width)
للحصول على
حجم بانر في موضع ثابت حسب اتجاه الواجهة الحالي. لتحميل بانر ثابت في موضع محدّد مسبقًا في اتجاه معيّن، استخدِم الدالة ذات الصلة من GetPortraitAnchoredAdaptiveBannerAdSize(uint32_t width)
وGetLandscapeAnchoredAdaptiveBannerAdSize(uint32_t width)
.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-09-02 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-09-02 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eAdaptive banners optimize ad size for each device, improving performance by using fixed aspect ratios for a consistent screen presence.\u003c/p\u003e\n"],["\u003cp\u003eThey are drop-in replacements for standard 320x50 banners and smart banners, best used as anchored banners (top or bottom of the screen).\u003c/p\u003e\n"],["\u003cp\u003eAdaptive banners offer advantages over smart banners by utilizing provided width for safe areas and adjusting height for optimal display on various devices.\u003c/p\u003e\n"],["\u003cp\u003eImplementation requires knowing the ad view's width (considering device width and safe areas), using an opaque background, and the latest Google Mobile Ads C++ SDK.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can obtain the adaptive banner size using \u003ccode\u003eAdSize\u003c/code\u003e class methods, considering device width and orientation, to initialize and load the ad view.\u003c/p\u003e\n"]]],["Adaptive banners optimize ad size per device using fixed aspect ratios instead of fixed heights, improving performance and screen usage compared to smart banners. Key actions include determining the ad view width, accounting for safe areas, and using `AdSize` methods (e.g., `GetCurrentOrientationAnchoredAdaptiveBannerAdSize`) to get the optimal ad size for a specific orientation. Developers should ensure opaque ad view backgrounds and use the latest SDK. The returned ad size remains consistent on a given device but may differ across devices.\n"],null,["Adaptive banners are the next generation of responsive ads, maximizing\nperformance by optimizing ad size for each device. Improving on smart banners,\nwhich only supported fixed heights, adaptive banners let you specify the\nad-width and use this to determine the optimal ad size.\n\nTo pick the best ad size, adaptive banners use fixed aspect ratios instead of\nfixed heights. This results in banner ads that occupy a more consistent portion\nof the screen across devices and provide opportunities for improved performance.\n\nWhen working with adaptive banners, note that they will always return a\nconstant size for a given device and width. Once you've tested your layout on a\ngiven device, you can be sure that the ad size will not change. However, the\nsize of the banner creative may change across different devices. Consequently,\nit is recommended to ensure your layout can accommodate variances in ad height.\nIn rare cases, the full adaptive size may not be filled and a standard size\ncreative will be centered in this slot instead.\n\nWhen to use adaptive banners\n\nAdaptive banners are designed to be a drop-in replacement for the industry\nstandard 320x50 banner size, as well as the smart banner format they supersede.\n\nThese banner sizes are commonly used as anchored banners, which are usually\nlocked to the top or bottom of the screen. For such anchored banners, the aspect\nratio when using adaptive banners will be similar to that of a standard 320x50\nad, as can be seen in these screenshots:\n\n|---------------|--------------|-----------------|\n| 320x50 banner | Smart banner | Adaptive banner |\n\nAn adaptive banner makes better use of the available screen size. Additionally,\ncompared to a smart banner, an adaptive banner is a better choice because:\n\n- It uses a provided width rather than full screen width, enabling you to\n account for safe areas.\n\n- It selects an optimal height for the specific device, rather than having a\n constant height across different sized devices, mitigating the effects of\n device fragmentation.\n\nImplementation notes\n\nWhen implementing adaptive banners in your app, keep the following points in\nmind:\n\n- You must know the width of the view that the ad will be placed in, *and this\n should take into account the device width and any safe areas that are\n applicable*.\n\n- Ensure that your ad view background is opaque to be compliant with AdMob\n policies when smaller ad sizes serve that do not fill the ad slot.\n\n- Ensure you are using the latest version of the Google Mobile Ads C++ SDK. For\n mediation, use the latest version of each mediation adapter.\n\n- The adaptive banner sizes are designed to work best when using the full\n available width. In most cases, this will be the full width of the screen of\n the device in use. Be sure to take into account applicable safe areas.\n\n- The Google Mobile Ads C++ SDK returns an optimized ad height for the given\n width in a `firebase::gma::AdSize`.\n\n- There are three methods to get an ad size for adaptive banners---one for\n landscape, one for portrait, and one for the current orientation at the time\n of execution.\n\n- The size returned for a given width on a given device will always be the same,\n hence once you've tested your layout on a given device, you can be sure that\n the ad size will not change.\n\n- Anchored banner height is never larger than 15% of the device's height and\n never smaller than 50 points.\n\nQuick start\n\nFollow the steps below to implement a simple adaptive anchor banner.\n\n1. Get an adaptive banner ad size. The size you get will be used to request\n your adaptive banner. To get the adaptive ad size, make sure that you:\n\n 1. Get the width of the device in use, or set your own width if you don't\n want to use the full width of the screen.\n\n 2. Use the appropriate static methods on the `AdSize` class, such as\n `GetCurrentOrientationAnchoredAdaptiveBannerAdSize(uint32_t width)` to\n get an adaptive `AdSize` object for the chosen orientation.\n\n 3. Invoke `Initialize()` on the `AdView` with the adaptive `AdSize` you've\n created.\n\n A full example is included below.\n2. Create an `AdRequest` object and load your banner using the `loadAd()`\n method on your prepared ad view, just like you would with a normal banner\n request.\n\nSample code\n\nHere's an example of an `AdView` that will load an adaptive banner: \n\n // Determine view width in pixels based on your app's current width on the\n // device's screen. This process will vary depending on which windowing toolkit\n // you're using.\n\n firebase::gma::AdSize adaptive_ad_size =\n AdSize::GetCurrentOrientationAnchoredAdaptiveBannerAdSize(view_width);\n\n // my_ad_parent is a reference to an iOS UIView or an Android Activity.\n // This is the parent UIView or Activity of the banner view.\n firebase::gma::AdParent ad_parent =\n static_cast\u003cfirebase::gma::AdParent\u003e(my_ad_parent);\n firebase::Future\u003cvoid\u003e result =\n ad_view-\u003eInitialize(ad_parent, kBannerAdUnit, adaptive_ad_size);\n\nHere, the function\n`GetCurrentOrientationAnchoredAdaptiveBannerAdSize(uint32_t width)` is used to\nget the size for a banner in an anchored position for the current interface\norientation. For pre-loading an anchored banner in a given orientation, use the\nrelevant function from `GetPortraitAnchoredAdaptiveBannerAdSize(uint32_t width)`\nand `GetLandscapeAnchoredAdaptiveBannerAdSize(uint32_t width)`."]]