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

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

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

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

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

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

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

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

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


بانر 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/ad-manager/mobile-ads-sdk/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.