الإعلانات التي تضم مكافأة هي إعلانات يتوفّر للمستخدمين خيار التفاعل معها في مقابل للحصول على مكافآت داخل التطبيق يعرض هذا الدليل طريقة دمج الإعلانات التي تضم مكافأة من AdMob في تطبيق Flutter
إجراء الاختبار دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، احرص على استخدام إعلانات اختبارية بدلاً من الإعلانات المنشورة. وقد يؤدي عدم الالتزام بذلك إلى تعليق حسابك.
أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام الرقم التعريفي المخصص للوحدة الإعلانية الاختبارية الإعلانات التي تضم مكافأة:
Android
ca-app-pub-3940256099942544/5224354917
iOS
ca-app-pub-3940256099942544/1712485313
يتم إعداد الوحدات الإعلانية الاختبارية لعرض إعلانات اختبارية لكل طلب، و يمكنك استخدامها في تطبيقاتك أثناء الترميز والاختبار وتصحيح الأخطاء. ما عليك سوى استبدالها بأرقام تعريف وحداتك الإعلانية قبل نشر تطبيقك.
تحميل إعلان
في ما يلي مثال يحمّل إعلانًا يضم مكافأة:
class RewardedExampleState extends State<RewardedExample> { RewardedAd? _rewardedAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5224354917' : 'ca-app-pub-3940256099942544/1712485313'; /// Loads a rewarded ad. void loadAd() { RewardedAd.load( adUnitId: adUnitId, request: const AdRequest(), adLoadCallback: RewardedAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _rewardedAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('RewardedAd failed to load: $error'); }, )); } }
أحداث الإعلانات التي تضم مكافأة
من خلال استخدام "FullScreenContentCallback
"، يمكنك رصد جميع مراحل النشاط.
الأحداث، مثل وقت عرض الإعلان أو رفضه. ضبط
RewardedAd.fullScreenContentCallback
قبل عرض الإعلان الذي تريد استلامه
الإشعارات لهذه الأحداث. ينفذ هذا المثال كل طريقة ويسجل
إلى وحدة التحكم:
class RewardedExampleState extends State<RewardedExample> { RewardedAd? _rewardedAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5224354917' : 'ca-app-pub-3940256099942544/1712485313'; /// Loads a rewarded ad. void loadAd() { RewardedAd.load( adUnitId: adUnitId, request: const AdRequest(), adLoadCallback: RewardedAdLoadCallback( // 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. _rewardedAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('RewardedAd failed to load: $error'); }, )); } }
إعلان صوري
يتم عرض RewardedAd
كعنصر مركّب على سطح كل محتوى التطبيق ويتم وضعه
بشكل ثابت، وبالتالي لا يمكن إضافته إلى شجرة أدوات Flutter. يمكنك
اختيار وقت عرض الإعلان من خلال الاتصال بالرقم show()
.
يحصل RewardedAd.show()
على OnUserEarnedRewardCallback
، والذي يتم استدعاؤه عند
وسيحصل المستخدم على مكافأة. تأكد من تنفيذ ذلك ومكافأة المستخدم على
مشاهدة إعلان.
_rewardedAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) { // Reward the user for watching an ad. });
بعد استدعاء show()
، لا يمكن إزالة Ad
المعروض بهذه الطريقة.
آليًا ويتطلب إدخال المستخدم. لا يمكن عرض RewardedAd
سوى
مرّة واحدة. وسيؤدي إظهار المكالمات اللاحقة إلى تشغيل onAdFailedToShowFullScreenContent
.
يجب التخلص من الإعلان عندما لا يعود الوصول إليه ضروريًا. أفضل ممارسة
لمعرفة موعد الاتصال بـ dispose()
في
FullScreenContentCallback.onAdDismissedFullScreenContent
و
FullScreenContentCallback.onAdFailedToShowFullScreenContent
طلبات معاودة الاتصال
هذا كل شيء! أصبح تطبيقك جاهزًا الآن لعرض الإعلانات التي تضم مكافآت.