โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลเป็นรูปแบบโฆษณาที่เสนอสิ่งจูงใจประเภทหนึ่งที่ช่วยให้คุณนำเสนอรางวัลสําหรับโฆษณาที่ปรากฏโดยอัตโนมัติระหว่างจุดเปลี่ยนหน้าตามปกติของแอป ผู้ใช้ไม่จําเป็นต้องเลือกดูโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล ซึ่งต่างจากโฆษณาที่มีการให้รางวัล คู่มือนี้แสดงวิธีผสานรวมโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลจาก AdMob เข้ากับแอป Flutter
ข้อกำหนดเบื้องต้น
โปรดทำสิ่งต่อไปนี้ก่อนดำเนินการต่อ
- ติดตั้งปลั๊กอิน Flutter 1.1.0 ขึ้นไป
- ตั้งค่า Google Mobile Ads Flutter Plugin แอป Flutter ต้องนำเข้า Google Mobile Ads Flutter Plugin แล้ว
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาจริงที่ใช้งานจริง หากไม่ดำเนินการดังกล่าว อาจส่งผลให้บัญชีถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล ดังนี้
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
หน่วยโฆษณาทดสอบได้รับการกำหนดค่าให้แสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถใช้หน่วยโฆษณาดังกล่าวในแอปของคุณเองได้อย่างอิสระขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าคุณได้แทนที่รหัสเหล่านั้นด้วยรหัสหน่วยโฆษณาของคุณเองก่อนที่จะเผยแพร่แอป
โหลดโฆษณา
ตัวอย่างต่อไปนี้จะโหลดโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
แทนที่ _adUnitId ด้วยรหัสหน่วยโฆษณาของคุณเอง
เหตุการณ์โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
คุณสามารถฟังเหตุการณ์ในวงจร เช่น เมื่อโฆษณาแสดงหรือปิดไป โดยใช้ FullScreenContentCallback ตั้งค่า RewardedInterstitialAd.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.');
},
);
โฆษณาแบบดิสเพลย์
RewardedInterstitialAd จะแสดงเป็นโฆษณาซ้อนทับที่ด้านบนของเนื้อหาแอปทั้งหมดและวางไว้อย่างถาวร จึงไม่สามารถเพิ่มลงในโครงสร้างวิดเจ็ต Flutter ได้
คุณเลือกเวลาที่จะแสดงโฆษณาได้โดยเรียกใช้ show()
RewardedInterstitialAd.show() จะใช้ OnUserEarnedRewardCallback ซึ่งจะเรียกใช้เมื่อผู้ใช้ได้รับรางวัล อย่าลืมใช้ฟีเจอร์นี้และให้รางวัลแก่ผู้ใช้ที่ดูโฆษณา
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
เมื่อเรียกใช้ show() แล้ว จะไม่สามารถนำ Ad ที่แสดงในลักษณะนี้ออกโดยใช้โปรแกรมได้ และต้องมีการป้อนข้อมูลจากผู้ใช้ RewardedInterstitialAd จะแสดงได้เพียงครั้งเดียว การเรียกใช้ show ในครั้งต่อๆ ไปจะทริกเกอร์ onAdFailedToShowFullScreenContent
ต้องทิ้งโฆษณาเมื่อไม่จำเป็นต้องเข้าถึงอีกต่อไป แนวทางปฏิบัติแนะนำสำหรับเวลาที่ควรเรียกใช้ dispose() คือใน Callback FullScreenContentCallback.onAdDismissedFullScreenContent และ FullScreenContentCallback.onAdFailedToShowFullScreenContent
[ไม่บังคับ] ตรวจสอบความถูกต้องของ Callback ของการยืนยันฝั่งเซิร์ฟเวอร์ (SSV)
แอปที่ต้องการข้อมูลเพิ่มเติมใน Callback ของการยืนยันฝั่งเซิร์ฟเวอร์ควรใช้ฟีเจอร์ข้อมูลที่กำหนดเองของโฆษณาที่มีการให้รางวัล ค่าสตริงที่ตั้งค่าไว้ในออบเจ็กต์โฆษณาที่มีการให้รางวัลจะส่งไปยังพารามิเตอร์การค้นหา custom_data ของ SSV Callback หากไม่ได้ตั้งค่าข้อมูลที่กำหนดเอง ค่าพารามิเตอร์การค้นหา custom_data จะไม่อยู่ใน SSV Callback
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าตัวเลือก SSV หลังจากโหลดโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลแล้ว
แทนที่ SAMPLE_CUSTOM_DATA_STRING ด้วยข้อมูลที่กำหนดเอง
ตัวอย่างที่เสร็จสมบูรณ์ใน GitHub
หากต้องการดูตัวอย่างทั้งหมด โปรดดูเดโม API