מודעות מתגמלות הן מודעות שהמשתמשים יכולים לבצע בהן פעולות בתמורה לתגמולים מתוך האפליקציה. במדריך הזה מוסבר איך לשלב מודעות מתגמלות מ-Ad Manager באפליקציית Flutter.
תמיד כדאי לבצע בדיקות באמצעות מודעות בדיקה
כשמפתחים ובודקים אפליקציות, חשוב להשתמש במודעות בדיקה ולא במודעות פעילות שמוצגות למשתמשים. אם לא תעשו את זה, אנחנו עשויים להשעות את החשבון שלכם.
הדרך הכי קלה לטעון מודעות בדיקה היא להשתמש במזהה יחידת המודעות הייעודי שלנו למודעות מתגמלות:
/21775744923/example/rewarded
יחידות המודעות לבדיקה מוגדרות כך שהן מחזירות מודעות בדיקה לכל בקשה, ואתם יכולים להשתמש בהן באפליקציות שלכם בזמן כתיבת קוד, בדיקה וניפוי באגים. רק חשוב להקפיד להחליף אותם במזהים של יחידות המודעות שלכם לפני פרסום האפליקציה.
טעינת מודעה
בדוגמה הבאה מוצגת טעינה של מודעה מתגמלת:
מחליפים את _adUnitId במזהה של יחידת המודעות.
אירועים של מודעות מתגמלות
באמצעות FullScreenContentCallback, אפשר להאזין לאירועים במחזור החיים, כמו מתי המודעה מוצגת או נסגרת. מגדירים את הערך RewardedAd.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.');
},
);
מודעה ברשת המדיה
מודעת RewardedAd מוצגת כשכבת-על מעל כל תוכן האפליקציה, והיא ממוקמת באופן סטטי. לכן, אי אפשר להוסיף אותה לעץ הווידג'טים של Flutter. אפשר לבחור מתי להציג את המודעה באמצעות קריאה ל-show().
RewardedAd.show() מקבל פונקציית קריאה חוזרת OnUserEarnedRewardCallback, שמופעלת כשמשתמש מקבל תגמול. חשוב להטמיע את התכונה הזו ולתגמל את המשתמשים על צפייה במודעה.
_rewardedAd?.show(
onUserEarnedReward:
(AdWithoutView ad, RewardItem rewardItem) {
debugPrint(
'Reward amount: ${rewardItem.amount}',
);
},
);
אחרי שמפעילים את show(), אי אפשר להסיר את Ad שמוצג באופן הזה באמצעות תוכנה, ונדרש קלט מהמשתמש. אפשר להציג RewardedAd רק פעם אחת. שיחות חוזרות להצגה יפעילו את onAdFailedToShowFullScreenContent.
צריך להשמיד מודעה כשאין יותר צורך בגישה אליה. השיטה המומלצת
לשימוש בפונקציה dispose() היא באמצעות
FullScreenContentCallback.onAdDismissedFullScreenContent וFullScreenContentCallback.onAdFailedToShowFullScreenContent callbacks.
[אופציונלי] אימות קריאות חוזרות של אימות בצד השרת (SSV)
באפליקציות שנדרשים בהן נתונים נוספים בקריאות חוזרות (callback) של אימות בצד השרת (SSV), צריך להשתמש בתכונה "נתונים מותאמים אישית" של מודעות מתגמלות. כל ערך מחרוזת שמוגדר באובייקט של מודעה מתגמלת מועבר לפרמטר השאילתה custom_data של הקריאה החוזרת ל-SSV. אם לא מוגדר ערך של נתונים מותאמים אישית, הערך של פרמטר השאילתה custom_data לא ייכלל בקריאה החוזרת ל-SSV.
בדוגמת הקוד הבאה אפשר לראות איך מגדירים אפשרויות של SSV אחרי שמודעת הווידאו המתגמלת נטענת:
מחליפים את SAMPLE_CUSTOM_DATA_STRING בנתונים המותאמים אישית.