โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล คือรูปแบบโฆษณาที่เสนอสิ่งจูงใจประเภทหนึ่งซึ่งช่วยให้คุณเสนอ รางวัลสำหรับโฆษณาที่แสดง โดยอัตโนมัติระหว่างการเปลี่ยนหน้าตามปกติของแอป ผู้ใช้ไม่จําเป็นต้องเลือกดูโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล ซึ่งต่างจากโฆษณาที่มีการให้รางวัล คู่มือนี้แสดงวิธี ผสานรวมโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลจาก AdMob ลงในแอป Flutter
ข้อกำหนดเบื้องต้น
- ปลั๊กอิน Flutter 1.1.0 ขึ้นไป
- ทําตามขั้นตอนเริ่มต้นใช้งานให้เสร็จสมบูรณ์ บัญชี แอป Flutter ควรมีปลั๊กอิน Flutter ของ Google Mobile Ads อยู่แล้ว นำเข้าแล้ว
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดตรวจสอบว่าคุณใช้โฆษณาทดสอบแทน โฆษณาเวอร์ชันที่ใช้งานจริง หากไม่ดำเนินการ บัญชีจะถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบสําหรับโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลโดยเฉพาะ ดังนี้
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
ระบบจะกำหนดค่าให้หน่วยโฆษณาทดสอบแสดงโฆษณาทดสอบสำหรับทุกคำขอ และ คุณสามารถใช้เครื่องมือดังกล่าวในแอปของคุณเองขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงแต่อย่าลืมแทนที่รหัสเหล่านั้นด้วยรหัสหน่วยโฆษณาของคุณเองก่อนที่จะเผยแพร่ แอปของคุณ
โหลดโฆษณา
ตัวอย่างต่อไปนี้โหลดโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> { RewardedInterstitialAd? _rewardeInterstitialdAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5354046379' : 'ca-app-pub-3940256099942544/6978759866'; /// Loads a rewarded ad. void loadAd() { RewardedInterstitialAd.load( adUnitId: adUnitId, adRequest: const AdRequest(), adLoadCallback: RewardedInterstitialAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _rewardedInterstitialAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('RewardedInterstitialAd failed to load: $error'); }, )); } }
เหตุการณ์โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
เมื่อใช้ FullScreenContentCallback
คุณจะรับฟังเหตุการณ์ต่างๆ ตลอดวงจรได้ เช่น เมื่อโฆษณาแสดงหรือปิด ตั้งค่า
RewardedInterstitialAd.fullScreenContentCallback
ก่อนแสดงโฆษณาต่อ
รับการแจ้งเตือนสำหรับกิจกรรมเหล่านี้ ตัวอย่างนี้ใช้แต่ละเมธอดและบันทึกข้อความไปยังคอนโซล
class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> { RewardedInterstitialAd? _rewardedInterstitialAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5354046379' : 'ca-app-pub-3940256099942544/6978759866'; /// Loads a rewarded ad. void loadAd() { RewardedInterstitialAd.load( adUnitId: adUnitId, adRequest: const AdRequest(), adLoadCallback: RewardedInterstitialAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { ad.fullScreenContentCallback = FullScreenContentCallback( // Called when the ad showed the full screen content. onAdShowedFullScreenContent: (ad) {}, // Called when an impression occurs on the ad. onAdImpression: (ad) {}, // Called when the ad failed to show full screen content. onAdFailedToShowFullScreenContent: (ad, err) { // Dispose the ad here to free resources. ad.dispose(); }, // Called when the ad dismissed full screen content. onAdDismissedFullScreenContent: (ad) { // Dispose the ad here to free resources. ad.dispose(); }, // Called when a click is recorded for an ad. onAdClicked: (ad) {}); debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _rewardedInterstitialAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugprint('RewardedInterstitialAd failed to load: $error'); }, )); } }
โฆษณาแบบดิสเพลย์
RewardedInterstitialAd
จะแสดงเป็นโฆษณาซ้อนทับที่ด้านบนของเนื้อหาแอปทั้งหมด
และอยู่ในตำแหน่งคงที่ จึงไม่สามารถเพิ่มลงในโครงสร้างวิดเจ็ต Flutter ได้
คุณสามารถเลือกเวลาที่จะแสดงโฆษณาได้โดยโทรไปที่ show()
RewardedInterstitialAd.show()
ใช้ OnUserEarnedRewardCallback
ซึ่งจะเรียกใช้เมื่อผู้ใช้ได้รับรางวัล อย่าลืมใช้ฟีเจอร์นี้และตอบแทนผู้ใช้ที่ดูโฆษณา
_rewardedInterstitialAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) { // Reward the user for watching an ad. });
เมื่อมีการเรียก show()
แล้ว ระบบจะนำ Ad
ที่แสดงด้วยวิธีนี้ออก
โดยใช้โปรแกรมเมอร์และผู้ใช้ต้องเป็นผู้ป้อน RewardedInterstitialAd
จะแสดงได้เพียงครั้งเดียว การเรียกใช้เพื่อแสดงครั้งต่อๆ ไปจะทริกเกอร์
onAdFailedToShowFullScreenContent
ต้องทิ้งโฆษณาเมื่อไม่จำเป็นต้องใช้การเข้าถึงแล้ว แนวทางปฏิบัติแนะนำสำหรับเวลาเรียกใช้ dispose()
อยู่ในการเรียกกลับ FullScreenContentCallback.onAdDismissedFullScreenContent
และ FullScreenContentCallback.onAdFailedToShowFullScreenContent
เท่านี้ก็เรียบร้อย ตอนนี้แอปของคุณพร้อมแสดงโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลแล้ว