แบนเนอร์ที่ปรับเปลี่ยนได้ที่อยู่ด้านล่างสุด

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

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

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

ข้อกำหนดเบื้องต้น

กรณีที่ควรใช้แบนเนอร์แบบปรับขนาดได้

แบนเนอร์แบบปรับขนาดได้ถูกออกแบบมาให้ใช้แทนที่แบนเนอร์ขนาด 320x50 ซึ่งเป็นมาตรฐานอุตสาหกรรมได้โดยตรง รวมถึงแบนเนอร์อัจฉริยะ ซึ่งเป็นรูปแบบที่แบนเนอร์นี้เข้ามาแทนที่

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

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


แบนเนอร์ขนาด 320x50

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

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

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

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

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

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

โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อติดตั้งใช้งานแบนเนอร์แบบปรับขนาดได้ในแอป

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

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

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

  1. ดูขนาดโฆษณาแบนเนอร์แบบปรับขนาดได้ ระบบจะใช้ขนาดที่คุณได้รับเพื่อส่งคําขอแบนเนอร์แบบปรับขนาดได้ หากต้องการใช้ขนาดโฆษณาแบบปรับอัตโนมัติ โปรดตรวจสอบว่าคุณได้ดำเนินการต่อไปนี้
    1. รับความกว้างของอุปกรณ์ที่ใช้เป็นพิกเซลที่ไม่ขึ้นอยู่กับความหนาแน่น หรือตั้งค่าความกว้างของคุณเองหากไม่ต้องการเต็มความกว้างของหน้าจอ เนื่องจาก Unity API เช่น Screen.width จะแสดงผลพิกเซลแบบสัมบูรณ์ คุณจึงต้องหารด้วยขนาดอุปกรณ์ (ดึงมาจาก MobileAds.Utils.GetDeviceScale())
    2. ใช้ Flag 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