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

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

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

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

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

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

מודעות באנר מותאמות הן מחליפות את הפורמט שבו משתמשים גם בתעשייה מודעת באנר בגודל סטנדרטי 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/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.