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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

הערות להטמעה

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

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