แบนเนอร์ยึดตําแหน่งที่ปรับเปลี่ยนได้

แบนเนอร์แบบปรับขนาดได้เป็นรูปแบบใหม่ของโฆษณาที่ปรับเปลี่ยนตามอุปกรณ์ ซึ่งจะเข้ามาช่วยเพิ่มประสิทธิภาพด้วยการปรับขนาดโฆษณาให้เหมาะกับแต่ละอุปกรณ์ แบนเนอร์แบบปรับขนาดได้ให้คุณระบุความกว้างของโฆษณา แล้วใช้ในการกําหนดขนาดโฆษณาที่มีประสิทธิภาพสูงสุด ปรับปรุงแบนเนอร์อัจฉริยะซึ่งรองรับเฉพาะความสูงคงที่

แบนเนอร์แบบปรับขนาดได้ใช้สัดส่วนภาพคงที่แทนความสูงคงที่เพื่อเลือกขนาดโฆษณาที่ดีที่สุด ซึ่งจะส่งผลให้โฆษณาแบนเนอร์ใช้พื้นที่ที่สอดคล้องกับส่วนหนึ่งของหน้าจอในอุปกรณ์ต่างๆ และมอบโอกาสสําหรับประสิทธิภาพที่ดีขึ้นด้วย

เมื่อทํางานกับแบนเนอร์แบบปรับขนาดได้ โปรดทราบว่าแบนเนอร์จะแสดงขนาดคงที่สําหรับอุปกรณ์และความกว้างชิ้นใดชิ้นหนึ่งเสมอ เมื่อคุณทดสอบเลย์เอาต์ในอุปกรณ์ที่กําหนดแล้ว ก็มั่นใจได้ว่าขนาดของโฆษณาจะไม่เปลี่ยนแปลง อย่างไรก็ตาม ขนาดของโฆษณาแบนเนอร์อาจมีการเปลี่ยนแปลงในอุปกรณ์ต่างๆ ด้วยเหตุนี้ เราขอแนะนําให้เลย์เอาต์ของคุณรองรับความผันแปรของความสูงของโฆษณา ในกรณีที่เกิดขึ้นไม่บ่อย ขนาดที่ปรับขนาดได้อาจไม่ได้เต็ม และครีเอทีฟโฆษณาขนาดมาตรฐานจะอยู่ตรงกลางในช่องนี้แทน

สิ่งที่ต้องมีก่อน

ควรใช้แบนเนอร์แบบปรับขนาดได้เมื่อใด

แบนเนอร์แบบปรับขนาดได้ออกแบบมาเพื่อให้ใช้แทนแบนเนอร์ได้ทั้งขนาดแบนเนอร์มาตรฐานอุตสาหกรรมขนาด 320x50 และแบนเนอร์อัจฉริยะที่มาแทนที่

ขนาดแบนเนอร์เหล่านี้มักใช้เป็นแบนเนอร์แบบโฆษณา Anchor ซึ่งโดยทั่วไปจะล็อกไว้ที่ด้านบนหรือด้านล่างของหน้าจอ

สําหรับแบนเนอร์โฆษณา Anchor ดังกล่าว อัตราส่วนเมื่อใช้แบนเนอร์แบบปรับขนาดได้จะคล้ายกับโฆษณาแบนเนอร์มาตรฐาน 320x50 ตามที่แสดงใน 3 ตัวอย่างด้านล่าง


แบนเนอร์ 320x50

แบนเนอร์แบบปรับขนาดได้

แบนเนอร์อัจฉริยะ

แบนเนอร์แบบปรับขนาดได้ออกแบบมาเพื่อให้ใช้ขนาดหน้าจอที่มีอยู่ได้ดียิ่งขึ้น และเมื่อเทียบกับแบนเนอร์อัจฉริยะ แบนเนอร์แบบปรับขนาดได้เป็นทางเลือกที่ดีกว่าเนื่องจาก

  • โดยจะใช้ความกว้างที่คุณระบุแทนที่จะใช้ความกว้างเต็มหน้าจอ ซึ่งช่วยให้คุณพิจารณาพื้นที่ปลอดภัยบน iOS และหน้าจอรอยบาก ใน Android

  • โดยจะเลือกความสูงที่เหมาะสมที่สุดสําหรับอุปกรณ์หนึ่งๆ แทนความสูงที่คงที่ในอุปกรณ์ขนาดต่างๆ ซึ่งจะบรรเทาผลกระทบของการกระจายตัวของอุปกรณ์

