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

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

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

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

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

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

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

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

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


באנר בגודל 320x50

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

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

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

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

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

הערות להטמעה

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

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