מודעות באנר מותאמות עם עוגן

מודעות באנר מותאמות הן הדור הבא של מודעות רספונסיביות, והן מניבות ביצועים אופטימליים על ידי אופטימיזציה של גודל המודעה בכל מכשיר. מודעות באנר מותאמות, שמבוססות על השיפור במודעות באנר חכמות, שתומכות רק בגובה קבוע, מאפשרות לציין את רוחב המודעה ולהשתמש במידע הזה כדי לקבוע את הגודל האופטימלי.

כדי לבחור את גודל המודעה המתאים ביותר, מודעות באנר מותאמות משתמשות ביחס גובה-רוחב קבוע במקום בגובה קבוע. כתוצאה מכך, מודעות הבאנר תופסות חלק עקבי יותר במסך בכל המכשירים, ומספקות הזדמנויות לשיפור הביצועים.

כשמשתמשים במודעות באנר מותאמות, חשוב לזכור שהגודל שלהן תמיד ישתנה בהתאם למכשיר ולרוחב מסוימים. לאחר שבדקתם את הפריסה במכשיר מסוים, תוכלו להיות בטוחים שגודל המודעה לא ישתנה. עם זאת, גודל הקריאייטיב של מודעת הבאנר עשוי להשתנות במכשירים שונים. כתוצאה מכך, מומלץ שהפריסה תכיל הבדלים בגובה המודעה. במקרים נדירים, יכול להיות שלא תמלאו את הגודל המותאם המלא, וקריאייטיב בגודל סטנדרטי ימוקם במקום זאת במשבצת הזו.

דרישות מוקדמות

מתי כדאי להשתמש במודעות באנר מותאמות

מודעות באנר מותאמות נועדו להחליף באופן גורף גם את מודעות הבאנר בגודל 320x50 בגודל הרגיל בתחום, וגם את הפורמט החכם של מודעות באנר שמוחלפות במקומם.

הגדלים האלה של מודעות באנר משמשים בדרך כלל כמודעות באנר מעוגנות, שבדרך כלל ננעלות בחלק העליון או התחתון של המסך.

במודעות באנר מעוגנות כאלה, יחס הגובה-רוחב בעת השימוש במודעות באנר מותאמות יהיה דומה לזה של מודעה רגילה בגודל 320x50, כפי שניתן לראות בשלוש הדוגמאות הבאות:


מודעת באנר בגודל 320x50

מודעת באנר מותאמת

מודעת באנר חכמה

מודעת הבאנר המותאמת עוזרת לנצל טוב יותר את גודל המסך הזמין. כמו כן, בהשוואה למודעת באנר חכמה, עדיף להשתמש במודעת באנר מותאמת כי:

  • היא משתמשת בכל רוחב שאתם מציינים, במקום לאלץ את הרוחב להיות מסך מלא, וכך להביא בחשבון את האזור הבטוח ב-iOS ולהציג גזירים ב-Android.

  • היא בוחרת גובה אופטימלי למכשיר הספציפי במקום גובה קבוע במכשירים בגדלים שונים, כדי לצמצם את ההשפעות של פיצול המכשיר.

הערות להטמעה

כשמטמיעים מודעות באנר מותאמות באפליקציה, חשוב לזכור את הנקודות הבאות:

  • צריך לדעת מה רוחב התצוגה שבה המודעה תוצג, וצריך להביא בחשבון את רוחב המכשיר ואת כל האזורים הבטוחים או החיתוכים הרלוונטיים.
  • ודאו שהרקע של תצוגת המודעה אטום ועומד בדרישות המדיניות של AdMob, כשמוצגות מודעות בגדלים קטנים יותר שלא ממלאים את מיקום המודעה.
  • ודאו שאתם משתמשים בגרסה העדכנית ביותר של הפלאגין Google Mobile Ads Unity. לתהליך בחירת הרשת (Mediation), יש להשתמש בגרסה האחרונה של כל מתאם לתהליך בחירת הרשת.
  • הגדלים של מודעות הבאנר המותאמות מתוכננים כך שיפעלו בצורה הטובה ביותר כשמשתמשים ברוחב המלא הזמין. ברוב המקרים, מדובר ברוחב המלא של המסך במכשיר שבשימוש. חשוב להביא בחשבון את האזורים הבטוחים הרלוונטיים.
  • כשמשתמשים בממשקי ה-API של AdSize, Google Mobile Ads SDK יקבע את גודל הבאנר בעזרת גובה מודעה שעבר אופטימיזציה לרוחב הנתון.
  • יש שלוש שיטות להגדרת גודל מודעה להתאמה: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth לרוחב, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth לפורמט לאורך ו-AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth לכיוון הנוכחי בזמן הביצוע.
  • הגודל שמוחזר לרוחב נתון במכשיר נתון יהיה תמיד זהה, ולכן אחרי שבדקתם את הפריסה במכשיר נתון, תוכלו להיות בטוחים שגודל המודעה לא ישתנה.
  • הגובה של מודעות באנר מעוגנות אף פעם לא גדול מ-15% מגובה המכשיר או מהפיקסלים העצמאיים בצפיפות 90, ואף פעם לא קטן מ-50 פיקסלים בלתי תלויים בצפיפות.
  • במודעות באנר ברוחב מלא, אפשר להשתמש בדגל AdSize.FullWidth במקום לציין רוחב ספציפי.

מדריך למתחילים

כדי להטמיע מודעת באנר מעוגנת בגודל מותאם פשוט, צריך לפעול לפי השלבים הבאים.

  1. יוצרים גודל של מודעת באנר מותאמת. הגודל שמתקבל ישמש לבקשת הבאנר המותאם. כדי לקבל גודל של מודעה מותאמת, עליכם:
    1. אפשר לקבל את רוחב המכשיר בשימוש בפיקסלים לא תלויים בדחיסות, או להגדיר רוחב משלכם אם אתם לא רוצים להשתמש ברוחב המלא של המסך. מכיוון שממשקי API של 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.