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