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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

הערות להטמעה

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

  • עליכם לדעת את רוחב התצוגה שבה המודעה תוצג, וצריך להביא בחשבון את רוחב המכשיר ואת כל האזורים הבטוחים או החיתוכים הרלוונטיים.
  • חשוב לוודא שהרקע של תצוגת המודעה אטום בהתאם למדיניות AdMob כשמוצגות מודעות קטנות יותר שלא ממלאות את מיקום המודעה.
  • ודאו שאתם משתמשים בגרסה העדכנית ביותר של הפלאגין Google Mobile Ads Unity. בתהליך בחירת הרשת, יש להשתמש בגרסה האחרונה של כל מתאם לתהליך בחירת הרשת.
  • הגדלים המותאמים של מודעות באנר מתוכננים כך שיפעלו בצורה הטובה ביותר כאשר נעשה שימוש ברוחב הזמין המלא. ברוב המקרים, מדובר ברוחב המלא של המסך במכשיר. חשוב להביא בחשבון את האזורים הבטוחים הרלוונטיים.
  • כשמשתמשים בממשקי ה-API של AdSize, בממשקי ה-API של AdSize, ה-Google Mobile Ads SDK ישנה את גודל הבאנר וגובה המודעה באופן אופטימלי.
  • יש שלוש שיטות להגדיר גודל מודעה להתאמה: AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth לרוחב, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth לרוחב ו-AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth לכיוון הנוכחי בזמן הביצוע.
  • הגודל שמוחזר לרוחב נתון במכשיר נתון יהיה תמיד זהה. לכן, אחרי שבדקתם את הפריסה במכשיר מסוים, תוכלו להיות בטוחים שגודל המודעה לא ישתנה.
  • הגובה של מודעות באנר מעוגנות לעולם לא יהיה גדול מ-15% מגובה המכשיר או בצפיפות של 90 פיקסלים, ובצפיפות של 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/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.