โฆษณาที่มีการให้รางวัลจะมอบไอเทมที่ซื้อในแอปให้แก่ผู้ใช้สำหรับการโต้ตอบกับโฆษณาวิดีโอ โฆษณาที่เล่นได้ และแบบสำรวจ ดูรายละเอียดได้ที่ภาพรวมของหน่วยโฆษณาที่มีการให้รางวัล
คู่มือนี้แสดงวิธีผสานรวมโฆษณาที่มีการให้รางวัลลงในแอป React Native
ข้อกำหนดเบื้องต้น
โปรดทำสิ่งต่อไปนี้ก่อนดำเนินการต่อ
- ตั้งค่า Google Mobile Ads SDK for React Native
- เปิดใช้โฆษณาทดสอบและใช้หน่วยโฆษณาทดสอบต่อไปนี้
Android
ca-app-pub-3940256099942544/5224354917
iOS
ca-app-pub-3940256099942544/1712485313
โหลดโฆษณา
หากต้องการโหลดโฆษณาที่มีการให้รางวัล ให้เรียกใช้เมธอด load ในคลาส RewardedAd
ตัวอย่างต่อไปนี้จะโหลดโฆษณาที่มีการให้รางวัลเมื่อดำเนินการสำเร็จ และบันทึกข้อผิดพลาดเมื่อดำเนินการไม่สำเร็จ
export async function loadRewardedAd(
adUnitId: string,
): Promise<RewardedAd | null> {
try {
const ad = await RewardedAd.load({adUnitId});
return ad;
} catch (error) {
const loadError = error as LoadAdError;
console.error('Failed to load rewarded ad:', loadError.message);
return null;
}
}
รอเหตุการณ์โฆษณา
ก่อนแสดงโฆษณา ให้ตั้งค่า Listener adEventCallback ในอินสแตนซ์ RewardedAd ที่โหลดแล้ว Listener นี้จะรับ Callback สำหรับเหตุการณ์ในวงจรของโฆษณา เช่น โฆษณาที่แสดงบนหน้าจอหรือผู้ใช้แตะโฆษณา ดู Callback ที่ใช้ได้ที่ AdEventCallback
ตัวอย่างต่อไปนี้ตั้งค่า Callback เพื่อรอเหตุการณ์โฆษณา
export function registerAdEvents(ad: RewardedAd) {
ad.adEventCallback = {
// Called when the ad is presented on screen.
onAdShowedFullScreenContent: () => {
console.log('Rewarded ad showed full screen content.');
},
// Called when the ad is closed by the user.
onAdDismissedFullScreenContent: () => {
console.log('Rewarded ad dismissed full screen content.');
ad.destroy();
},
// Called when presentation fails.
onAdFailedToShowFullScreenContent: (error) => {
console.error('Failed to show rewarded ad:', error);
ad.destroy();
},
// Called when an impression is recorded.
onAdImpression: () => {
console.log('Rewarded ad recorded an impression.');
},
// Called when the user taps the ad.
onAdClicked: () => {
console.log('Rewarded ad was clicked.');
},
// Called when the ad is estimated to have earned money.
onAdPaid: (adValue) => {
console.log(
`Rewarded ad paid: ${adValue.amountMicros} ${adValue.currencyCode}`,
);
},
};
}
ตัวอย่างนี้ยังเรียกใช้เมธอด destroy เมื่อผู้ใช้ปิดโฆษณาหรือเมื่อโฆษณาไม่แสดงด้วย กระบวนการนี้จะปล่อยทรัพยากรที่โฆษณาใช้
แสดงโฆษณา
หากต้องการแสดงโฆษณาที่มีการให้รางวัล ให้เรียกใช้เมธอด show พร้อม Callback เพื่อจัดการรางวัลที่ผู้ใช้ได้รับ ดังนี้
export function showRewardedAd(
ad: RewardedAd,
onRewardEarned: (reward: Reward) => void,
) {
ad.show(onRewardEarned);
}
ไม่บังคับ: ตรวจสอบความถูกต้องของ Callback การยืนยันฝั่งเซิร์ฟเวอร์
หากแอปของคุณต้องใช้พารามิเตอร์การยืนยันที่กำหนดเอง เช่น รหัสผู้ใช้หรือข้อมูลเมตาของรางวัลที่กำหนดเองใน Callback ของการยืนยันฝั่งเซิร์ฟเวอร์ (SSV) ให้ตั้งค่าพร็อพเพอร์ตี้ serverSideVerificationOptions ในอินสแตนซ์โฆษณาที่โหลดก่อนแสดงโฆษณา
ระบบจะส่งค่าที่คุณตั้งไว้ไปยังพารามิเตอร์การค้นหา SSV Callback ดังนี้
userId: ส่งไปยังพารามิเตอร์การค้นหาuser_idเพื่อระบุผู้ใช้customData: ส่งไปยังพารามิเตอร์การค้นหาcustom_dataเพื่อส่งต่อข้อมูลเมตาที่กำหนดเอง
ตัวอย่างต่อไปนี้จะตั้งค่า ServerSideVerificationOptions (customData และ userId) ในออบเจ็กต์โฆษณาที่มีการให้รางวัลก่อนแสดงโฆษณา
ดูตัวอย่างแบบเต็ม
ส่วนนี้จะอธิบายตัวอย่างทั้งหมดในการผสานรวมโฆษณาที่มีการให้รางวัลลงในแอป React Native
ตัวอย่างต่อไปนี้จะผสานรวมโฆษณาลงในคอมโพเนนต์ React Native, จัดการอินสแตนซ์โฆษณาในสถานะ และให้การควบคุมเพื่อโหลดและแสดงโฆษณา
ขั้นตอนถัดไป
หลังจากผสานรวมโฆษณาที่มีการให้รางวัลแล้ว ให้สํารวจหัวข้อต่อไปนี้