โฆษณาแบนเนอร์คือโฆษณาแบบรูปภาพสี่เหลี่ยมผืนผ้าหรือสี่เหลี่ยมผืนผ้าที่ใช้พื้นที่บนหน้าจอ แอปจะยังคงอยู่ในหน้าจอขณะที่ผู้ใช้โต้ตอบกับแอป และจะรีเฟรชโดยอัตโนมัติหลังจากเวลาผ่านไประยะหนึ่ง หากคุณเพิ่งเริ่มใช้การโฆษณาบนอุปกรณ์เคลื่อนที่ ก็เป็นวิธีที่ยอดเยี่ยมในการเริ่มต้นใช้งาน กรณีศึกษา
คู่มือนี้จะแสดงวิธีผสานรวมโฆษณาแบนเนอร์จาก AdMob เข้ากับแอป Unity
สิ่งที่ต้องดำเนินการก่อน
- ทําตามคู่มือเริ่มต้นใช้งานให้เสร็จสมบูรณ์
ทดสอบด้วยโฆษณาทดสอบเสมอ
โค้ดตัวอย่างด้านล่างมีรหัสหน่วยโฆษณาที่คุณใช้เพื่อขอโฆษณาทดสอบได้ และได้รับการกําหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบแทนโฆษณาจริงสําหรับคําขอทั้งหมด ทําให้ใช้งานได้อย่างปลอดภัย
อย่างไรก็ตาม เมื่อคุณลงทะเบียนแอปใน UI ของ AdMob และสร้างรหัสหน่วยโฆษณาของคุณเองสําหรับใช้ในแอป คุณจะต้องกําหนดค่าอุปกรณ์เป็นอุปกรณ์ทดสอบอย่างชัดแจ้งในระหว่างการพัฒนา
Android
ca-app-pub-3940256099942544/6300978111
iOS
ca-app-pub-3940256099942544/2934735716
เริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่
ก่อนโหลดโฆษณา ให้แอปเริ่มใช้ SDK โฆษณาในอุปกรณ์เคลื่อนที่โดยการเรียกใช้
MobileAds.Initialize()
ขั้นตอนนี้ต้องดําเนินการเพียงครั้งเดียวเท่านั้น ขอแนะนําตัวเปิดแอป
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
หากคุณใช้สื่อกลาง ให้รอจนกว่าการเรียกกลับจะเกิดขึ้นก่อนที่จะโหลดโฆษณา เนื่องจากจะทําให้อะแดปเตอร์สื่อกลางทั้งหมดเริ่มทํางาน
ตัวอย่างแบนเนอร์
โค้ดตัวอย่างด้านล่างแสดงรายละเอียดวิธีใช้มุมมองแบนเนอร์ ในตัวอย่างนี้ คุณสร้างอินสแตนซ์ของมุมมองแบนเนอร์ ใช้ AdRequest
เพื่อโหลดโฆษณาลงในมุมมองแบนเนอร์ จากนั้นขยายฟังก์ชันการทํางานด้วยการจัดการเหตุการณ์ในวงจร
สร้างมุมมองแบนเนอร์
ขั้นตอนแรกในการใช้มุมมองแบนเนอร์คือการสร้างอินสแตนซ์ของมุมมองแบนเนอร์ในสคริปต์ C# ที่แนบกับ GameObject
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
private string _adUnitId = "unused";
#endif
BannerView _bannerView;
/// <summary>
/// Creates a 320x50 banner at top of the screen.
/// </summary>
public void CreateBannerView()
{
Debug.Log("Creating banner view");
// If we already have a banner, destroy the old one.
if (_bannerView != null)
{
DestroyAd();
}
// Create a 320x50 banner at top of the screen
_bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
}
ตัวสร้างสําหรับ BannerView
มีพารามิเตอร์ต่อไปนี้
adUnitId
: รหัสหน่วยโฆษณา AdMob ที่BannerView
ควรโหลดโฆษณาAdSize
: ขนาดโฆษณา AdMob ที่คุณต้องการใช้ (ดูรายละเอียดในขนาดแบนเนอร์)AdPosition
: ตําแหน่งที่ควรวางโฆษณาแบนเนอร์ ค่าAdPosition
แจกแจงค่าอันดับโฆษณาที่ถูกต้อง
โปรดสังเกตวิธีใช้หน่วยโฆษณาที่แตกต่างกันโดยขึ้นอยู่กับแพลตฟอร์ม คุณต้องใช้หน่วยโฆษณา iOS สําหรับคําขอโฆษณาใน iOS และหน่วยโฆษณา Android สําหรับคําขอใน Android
(ไม่บังคับ) สร้างมุมมองแบนเนอร์ด้วยตําแหน่งที่กําหนดเอง
หากต้องการควบคุมตําแหน่งที่วาง BannerView
ในหน้าจอมากกว่าค่าที่ AdPosition
นําเสนอ ให้ใช้ BannerViewconstructor
ที่มีพิกัด x และ y เป็นพารามิเตอร์ ดังนี้
// Create a 320x50 banner ad at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);
มุมซ้ายบนของ BannerView
อยู่ในตําแหน่งที่ x และ y ที่ส่งไปยังตัวสร้าง โดยที่ต้นทางคือมุมซ้ายบนของหน้าจอ
(ไม่บังคับ) สร้างมุมมองแบนเนอร์ที่มีขนาดที่กําหนดเอง
นอกเหนือจากการใช้ค่าคงที่ AdSize
แล้ว คุณยังสามารถระบุขนาดที่กําหนดเองสําหรับโฆษณาได้ ดังนี้
// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);
โหลดโฆษณาแบนเนอร์
ขั้นตอนที่ 2 ในการใช้มุมมองแบนเนอร์คือการสร้าง AdRequest
และส่งผ่านไปยังเมธอด LoadAd()
/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
// create an instance of a banner view first.
if(_bannerView == null)
{
CreateBannerView();
}
// create our request used to load the ad.
var adRequest = new AdRequest.Builder()
.AddKeyword("unity-admob-sample")
.Build();
// send the request to load the ad.
Debug.Log("Loading banner ad.");
_bannerView.LoadAd(adRequest);
}
ฟังเหตุการณ์การดูแบนเนอร์
ในการปรับแต่งลักษณะการทํางานของโฆษณา คุณสามารถดึงดูดความสนใจในเหตุการณ์ต่างๆ ในวงจรของโฆษณาได้ เช่น การโหลด การเปิด การปิด และอื่นๆ หากต้องการฟังเหตุการณ์เหล่านี้ ให้ลงทะเบียนผู้รับมอบสิทธิ์
/// <summary>
/// listen to events the banner may raise.
/// </summary>
private void ListenToAdEvents()
{
// Raised when an ad is loaded into the banner view.
_bannerView.OnBannerAdLoaded += () =>
{
Debug.Log("Banner view loaded an ad with response : "
+ _bannerView.GetResponseInfo());
};
// Raised when an ad fails to load into the banner view.
_bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
Debug.LogError("Banner view failed to load an ad with error : "
+ error);
};
// Raised when the ad is estimated to have earned money.
_bannerView.OnAdPaid += (AdValue adValue) =>
{
Debug.Log(String.Format("Banner view paid {0} {1}.",
adValue.Value,
adValue.CurrencyCode));
};
// Raised when an impression is recorded for an ad.
_bannerView.OnAdImpressionRecorded += () =>
{
Debug.Log("Banner view recorded an impression.");
};
// Raised when a click is recorded for an ad.
_bannerView.OnAdClicked += () =>
{
Debug.Log("Banner view was clicked.");
};
// Raised when an ad opened full screen content.
_bannerView.OnAdFullScreenContentOpened += ()
{
Debug.Log("Banner view full screen content opened.");
};
// Raised when the ad closed full screen content.
_bannerView.OnAdFullScreenContentClosed += ()
{
Debug.Log("Banner view full screen content closed.");
};
}
ทําลายมุมมองแบนเนอร์
เมื่อใช้มุมมองแบนเนอร์เสร็จแล้ว อย่าลืมโทรหา Destroy()
เพื่อเพิ่มพื้นที่ว่าง
/// <summary>
/// Destroys the ad.
/// </summary>
public void DestroyAd()
{
if (_bannerView != null)
{
Debug.Log("Destroying banner ad.");
_bannerView.Destroy();
_bannerView = null;
}
}
เท่านี้ก็เรียบร้อย ตอนนี้แอปก็พร้อมที่จะแสดงโฆษณาแบนเนอร์จาก AdMob แล้ว
ขนาดของแบนเนอร์
ตารางด้านล่างแสดงรายการขนาดแบนเนอร์มาตรฐาน
ขนาดในหน่วย dp (WxH) | คำอธิบาย | ความพร้อมใช้งาน | ค่าคงที่ของ AdSize |
---|---|---|---|
320x50 | แบนเนอร์มาตรฐาน | โทรศัพท์และแท็บเล็ต | BANNER |
320x100 | แบนเนอร์ขนาดใหญ่ | โทรศัพท์และแท็บเล็ต | LARGE_BANNER |
300x250 | สี่เหลี่ยมผืนผ้ากลาง IAB | โทรศัพท์และแท็บเล็ต | MEDIUM_RECTANGLE |
468x60 | แบนเนอร์ขนาดเต็ม IAB | แท็บเล็ต | FULL_BANNER |
728x90 | ลีดเดอร์บอร์ด IAB | แท็บเล็ต | LEADERBOARD |
ความกว้างที่ระบุ x ความสูงที่ปรับได้ | แบนเนอร์แบบปรับขนาดได้ | โทรศัพท์และแท็บเล็ต | ไม่เกี่ยวข้อง |
ความกว้างของหน้าจอ x 32|50|90 | แบนเนอร์อัจฉริยะ | โทรศัพท์และแท็บเล็ต | SMART_BANNER |
ดูข้อมูลเพิ่มเติมเกี่ยวกับแบนเนอร์แบบปรับขนาดได้ซึ่งมีจุดประสงค์เพื่อแทนที่แบนเนอร์อัจฉริยะ |
แหล่งข้อมูลเพิ่มเติม
ตัวอย่าง
- ตัวอย่าง HelloWorld: ติดตั้งใช้งานรูปแบบโฆษณาทั้งหมดเพียงเล็กน้อย