โฆษณาที่มีการให้รางวัลคือโฆษณาที่ผู้ใช้มีตัวเลือกในการโต้ตอบเพื่อแลกกับรางวัลในแอป คู่มือนี้แสดงวิธีผสานรวมโฆษณาที่มีการให้รางวัลจาก AdMob เข้ากับแอป Unity
อ่านเรื่องราวความสำเร็จของลูกค้าบางส่วนได้ที่ กรณีศึกษา 1 กรณีศึกษา 2คู่มือนี้อธิบายวิธีผสานรวมโฆษณาที่มีการให้รางวัลเข้ากับแอป Unity
ข้อกำหนดเบื้องต้น
- ทำตามคู่มือเริ่มต้นใช้งาน
ทดสอบด้วยโฆษณาทดสอบเสมอ
โค้ดตัวอย่างต่อไปนี้มีรหัสหน่วยโฆษณาที่คุณใช้เพื่อขอ โฆษณาทดสอบได้ ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบแทน โฆษณาจริงสำหรับทุกคำขอ จึงใช้งานได้อย่างปลอดภัย
อย่างไรก็ตาม หลังจากลงทะเบียนแอปใน อินเทอร์เฟซเว็บของ AdMob และสร้างรหัสหน่วยโฆษณา ของคุณเองเพื่อใช้ในแอปแล้ว ให้กำหนดค่าอุปกรณ์เป็นอุปกรณ์ทดสอบอย่างชัดเจนในระหว่างการพัฒนา
Android
ca-app-pub-3940256099942544/5224354917
iOS
ca-app-pub-3940256099942544/1712485313
เริ่มต้น Mobile Ads SDK
ก่อนที่จะโหลดโฆษณา ให้แอปเริ่มใช้งาน Mobile Ads 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.
});
}
}
หากใช้สื่อกลาง ให้รอจนกว่าจะเกิด Callback ก่อนโหลดโฆษณา เนื่องจากวิธีนี้จะช่วยให้มั่นใจได้ว่าระบบได้เริ่มต้นใช้งานอะแดปเตอร์สื่อกลางทั้งหมดแล้ว
โหลดโฆษณาที่มีการให้รางวัล
การโหลดโฆษณาที่มีการให้รางวัลจะทำได้โดยใช้เมธอดแบบคงที่ Load()
ในคลาส RewardedAd
ระบบจะระบุออบเจ็กต์ RewardedAd
ที่โหลดเป็นพารามิเตอร์ใน Completion Handler ตัวอย่างต่อไปนี้จะโหลดโฆษณาที่มีการให้รางวัล
แทนที่ AD_UNIT_ID ด้วยรหัสหน่วยโฆษณา
[ไม่บังคับ] ตรวจสอบความถูกต้องของ Callback การยืนยันฝั่งเซิร์ฟเวอร์ (SSV)
แอปที่ต้องการข้อมูลเพิ่มเติมใน Callback ของการยืนยันฝั่งเซิร์ฟเวอร์
ควรใช้ฟีเจอร์ข้อมูลที่กำหนดเองของโฆษณาที่มีการให้รางวัล
ระบบจะส่งค่าสตริงที่ตั้งค่าไว้ในออบเจ็กต์โฆษณาที่มีการให้รางวัลไปยังcustom_data
พารามิเตอร์การค้นหาของคอลแบ็ก SSV หากไม่ได้ตั้งค่าข้อมูลที่กําหนดเอง
custom_data
ค่าพารามิเตอร์การค้นหาจะไม่ปรากฏในการเรียกกลับ SSV
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าตัวเลือก SSV หลังจากโหลดโฆษณาที่มีการให้รางวัลแล้ว
แทนที่ SAMPLE_CUSTOM_DATA_STRING ด้วยข้อมูลที่กำหนดเอง
หากต้องการตั้งค่าสตริงรางวัลที่กำหนดเอง คุณต้องตั้งค่าก่อนแสดงโฆษณา
แสดงโฆษณาที่มีการให้รางวัลพร้อมการเรียกกลับของรางวัล
เมื่อแสดงโฆษณา คุณต้องระบุ Callback เพื่อจัดการรางวัลสำหรับผู้ใช้ โฆษณาจะแสดงได้ครั้งเดียวต่อการโหลด ใช้เมธอด CanShowAd()
เพื่อ
ยืนยันว่าโฆษณาพร้อมแสดง
โค้ดต่อไปนี้แสดงวิธีที่ดีที่สุดในการแสดงโฆษณาที่มีการให้รางวัล
if (rewardedAd != null && rewardedAd.CanShowAd())
{
rewardedAd.Show((Reward reward) =>
{
// The ad was showen and the user earned a reward.
});
}
รอเหตุการณ์โฆษณาที่มีการให้รางวัล
หากต้องการปรับแต่งลักษณะการทำงานของโฆษณาเพิ่มเติม คุณสามารถเชื่อมต่อกับเหตุการณ์ต่างๆ ในวงจรของโฆษณาได้ โค้ดต่อไปนี้จะรอเหตุการณ์โฆษณา
rewardedAd.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
rewardedAd.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
rewardedAd.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
rewardedAd.OnAdFullScreenContentOpened += () =>
{
// Raised when the ad opened full screen content.
};
rewardedAd.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
rewardedAd.OnAdFullScreenContentFailed += (AdError error) =>
{
// Raised when the ad failed to open full screen content.
};
ล้างข้อมูลโฆษณาที่มีการให้รางวัล
เมื่อใช้งาน RewardedAd
เสร็จแล้ว ให้เรียกใช้เมธอด Destroy()
ก่อนที่จะทิ้งการอ้างอิง
if (rewardedAd != null)
{
rewardedAd.Destroy();
}
ซึ่งจะแจ้งให้ปลั๊กอินทราบว่าไม่ได้ใช้ออบเจ็กต์นั้นอีกต่อไปและสามารถเรียกคืนหน่วยความจำที่ออบเจ็กต์นั้น ใช้ได้ การไม่เรียกใช้เมธอดนี้จะทำให้เกิดหน่วยความจำรั่ว
โหลดโฆษณาที่มีการให้รางวัลถัดไปล่วงหน้า
RewardedAd
เป็นออบเจ็กต์ที่ใช้ได้ครั้งเดียว ซึ่งหมายความว่าเมื่อแสดงโฆษณาที่มีการให้รางวัลแล้ว
จะใช้ออบเจ็กต์นั้นอีกไม่ได้ หากต้องการขอโฆษณาที่มีการให้รางวัลอีกรายการ
คุณจะต้องสร้างออบเจ็กต์ RewardedAd
ใหม่
หากต้องการเตรียมโฆษณาที่มีการให้รางวัลสำหรับโอกาสในการแสดงผลครั้งถัดไป ให้โหลดโฆษณาที่มีการให้รางวัลล่วงหน้าเมื่อมีการเรียกใช้เหตุการณ์โฆษณา OnAdFullScreenContentClosed
หรือ
OnAdFullScreenContentFailed
แหล่งข้อมูลเพิ่มเติม
- ตัวอย่าง HelloWorld การติดตั้งใช้งานโฆษณาทุกรูปแบบขั้นต่ำ