إعلانات البانر التكيُّفية الثابتة

إعلانات البانر التكيُّفية هي الجيل التالي من الإعلانات المتجاوبة، وهي تزيد الأداء إلى أقصى حد من خلال تحسين حجم الإعلان لكل جهاز. تتفوّق إعلانات البانر التكيُّفية على إعلانات البانر الذكية التي كانت تتيح فقط الارتفاعات الثابتة، إذ تتيح لك إعلانات البانر التكيُّفية تحديد عرض الإعلان واستخدامه لتحديد حجم الإعلان الأمثل.

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

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

المتطلبات الأساسية

حالات استخدام "إعلانات البانر التكيُّفية"

تم تصميم إعلانات البانر التكيُّفية لتكون بديلاً جاهزًا للاستخدام لكلّ من حجم البانر القياسي 320×50 وتنسيق البانر الذكي الذي تحلّ محلّه.

يتم استخدام أحجام إعلانات البانر هذه عادةً كإعلانات بانر ثابتة، والتي تكون عادةً مثبّتة في أعلى الشاشة أو أسفلها.

بالنسبة إلى إعلانات البانر الثابتة هذه، ستكون نسبة العرض إلى الارتفاع عند استخدام إعلانات البانر التكيُّفية مشابهة لنسبة العرض إلى الارتفاع في إعلان عادي بمقاس 320x50، كما هو موضّح في الأمثلة الثلاثة أدناه:


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

إعلان بانر تكيُّفي

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

تستفيد "إعلانات البانر التكيُّفية" بشكل أفضل من حجم الشاشة المتاح. بالإضافة إلى ذلك، تُعدّ إعلانات البانر التكيُّفية خيارًا أفضل من إعلانات البانر الذكية للأسباب التالية:

  • يستخدم هذا النوع أي عرض تقدّمه، بدلاً من فرض العرض على أن يكون ملء الشاشة، ما يتيح لك مراعاة المنطقة الآمنة على iOS وعرض الفتحات على Android.

  • ويختار ارتفاعًا مناسبًا للجهاز المحدّد، بدلاً من أن يكون الارتفاع ثابتًا على جميع الأجهزة ذات الأحجام المختلفة، ما يقلّل من تأثيرات تجزئة الأجهزة.

ملاحظات حول التنفيذ

عند تنفيذ "البانرات التكيّفية" في تطبيقك، ضَع النقاط التالية في اعتبارك:

  • يجب معرفة عرض طريقة العرض التي سيتم وضع الإعلان فيها، ويجب أن يأخذ ذلك في الاعتبار عرض الجهاز وأي مناطق آمنة أو فتحات قابلة للتطبيق.
  • تأكَّد من أنّ خلفية مساحة عرض الإعلان غير شفافة للامتثال لسياسات AdMob عند عرض أحجام إعلانات أصغر لا تملأ مساحة عرض الإعلان.
  • تأكَّد من استخدام أحدث إصدار من إضافة Google Mobile Ads Unity. للتوسّط، استخدِم أحدث إصدار من كلّ محوّل توسّط.
  • تم تصميم أحجام "إعلانات البانر التكيُّفية" لتعمل بشكل أفضل عند استخدام عرض المساحة المتاحة بأكمله. في معظم الحالات، سيكون ذلك العرض الكامل لشاشة الجهاز المستخدَم. احرص على مراعاة المناطق الآمنة السارية.
  • ستحدّد حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة حجم البانر مع ارتفاع إعلان محسّن للعرض المحدّد عند استخدام واجهات برمجة التطبيقات AdSize التكيُّفية.
  • هناك ثلاث طرق للحصول على حجم إعلان متجاوب: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth للعرض الأفقي، AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth للعرض العمودي، AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth للاتجاه الحالي عند التنفيذ.
  • سيكون الحجم المعروض لعرض محدّد على جهاز محدّد هو نفسه دائمًا، وبالتالي بعد اختبار التصميم على جهاز محدّد، يمكنك التأكّد من أنّ حجم الإعلان لن يتغيّر.
  • لا يتجاوز ارتفاع إعلان البانر الثابت أبدًا الحد الأدنى من% 15 من ارتفاع الجهاز أو 90 بكسل مستقل الكثافة، ولا يقلّ أبدًا عن 50 بكسل مستقل الكثافة.
  • بالنسبة إلى إعلانات البانر ذات العرض الكامل، يمكنك استخدام العلامة AdSize.FullWidth بدلاً من توفير عرض محدّد.

البدء السريع

اتّبِع الخطوات التالية لتنفيذ بانر بسيط ثابت في أسفل الشاشة.

  1. الحصول على حجم "إعلان بانر تكيُّفي" سيتم استخدام الحجم الذي تحصل عليه لطلب "إعلان البانر التكيُّفي". للحصول على حجم الإعلان المتجاوب، تأكَّد ممّا يلي:
    1. يمكنك الحصول على عرض الجهاز المستخدَم بوحدات بكسل مستقلة عن الكثافة، أو ضبط العرض الخاص بك إذا كنت لا تريد استخدام العرض الكامل للشاشة. بما أنّ واجهات برمجة التطبيقات في Unity، مثل Screen.width، تعرض وحدات البكسل المطلقة، عليك القسمة على مقياس الجهاز (يمكن استرداده من MobileAds.Utils.GetDeviceScale()).
    2. استخدِم العلامة AdSize.FullWidth لإعلانات البانر ذات العرض الكامل.
    3. استخدِم الطرق الثابتة المناسبة في فئة حجم الإعلان، مثل AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width) للحصول على كائن AdSize متكيّف مع الاتجاه الحالي.
  2. أنشئ عنصر BannerView يتضمّن معرّف الوحدة الإعلانية والحجم المتكيّف والموضع المناسب لإعلانك.
  3. أنشئ عنصر طلب إعلان وحمِّل البانر باستخدام الطريقة 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.