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

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

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

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

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

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

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

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

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


إعلان بانر مقاس 320x50

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

بانر ذكي

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

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

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

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

عند تنفيذ إعلانات البانر التكيُّفية في تطبيقك، يُرجى مراعاة النقاط التالية:

  • يجب أن تعرف حجم العرض الذي سيتم وضع الإعلان فيه، ويجب أن يأخذ ذلك في الاعتبار عرض الجهاز وأي مناطق آمنة أو قصاصات قابلة للتطبيق.
  • تأكّد من أنّ خلفية مشاهدة الإعلان معتمة بما يتوافق مع سياسات AdMob عندما يتم عرض أحجام إعلانات أصغر لا تملأ الخانة الإعلانية.
  • تأكّد من استخدام أحدث إصدار من مكوّن Unity الإضافي لإعلانات Google على الأجهزة الجوّالة. بالنسبة إلى التوسّط، استخدِم أحدث إصدار من كل محوّل توسّط.
  • تم تصميم أحجام إعلانات البانر التكيُّفية لتعمل على أفضل نحو عند استخدام العرض الكامل المتاح. وفي معظم الحالات، سيكون هذا هو العرض الكامل لشاشة الجهاز المستخدم. ويجب مراعاة المناطق الآمنة السارية.
  • ستعمل حزمة "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.