โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล คือรูปแบบโฆษณาที่เสนอสิ่งจูงใจประเภทหนึ่งซึ่งช่วยให้คุณเสนอ รางวัลสำหรับโฆษณาที่แสดง โดยอัตโนมัติระหว่างการเปลี่ยนหน้าตามปกติของแอป สิ่งที่แตกต่างจากโฆษณาที่มีการให้รางวัลคือ ที่จำเป็นต่อการเลือกใช้เพื่อดูโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล คู่มือนี้แสดงวิธี ผสานรวมโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลจาก 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
และ
Callback FullScreenContentCallback.onAdFailedToShowFullScreenContent
รายการ
เท่านี้ก็เรียบร้อย ตอนนี้แอปของคุณพร้อมแสดงโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลแล้ว