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

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

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

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

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

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

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

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

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


إعلان بانر 320×50

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

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

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

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

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

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

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

  • يجب أن تعرف عرض العرض الذي سيتم وضع الإعلان فيه، ويجب أن يراعي ذلك عرض الجهاز وأي مناطق آمنة أو قواطع سارية سارية.
  • تأكّد من أن خلفية عرض الإعلان غير واضحة لتتوافق مع سياسات AdMob عندما يتم عرض أحجام إعلانات أصغر لا تملأ الخانة الإعلانية.
  • احرص على استخدام أحدث إصدار من المكوّن الإضافي Google Ads 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 NewMonoBehaviour : MonoBehaviour
{
    private BannerView bannerView;

    // Use this for initialization
    void Start()
    {
        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 (this.bannerView != null)
        {
            this.bannerView.Destroy();
        }

        AdSize adaptiveSize =
                AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);

        this.bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);

        // Register for ad events.
        this.bannerView.OnAdLoaded += this.HandleAdLoaded;
        this.bannerView.OnAdFailedToLoad += this.HandleAdFailedToLoad;
        this.bannerView.OnAdOpening += this.HandleAdOpening;
        this.bannerView.OnAdClosed += this.HandleAdClosed;

        AdRequest adRequest = new AdRequest.Builder()
            .AddTestDevice(AdRequest.TestDeviceSimulator)
            .AddTestDevice("0123456789ABCDEF0123456789ABCDEF")
            .Build();

        // Load a banner ad.
        this.bannerView.LoadAd(adRequest);
    }

    #region Banner callback handlers

    public void HandleAdLoaded(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdLoaded event received");
        MonoBehaviour.print(String.Format("Ad Height: {0}, width: {1}",
            this.bannerView.GetHeightInPixels(),
            this.bannerView.GetWidthInPixels()));
    }

    public void HandleAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
        MonoBehaviour.print(
                "HandleFailedToReceiveAd event received with message: " + args.Message);
    }

    public void HandleAdOpening(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdOpening event received");
    }

    public void HandleAdClosed(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdClosed event received");
    }

    #endregion
}

يتم هنا استخدام الدالة AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth للحصول على حجم إعلان البانر في موضع ثابت للاتجاه الحالي للواجهة. لتحميل إعلان بانر ثابت مسبقًا في اتجاه معيّن، استخدِم الوظيفة ذات الصلة من AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth وAdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth.