إعلانات البانر التكيُّفية هي الجيل القادم من الإعلانات المتجاوبة، وهي تحقّق أفضل أداء من خلال تحسين حجم الإعلان لكل جهاز. تعمل إعلانات البانر التكيُّفية على تحسين إعلانات البانر الذكية التي كانت تتوافق فقط مع ارتفاعات ثابتة، وتسمح لك بتحديد عرض الإعلان واستخدامه لتحديد حجم الإعلان الأمثل.
لاختيار أفضل حجم للإعلان، تستخدم إعلانات البانر التكيُّفية نسب عرض إلى ارتفاع ثابتة بدلاً من استخدام ارتفاعات ثابتة. وينتج عن ذلك إعلانات البانر التي تشغل جزءًا أكثر اتساقًا من الشاشة على جميع الأجهزة، كما توفّر فرصًا لتحسين الأداء.
عند استخدام إعلانات البانر التكيُّفية، لاحظ أنّها ستعرِض دائمًا حجمًا ثابتًا لجهاز وعرض معيّنين. بعد اختبار التنسيق على أحد الأجهزة، يمكنك التأكد من عدم تغيير حجم الإعلان. ومع ذلك، قد يتغير حجم تصميم إعلان البانر على مستوى الأجهزة المختلفة. وبالتالي، ننصح بأن يكون التنسيق متباينًا في ارتفاع الإعلان. في حالات نادرة، قد لا يتم ملء الحجم الكامل التكيُّفي وسيتم التركيز على تصميم إعلان بالحجم العادي في هذه الخانة بدلاً من ذلك.
المتطلبات الأساسية
- اتّبِع التعليمات الواردة من دليل البدء حول كيفية استيراد المكوّن الإضافي Unity Ads للأجهزة الجوّالة وتضمين حزمة تطوير البرامج (SDK) للإعلانات على الأجهزة الجوّالة.
حالات استخدام إعلانات البانر التكيُّفية
تم تصميم إعلانات البانر التكيُّفية لتكون خلفية بديلة لكل من حجم إعلان البانر العادي 320×50 وتنسيق البانر الذكي الذي تحلّ محله.
تُستخدم أحجام إعلانات البانر هذه عادةً كإعلانات بانر ثابتة، ويتم عادةً تثبيتها في أعلى الشاشة أو أسفلها.
بالنسبة إلى إعلانات البانر الثابتة، تكون نسبة العرض إلى الارتفاع عند استخدام إعلانات البانر التكيُّفية مماثلة لنسبة عرض الإعلان العادي 320×50، كما هو موضّح في الأمثلة الثلاثة التالية:
![]() إعلان بانر 320×50 |
![]() إعلان بانر تكيُّفي |
![]() إعلان بانر ذكي |
يستفيد إعلان البانر التكيُّفي من حجم الشاشة المتاح بشكل أفضل. بالإضافة إلى ذلك، يكون إعلان البانر التكيُّفي خيارًا أفضل مقارنةً بإعلان البانر الذكي للأسباب التالية:
تستخدم الأداة أي عرض تقدّمه، بدلاً من فرض عرض المحتوى بملء الشاشة، ما يتيح لك مراعاة المنطقة الآمنة على نظام التشغيل iOS واللقطات المقطوعة على أجهزة Android.
ويحدّد الارتفاع الأمثل للجهاز المحدّد، بدلاً من ارتفاع ثابت على جميع الأجهزة ذات المقاسات المختلفة، ما يخفّف من تأثير تجزئة الجهاز.
ملاحظات التنفيذ
عند تنفيذ إعلانات البانر التكيُّفية في تطبيقك، يُرجى مراعاة النقاط التالية:
- يجب أن تعرف عرض الشاشة التي سيتم وضع الإعلان فيها، ويجب أن يأخذ ذلك في الاعتبار عرض الجهاز وأي مناطق أو أجزاء آمنة سارية.
- تأكّد من أن خلفية عرض الإعلان مبتزِمة للالتزام بسياسات AdMob عندما يتم عرض أحجام إعلانات صغيرة لا تملأ خانة الإعلان.
- احرص على استخدام أحدث إصدار من مكوّن Google Mobile Ads Unity. للتوسّط، استخدِم أحدث إصدار من كل محوّل توسّط.
- تم تصميم أحجام إعلانات البانر التكيُّفية لتحقيق أفضل أداء عند استخدام العرض الكامل المتاح. وفي معظم الحالات، سيكون هذا هو العرض الكامل لشاشة الجهاز قيد الاستخدام. واحرص على مراعاة المناطق الآمنة الملائمة.
- ستضبط حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" حجم إعلان البانر بطول ارتفاع محسّن للعرض المحدّد عند استخدام واجهات برمجة تطبيقات AdSize التكيّفية.
- هناك ثلاث طرق للحصول على حجم إعلان للتكيُّف:
AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
للوضع الأفقي، وAdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
للوضع العمودي، وAdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
للاتجاهات الحالية في وقت التنفيذ. - وسيكون الحجم المعروض للعرض المحدد على جهاز معين هو نفسه دائمًا، وبالتالي بعد اختبار التنسيق على جهاز معين، يمكنك التأكد من عدم تغيير حجم الإعلان.
- لا يكون ارتفاع إعلان البانر الثابتة أكبر من أقل من 15% من ارتفاع الجهاز أو 90 بكسل مستقلة الكثافة وألّا يقل حجمها عن 50 بكسل مستقلة الكثافة.
- بالنسبة إلى إعلانات البانر ذات العرض الكامل، يمكنك استخدام العلامة
AdSize.FullWidth
بدلاً من توفير عرض محدّد.
التشغيل السريع
اتّبِع الخطوات التالية لتنفيذ إعلان بانر ثابت تكيُّفي بسيط.
- احصل على حجم إعلان بانر تكيُّفي. سيتم استخدام الحجم الذي تحصل عليه لطلب
إعلان البانر التكيُّفي. للحصول على حجم الإعلان التكيُّفي، تأكّد مما يلي:
- يمكنك الحصول على عرض الجهاز قيد الاستخدام بوحدات بكسل مستقلة الكثافة، أو يمكنك ضبط
عرضك الخاص إذا كنت لا تريد استخدام العرض الكامل للشاشة.
بما أنّ واجهات برمجة تطبيقات Unity مثل
Screen.width
تعرض وحدات بكسل مطلقة، ستحتاج إلى التقسيم حسب مقياس الجهاز (يمكن استرداده منMobileAds.Utils.GetDeviceScale()
). - استخدِم العلامة
AdSize.FullWidth
لإعلانات البانر ذات العرض الكامل. - استخدِم الطرق الثابتة المناسبة في فئة حجم الإعلان، مثل
AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)
للحصول على كائنAdSize
التكيّفي مع الاتجاه الحالي.
- يمكنك الحصول على عرض الجهاز قيد الاستخدام بوحدات بكسل مستقلة الكثافة، أو يمكنك ضبط
عرضك الخاص إذا كنت لا تريد استخدام العرض الكامل للشاشة.
بما أنّ واجهات برمجة تطبيقات Unity مثل
- أنشِئ عنصر
BannerView
باستخدام رقم تعريف الوحدة الإعلانية وحجم الوحدة التكيُّفية والموضع ذي الصلة لإعلانك. - أنشِئ عنصرًا لطلب الإعلان وحمِّل البانر باستخدام طريقة
LoadAd()
على طريقة عرض الإعلان التي تم إعدادها، تمامًا كما تفعل مع طلب إعلان بانر عادي.
مثال للرمز
في ما يلي مثال لنص برمجي يحمّل إعلان بانر تكيّفيًا ويعيد تحميله ليتناسب مع عرض الشاشة، مع مراعاة المنطقة الآمنة:
using UnityEngine;
using System;
using GoogleMobileAds.Api;
public class AdaptiveBannerSample : MonoBehaviour
{
private BannerView _bannerView;
// Use this for initialization
void Start()
{
// Set your test devices.
// https://developers.google.com/admob/unity/test-ads
RequestConfiguration requestConfiguration = new RequestConfiguration
{
TestDeviceIds = new List<string>
{
AdRequest.TestDeviceSimulator,
// Add your test device IDs (replace with your own device IDs).
#if UNITY_IPHONE
"96e23e80653bb28980d3f40beb58915c"
#elif UNITY_ANDROID
"75EF8D155528C04DACBBA6F36F433035"
#endif
}
};
MobileAds.SetRequestConfiguration(requestConfiguration);
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus status) =>
{
RequestBanner();
});
}
public void OnGUI()
{
GUI.skin.label.fontSize = 60;
Rect textOutputRect = new Rect(
0.15f * Screen.width,
0.25f * Screen.height,
0.7f * Screen.width,
0.3f * Screen.height);
GUI.Label(textOutputRect, "Adaptive Banner Example");
}
private void RequestBanner()
{
// These ad units are configured to always serve test ads.
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "ca-app-pub-3212738706492790/6113697308";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3212738706492790/5381898163";
#else
string adUnitId = "unexpected_platform";
#endif
// Clean up banner ad before creating a new one.
if (_bannerView != null)
{
_bannerView.Destroy();
}
AdSize adaptiveSize =
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);
_bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);
// Register for ad events.
_bannerView.OnBannerAdLoaded += OnBannerAdLoaded;
_bannerView.OnBannerAdLoadFailed += OnBannerAdLoadFailed;
AdRequest adRequest = new AdRequest();
// Load a banner ad.
_bannerView.LoadAd(adRequest);
}
#region Banner callback handlers
private void OnBannerAdLoaded(object sender, EventArgs args)
{
Debug.Log("Banner view loaded an ad with response : "
+ _bannerView.GetResponseInfo());
Debug.Log("Ad Height: {0}, width: {1}",
_bannerView.GetHeightInPixels(),
_bannerView.GetWidthInPixels());
}
private void OnBannerAdLoadFailed(LoadAdError error)
{
Debug.LogError("Banner view failed to load an ad with error : "
+ error);
}
#endregion
}
يتم هنا استخدام الدالة
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
للحصول على حجم إعلان البانر في موضع ثابت للواجهة الحالية. لتحميل إعلان بانر ثابت مسبقًا في اتجاه معيّن، استخدِم الدالة ذات الصلة من AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
وAdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
.