الإعلان البيني بمكافأة هو نوع من أشكال الإعلانات المحفَّزة التي تتيح لك تقديم المكافآت مقابل الإعلانات التي يتم عرضها تلقائيًا أثناء عمليات الانتقال الطبيعية للتطبيق. وعلى عكس الإعلانات التي تضم مكافأة، مطلوب الموافقة على عرض الإعلانات البينية التي تضم مكافأة. يوضح هذا الدليل كيفية دمج الإعلانات البينية التي تضم مكافأة من AdMob في تطبيق Flutter
المتطلبات الأساسية
- الإصدار 1.1.0 أو إصدار أحدث من Flutter
- أكمِل عملية البدء. يجب أن يتضمّن تطبيق Flutter المكوّن الإضافي لتطبيق Flutter لإعلانات Google على الأجهزة الجوّالة التي تم استيرادها.
الاختبار دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، احرص على استخدام إعلانات تجريبية بدلاً من إعلانات بث مباشر وقد يؤدي عدم الالتزام بذلك إلى تعليق حسابك.
أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام الرقم التعريفي المخصص للوحدة الإعلانية الاختبارية الإعلانات البينية التي تضم مكافأة:
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
طلبات معاودة الاتصال
هذا كل شيء! تطبيقك جاهز الآن لعرض الإعلانات البينية التي تضم مكافأة.