มุมมองแบนเนอร์คือโฆษณาแบบรูปภาพหรือข้อความรูปสี่เหลี่ยมผืนผ้าที่ใช้พื้นที่บนหน้าจอ โดยจะแสดงบนหน้าจอในระหว่างที่ผู้ใช้โต้ตอบกับแอป และสามารถรีเฟรชโดยอัตโนมัติหลังจากผ่านไประยะเวลาหนึ่ง หากคุณเพิ่งเริ่มใช้การโฆษณาบนอุปกรณ์เคลื่อนที่ โฆษณาแบนเนอร์เป็นจุดเริ่มต้นที่ดี
คู่มือนี้จะแสดงวิธีผสานรวมมุมมองแบนเนอร์ลงในแอป Unity นอกจากข้อมูลโค้ดและวิธีการแล้ว ยังมีข้อมูลเกี่ยวกับการปรับขนาดแบนเนอร์อย่างเหมาะสมและลิงก์ไปยังแหล่งข้อมูลเพิ่มเติมด้วย
ข้อกำหนดเบื้องต้น
ตั้งค่า Google Mobile Ads Unity Plugin ก่อนดำเนินการต่อ
ทดสอบด้วยโฆษณาทดสอบเสมอ
โค้ดตัวอย่างต่อไปนี้มีรหัสหน่วยโฆษณาที่คุณใช้เพื่อขอ โฆษณาทดสอบได้ ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบแทน โฆษณาจริงสำหรับทุกคำขอ จึงใช้งานได้อย่างปลอดภัย
อย่างไรก็ตาม หลังจากลงทะเบียนแอปในอินเทอร์เฟซเว็บของ Ad Manager และสร้างรหัสหน่วยโฆษณา ของคุณเองเพื่อใช้ในแอปแล้ว ให้กำหนดค่าอุปกรณ์เป็นอุปกรณ์ทดสอบ อย่างชัดแจ้งในระหว่าง การพัฒนา
/21775744923/example/fixed-size-banner
เริ่มต้น Google Mobile Ads Unity Plugin
ก่อนโหลดโฆษณา ให้แอปเริ่มต้น Google Mobile Ads Unity Plugin โดยเรียกใช้
MobileAds.Initialize() คุณต้องทำขั้นตอนนี้เพียงครั้งเดียว ซึ่งควรทำเมื่อเปิดแอป
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize Google Mobile Ads Unity Plugin.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
หากใช้สื่อกลาง ให้รอจนกว่าจะมีการเรียกกลับก่อนโหลดโฆษณา เพื่อให้แน่ใจว่าอะแดปเตอร์สื่อกลางทั้งหมดได้รับการเริ่มต้นแล้ว
ตัวอย่าง BannerView
โค้ดตัวอย่างต่อไปนี้แสดงรายละเอียดวิธีใช้มุมมองแบนเนอร์ ในตัวอย่างนี้ ให้สร้างอินสแตนซ์ของมุมมองแบนเนอร์ ใช้ AdManagerAdRequest เพื่อโหลดโฆษณาลงในมุมมองแบนเนอร์ แล้วขยายขีดความสามารถโดยจัดการเหตุการณ์วงจรการทำงาน
สร้างมุมมองแบนเนอร์
ขั้นตอนแรกในการใช้มุมมองแบนเนอร์คือการสร้างอินสแตนซ์ของมุมมองแบนเนอร์
แทนที่ AD_UNIT_ID ด้วยรหัสหน่วยโฆษณา
คอนสตรักเตอร์สำหรับ AdManagerBannerView มีพารามิเตอร์ต่อไปนี้
adUnitId: รหัสหน่วยโฆษณาของโฆษณาแบนเนอร์ที่จะโหลดAdSize: ขนาดแบนเนอร์ที่ต้องการใช้AdPosition: ตำแหน่งที่จะวางมุมมองแบนเนอร์
(ไม่บังคับ) สร้างมุมมองแบนเนอร์ที่มีตำแหน่งที่กำหนดเอง
หากต้องการควบคุมตำแหน่งที่จะวางมุมมองแบนเนอร์บนหน้าจอได้มากกว่าที่ค่า AdPosition มีให้ ให้ใช้คอนสตรักเตอร์ที่มีพิกัด x และ y เป็นพารามิเตอร์
มุมซ้ายบนของมุมมองแบนเนอร์จะอยู่ที่ค่า x และ y ที่ส่งไปยังคอนสตรักเตอร์ โดยจุดเริ่มต้นคือมุมซ้ายบนของหน้าจอ
(ไม่บังคับ) สร้างมุมมองแบนเนอร์ที่มีขนาดที่กำหนดเอง
นอกจากการใช้ค่าคงที่ AdSize แล้ว คุณยังระบุขนาดที่กำหนดเองสำหรับโฆษณาได้ด้วย
(ไม่บังคับ) โฆษณาหลายขนาด
Ad Manager ช่วยให้คุณระบุขนาดโฆษณาหลายขนาดที่อาจมีสิทธิ์แสดงใน AdManagerBannerView ได้ ก่อนที่จะใช้ฟีเจอร์นี้ใน SDK ให้สร้างรายการโฆษณาที่กำหนดเป้าหมายเป็นหน่วยโฆษณาเดียวกันซึ่งเชื่อมโยงกับครีเอทีฟโฆษณาที่มีขนาดต่างๆ
ในแอป ให้ส่งพารามิเตอร์ AdSize หลายรายการไปยัง ValidAdSizes
หาก AdManagerAdView เปลี่ยนขนาดเมื่อรีเฟรช เลย์เอาต์ควรปรับให้เข้ากับขนาดใหม่ได้โดยอัตโนมัติ AdManagerAdView จะใช้ขนาดที่ส่งในพารามิเตอร์แรกโดยค่าเริ่มต้นจนกว่าโฆษณาถัดไปจะแสดง
โหลดโฆษณาแบนเนอร์
หลังจากวาง AdManagerBannerView แล้ว ให้โหลดโฆษณาด้วยเมธอด LoadAd() ในคลาส AdManagerBannerView โดยจะใช้พารามิเตอร์ ซึ่งเก็บข้อมูล
รันไทม์ เช่น ข้อมูลการกำหนดเป้าหมาย ป้ายกำกับการยกเว้น และรหัสที่ผู้เผยแพร่โฆษณา
ให้ไว้
หากต้องการโหลดโฆษณา ให้สร้าง AdManagerAdRequest แล้วส่งไปยังเมธอด LoadAd()
// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());
รอเหตุการณ์มุมมองแบนเนอร์
หากต้องการปรับแต่งลักษณะการทำงานของโฆษณา คุณสามารถเชื่อมต่อกับเหตุการณ์ต่างๆ ในวงจรการทำงานของโฆษณา เช่น การโหลด การเปิด หรือการปิด หากต้องการรอเหตุการณ์เหล่านี้ ให้ลงทะเบียนผู้รับมอบสิทธิ์
adManagerBannerView.OnBannerAdLoaded += () =>
{
// Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
// Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
// Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
ทำลายมุมมองแบนเนอร์
หากต้องการทำลายแบนเนอร์ ให้เรียกใช้เมธอด Destroy() เพื่อปล่อยทรัพยากร
if (adManagerBannerView != null)
{
// Always destroy the banner view when no longer needed.
adManagerBannerView.Destroy();
adManagerBannerView = null;
}
สำหรับแบนเนอร์ที่โหลดไม่สำเร็จ เราขอแนะนำให้รีเฟรชแบนเนอร์แทนการทำลายและสร้างแบนเนอร์ใหม่ ดูรายละเอียดได้ที่ รีเฟรชโฆษณา
รีเฟรชโฆษณา
หากกำหนดค่าหน่วยโฆษณาให้รีเฟรช คุณไม่จำเป็นต้องขอโฆษณาอื่นเมื่อโฆษณาโหลดไม่สำเร็จ Google Mobile Ads Unity Plugin จะใช้ตามอัตราการรีเฟรช ที่คุณระบุไว้ใน UI ของ Ad Manager หากไม่ได้เปิดใช้การรีเฟรช ให้ส่งคำขอใหม่ ดูรายละเอียดเพิ่มเติมเกี่ยวกับการรีเฟรชหน่วยโฆษณา เช่น การตั้งค่าอัตราการรีเฟรช ได้ที่ อัตราการรีเฟรชสำหรับโฆษณาในแอปบนอุปกรณ์เคลื่อนที่
ขนาดของแบนเนอร์
ตารางต่อไปนี้แสดงขนาดแบนเนอร์มาตรฐาน
| ขนาดเป็น dp (กว้างxสูง) | คำอธิบาย | ความพร้อมใช้งาน | ค่าคงที่ AdSize |
|---|---|---|---|
| 320x50 | แบนเนอร์มาตรฐาน | โทรศัพท์และแท็บเล็ต | BANNER |
| 320x100 | แบนเนอร์ขนาดใหญ่ | โทรศัพท์และแท็บเล็ต | LARGE_BANNER |
| 300x250 | สี่เหลี่ยมผืนผ้าขนาดกลาง IAB | โทรศัพท์และแท็บเล็ต | MEDIUM_RECTANGLE |
| 468x60 | แบนเนอร์ขนาดเต็ม IAB | แท็บเล็ต | FULL_BANNER |
| 728x90 | ลีดเดอร์บอร์ด IAB | แท็บเล็ต | LEADERBOARD |
| ความกว้างที่ระบุ x ความสูงแบบปรับขนาดได้ | แบนเนอร์แบบปรับขนาดได้ | โทรศัพท์และแท็บเล็ต | ไม่มี |
| ความกว้างของหน้าจอ x 32|50|90 | แบนเนอร์อัจฉริยะ | โทรศัพท์และแท็บเล็ต | SMART_BANNER |
| ดูข้อมูลเพิ่มเติมเกี่ยวกับ แบนเนอร์แบบปรับขนาดได้ ซึ่งออกแบบมาเพื่อแทนที่ แบนเนอร์อัจฉริยะ | |||
เหตุการณ์ของแอป
เหตุการณ์ของแอปช่วยให้คุณสร้างโฆษณาที่ส่งข้อความไปยังโค้ดของแอปได้ จากนั้นแอปจะดำเนินการตามข้อความเหล่านี้
คุณสามารถรอเหตุการณ์ของแอปที่เฉพาะเจาะจงของ Ad Manager ได้โดยใช้ AppEvent เหตุการณ์เหล่านี้อาจเกิดขึ้นได้ทุกเมื่อในวงจรการทำงานของโฆษณา แม้กระทั่งก่อนที่จะมีการเรียกใช้การโหลด
OnAppEventReceived จะเกิดขึ้นเมื่อมีเหตุการณ์ของแอปในโฆษณา ต่อไปนี้เป็นตัวอย่างวิธีจัดการเหตุการณ์นี้ในโค้ด
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};
ตัวอย่างต่อไปนี้แสดงวิธีเปลี่ยนสีพื้นหลังของแอปโดยขึ้นอยู่กับเหตุการณ์ของแอปที่มีชื่อสี
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
if (args.Name == "color")
{
Color color;
if (ColorUtility.TryParseHtmlString(args.Data, out color))
{
renderer.material.color = color;
}
}
};
และนี่คือครีเอทีฟโฆษณาที่เกี่ยวข้องซึ่งส่งเหตุการณ์ของแอปสี
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0;
left: 0;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
แหล่งข้อมูลเพิ่มเติม
- ตัวอย่าง HelloWorld: การใช้งานโฆษณาทุกรูปแบบแบบมินิมัล