โฆษณาที่มีการให้รางวัลคือโฆษณาที่ผู้ใช้เลือกโต้ตอบด้วยได้เพื่อแลก กับรางวัลในแอป คู่มือนี้จะแสดงวิธีผสานรวมโฆษณาที่มีการให้รางวัลจาก Ad Manager ลงในแอป Flutter
ทดสอบด้วยโฆษณาสำหรับการทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาสำหรับการทดสอบแทนโฆษณาจริง หากไม่ปฏิบัติตามข้อกำหนดนี้ อาจส่งผลให้บัญชีของคุณถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาสำหรับการทดสอบคือการใช้รหัสหน่วยโฆษณาสำหรับการทดสอบที่เฉพาะเจาะจงสำหรับโฆษณาที่มีการให้รางวัล ดังนี้
/21775744923/example/rewarded
หน่วยโฆษณาสำหรับการทดสอบได้รับการกำหนดค่าให้แสดงโฆษณาสำหรับการทดสอบสำหรับทุกคำขอ และคุณสามารถใช้หน่วยโฆษณาเหล่านี้ในแอปของคุณเองได้อย่างอิสระขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่หน่วยโฆษณาสำหรับการทดสอบด้วยรหัสหน่วยโฆษณาของคุณเองก่อนที่จะเผยแพร่แอป
โหลดโฆษณา
ตัวอย่างต่อไปนี้จะโหลดโฆษณาที่มีการให้รางวัล
แทนที่ _adUnitId ด้วยรหัสหน่วยโฆษณาของคุณเอง
เหตุการณ์โฆษณาที่มีการให้รางวัล
คุณสามารถรับฟังเหตุการณ์วงจรการทำงาน เช่น เมื่อโฆษณาแสดงหรือถูกปิด โดยใช้ FullScreenContentCallback ตั้งค่า RewardedAd.fullScreenContentCallback ก่อนแสดงโฆษณาเพื่อรับการแจ้งเตือนสำหรับเหตุการณ์เหล่านี้ ตัวอย่างนี้จะใช้แต่ละเมธอดและบันทึกข้อความลงในคอนโซล
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdShowedFullScreenContent: (ad) {
// Called when the ad showed the full screen content.
debugPrint('Ad showed full screen content.');
},
onAdFailedToShowFullScreenContent: (ad, err) {
// Called when the ad failed to show full screen content.
debugPrint('Ad failed to show full screen content with error: $err');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdDismissedFullScreenContent: (ad) {
// Called when the ad dismissed full screen content.
debugPrint('Ad was dismissed.');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdImpression: (ad) {
// Called when an impression occurs on the ad.
debugPrint('Ad recorded an impression.');
},
onAdClicked: (ad) {
// Called when a click is recorded for an ad.
debugPrint('Ad was clicked.');
},
);
โฆษณา Display
RewardedAd จะแสดงเป็นภาพซ้อนทับเหนือเนื้อหาทั้งหมดของแอปและวางไว้แบบคงที่ จึงไม่สามารถเพิ่มลงในแผนผังวิดเจ็ต Flutter ได้ คุณสามารถเลือกเวลาที่จะแสดงโฆษณาได้โดยเรียกใช้ show()
RewardedAd.show() จะใช้ OnUserEarnedRewardCallback ซึ่งจะเรียกใช้เมื่อผู้ใช้ได้รับรางวัล อย่าลืมใช้ฟังก์ชันนี้และให้รางวัลแก่ผู้ใช้ที่ดูโฆษณา
_rewardedAd?.show(
onUserEarnedReward:
(AdWithoutView ad, RewardItem rewardItem) {
debugPrint(
'Reward amount: ${rewardItem.amount}',
);
},
);
เมื่อเรียกใช้ show() แล้ว ระบบจะไม่สามารถนำ Ad ที่แสดงด้วยวิธีนี้ออกโดยใช้โปรแกรม และต้องให้ผู้ใช้ป้อนข้อมูล RewardedAd จะแสดงได้เพียงครั้งเดียว การเรียกใช้ฟังก์ชัน show ในครั้งต่อๆ ไปจะทริกเกอร์ onAdFailedToShowFullScreenContent
คุณต้องเรียกใช้ฟังก์ชัน `dispose()` เมื่อไม่จำเป็นต้องเข้าถึงโฆษณาอีกต่อไป แนวทางปฏิบัติแนะนำในการเรียกใช้ฟังก์ชัน dispose() คือการเรียกใช้ในฟังก์ชันเรียกกลับ FullScreenContentCallback.onAdDismissedFullScreenContent และ FullScreenContentCallback.onAdFailedToShowFullScreenContent
[ไม่บังคับ] ตรวจสอบความถูกต้องของ SSV Callback
แอปที่ต้องใช้ข้อมูลเพิ่มเติมในการการยืนยันฝั่งเซิร์ฟเวอร์ Callback ควรใช้ฟีเจอร์ข้อมูลที่กำหนดเองของโฆษณาที่มีการให้รางวัล ค่าสตริงที่ตั้งค่าไว้ในออบเจ็กต์โฆษณาที่มีการให้รางวัลจะส่งไปยังพารามิเตอร์การค้นหา custom_data ของ SSV Callback หากไม่ได้ตั้งค่าข้อมูลที่กำหนดเอง ค่าพารามิเตอร์การค้นหา custom_data จะไม่อยู่ใน SSV Callback
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าตัวเลือก SSV หลังจากโหลดโฆษณาที่มีการให้รางวัลแล้ว
แทนที่ SAMPLE_CUSTOM_DATA_STRING ด้วยข้อมูลที่กำหนดเอง