หมายเหตุการติดตั้งใช้งาน

เมื่อใช้แบนเนอร์แบบปรับขนาดได้ในแอปของคุณ โปรดคํานึงถึงประเด็นต่อไปนี้

  • คุณต้องทราบความกว้างของมุมมองที่จะวางโฆษณาด้วยและวิธีนี้ควรคํานึงถึงความกว้างของอุปกรณ์ และพื้นที่ที่ปลอดภัยหรือรอยบากที่เกี่ยวข้อง
  • ตรวจสอบว่าพื้นหลังของมุมมองเป็นแบบทึบแสงเพื่อให้สอดคล้องกับนโยบายของ AdMob เมื่อโฆษณาที่แสดงมีขนาดเล็กและไม่มีโฆษณาเต็มช่อง
  • ตรวจสอบว่าคุณใช้ปลั๊กอิน Unity สําหรับโฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชันล่าสุด สําหรับสื่อกลาง ให้ใช้อะแดปเตอร์สื่อกลางแต่ละเวอร์ชันล่าสุด
  • ขนาดแบนเนอร์แบบปรับขนาดได้ออกแบบมาเพื่อให้ทํางานได้ดีที่สุดเมื่อใช้ความกว้างเต็มหน้าจอ ในกรณีส่วนใหญ่ ความกว้างจะเป็นความกว้างของหน้าจอของอุปกรณ์ที่ใช้งาน คํานึงถึงพื้นที่ปลอดภัยที่เกี่ยวข้อง
  • SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะปรับขนาดแบนเนอร์ให้มีความสูงของโฆษณาที่เหมาะสมที่สุดสําหรับความกว้างนั้นๆ เมื่อใช้ AdSize API แบบปรับอัตโนมัติ
  • การปรับขนาดโฆษณาที่ปรับได้มี 3 วิธี ได้แก่ AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidthสําหรับแนวนอน AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth สําหรับแนวตั้ง และ AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth สําหรับการวางแนวปัจจุบันเมื่อประมวลผล
  • ขนาดที่แสดงสําหรับความกว้างหนึ่งๆ ในอุปกรณ์หนึ่งๆ จะเท่ากันเสมอ เมื่อคุณทดสอบเลย์เอาต์ในอุปกรณ์ที่กําหนดแล้ว คุณจะมั่นใจได้ว่าขนาดโฆษณาจะไม่เปลี่ยนแปลง
  • ความสูงของแบนเนอร์โฆษณา Anchor จะไม่เล็กกว่า 15% ของความสูง ความสูงพิกเซล 90 พิกเซลหรือความหนาแน่นของพิกเซลอิสระและไม่น้อยกว่า 50 พิกเซล
  • สําหรับแบนเนอร์ที่มีความกว้างเต็ม คุณจะใช้แฟล็ก AdSize.FullWidth แทนการจัดเตรียมความกว้างที่เจาะจงได้

คู่มือเริ่มใช้งานฉบับย่อ

ทําตามขั้นตอนด้านล่างเพื่อใช้แบนเนอร์ยึดตําแหน่งที่ปรับเปลี่ยนได้แบบง่าย

  1. รับขนาดโฆษณาแบนเนอร์แบบปรับขนาดได้ ขนาดที่คุณใช้จะใช้ขอ แบนเนอร์แบบปรับขนาดได้ หากต้องการปรับขนาดโฆษณาที่ปรับเปลี่ยนได้ ให้ดําเนินการดังนี้
    1. รับข้อมูลความกว้างของอุปกรณ์โดยใช้หน่วยความหนาแน่นของพิกเซลอิสระ หรือตั้งค่าความกว้างของคุณเองหากคุณไม่ต้องการใช้ความกว้างเต็มหน้าจอ เนื่องจาก Unity API เช่น 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 จะใช้เพื่อแสดงขนาดสําหรับแบนเนอร์ในตําแหน่ง Anchor ของการวางแนวในอินเทอร์เฟซปัจจุบัน หากต้องการโหลดแบนเนอร์โฆษณา Anchor ไว้ล่วงหน้าในการวางแนวที่กําหนดไว้ ให้ใช้ฟังก์ชันที่เกี่ยวข้องจาก AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth และ AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth