แบนเนอร์แบบปรับขนาดได้เป็นรูปแบบใหม่ของโฆษณาที่ปรับเปลี่ยนตามอุปกรณ์ ซึ่งจะเข้ามาช่วยเพิ่มประสิทธิภาพด้วยการปรับขนาดโฆษณาให้เหมาะกับแต่ละอุปกรณ์ แบนเนอร์แบบปรับขนาดได้ให้คุณระบุความกว้างของโฆษณา แล้วใช้ในการกําหนดขนาดโฆษณาที่มีประสิทธิภาพสูงสุด ปรับปรุงแบนเนอร์อัจฉริยะซึ่งรองรับเฉพาะความสูงคงที่
แบนเนอร์แบบปรับขนาดได้ใช้สัดส่วนภาพคงที่แทนความสูงคงที่เพื่อเลือกขนาดโฆษณาที่ดีที่สุด ซึ่งจะส่งผลให้โฆษณาแบนเนอร์ใช้พื้นที่ที่สอดคล้องกับส่วนหนึ่งของหน้าจอในอุปกรณ์ต่างๆ และมอบโอกาสสําหรับประสิทธิภาพที่ดีขึ้นด้วย
เมื่อทํางานกับแบนเนอร์แบบปรับขนาดได้ โปรดทราบว่าแบนเนอร์จะแสดงขนาดคงที่สําหรับอุปกรณ์และความกว้างชิ้นใดชิ้นหนึ่งเสมอ เมื่อคุณทดสอบเลย์เอาต์ในอุปกรณ์ที่กําหนดแล้ว ก็มั่นใจได้ว่าขนาดของโฆษณาจะไม่เปลี่ยนแปลง อย่างไรก็ตาม ขนาดของโฆษณาแบนเนอร์อาจมีการเปลี่ยนแปลงในอุปกรณ์ต่างๆ ด้วยเหตุนี้ เราขอแนะนําให้เลย์เอาต์ของคุณรองรับความผันแปรของความสูงของโฆษณา ในกรณีที่เกิดขึ้นไม่บ่อย ขนาดที่ปรับขนาดได้อาจไม่ได้เต็ม และครีเอทีฟโฆษณาขนาดมาตรฐานจะอยู่ตรงกลางในช่องนี้แทน
สิ่งที่ต้องมีก่อน
- ทําตามวิธีการจากคู่มือเริ่มต้นใช้งานเกี่ยวกับวิธีนําเข้าปลั๊กอิน Unity สําหรับโฆษณาในอุปกรณ์เคลื่อนที่และรวม SDK โฆษณาในอุปกรณ์เคลื่อนที่
ควรใช้แบนเนอร์แบบปรับขนาดได้เมื่อใด
แบนเนอร์แบบปรับขนาดได้ออกแบบมาเพื่อให้ใช้แทนแบนเนอร์ได้ทั้งขนาดแบนเนอร์มาตรฐานอุตสาหกรรมขนาด 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
แทนการจัดเตรียมความกว้างที่เจาะจงได้
คู่มือเริ่มใช้งานฉบับย่อ
ทําตามขั้นตอนด้านล่างเพื่อใช้แบนเนอร์ยึดตําแหน่งที่ปรับเปลี่ยนได้แบบง่าย
- รับขนาดโฆษณาแบนเนอร์แบบปรับขนาดได้ ขนาดที่คุณใช้จะใช้ขอ
แบนเนอร์แบบปรับขนาดได้ หากต้องการปรับขนาดโฆษณาที่ปรับเปลี่ยนได้ ให้ดําเนินการดังนี้
- รับข้อมูลความกว้างของอุปกรณ์โดยใช้หน่วยความหนาแน่นของพิกเซลอิสระ หรือตั้งค่าความกว้างของคุณเองหากคุณไม่ต้องการใช้ความกว้างเต็มหน้าจอ
เนื่องจาก Unity API เช่น
Screen.width
แสดงผลพิกเซลสัมบูรณ์ คุณต้องหารตามขนาดของอุปกรณ์ (ดึงข้อมูลจากMobileAds.Utils.GetDeviceScale()
ได้) - ใช้แฟล็ก
AdSize.FullWidth
สําหรับแบนเนอร์ขนาดเต็มความกว้าง - ใช้วิธีการแบบคงที่ที่เหมาะสมในระดับขนาดโฆษณา เช่น
AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)
เพื่อรับออบเจ็กต์AdSize
แบบปรับอัตโนมัติสําหรับการวางแนวปัจจุบัน
- รับข้อมูลความกว้างของอุปกรณ์โดยใช้หน่วยความหนาแน่นของพิกเซลอิสระ หรือตั้งค่าความกว้างของคุณเองหากคุณไม่ต้องการใช้ความกว้างเต็มหน้าจอ
เนื่องจาก Unity API เช่น
- สร้างออบเจ็กต์
BannerView
ที่มีรหัสหน่วยโฆษณา ขนาดที่ปรับเปลี่ยนได้ และตําแหน่งที่เกี่ยวข้องของโฆษณา - สร้างออบเจ็กต์คําขอโฆษณาและโหลดแบนเนอร์โดยใช้เมธอด
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