שילוב מודעות Rewarded באפליקציות מובייל
אנו מיישמים Rewarded — פורמט המודעות היחיד שמשתמשים צופים בו מרצון. שיעורי ההמרה במקומות שבהם הוא משולב אורגנית במכניקת המשחק (חיים נוספים, מטבע בונוס, פתיחת רמה) מגיעים ל-40–70% מהקלקות על הכפתור. לא מפתיע ש-eCPM עבור Rewarded גבוה פי 3–10 מ-Interstitial, וה-LTV של האפליקציה עם אינטגרציה נכונה גדל ב-25% תוך קיצור הזמן לרכישה ראשונה ב-15%. הניסיון שלנו: 50+ פרויקטים ממונטיזציה, אישורי Google AdMob ו-App Store.
אבל לפורמט הזה יש ניואנס: נעילת הרגע שבו התגמול מוענק. אם מיושם לא נכון, משתמשים מקבלים תגמולים בלי לצפות במודעה או לא מקבלים כלום אחרי צפייה כנה. שני התרחישים פוגעים באמון, מפחיתים הכנסות ויכולים להוביל להסרת האפליקציה מהחנויות.
איפה בדיוק הלוגיקה של התגמול נשברת
טעות #1: הענקת תגמול ב-onAdDismissed.
// НЕПРАВИЛЬНО
rewardedAd?.fullScreenContentCallback = object : FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
giveReward() // пользователь мог закрыть на 3-й секунде
}
}// НЕПРАВИЛЬНО rewardedAd?.fullScreenContentCallback = object : FullScreenContentCallback() { override fun onAdDismissedFullScreenContent() { giveReward() // пользователь мог закрыть на 3-й секунде } } מופעל בכל סגירה — גם אחרי צפייה מלאה וגם בלחיצה על כפתור הסגירה מוקדם. התגמול צריך להיות רק ב-onAdDismissedFullScreenContent:
rewardedAd?.show(activity) { rewardItem ->
// Этот callback = пользователь досмотрел до конца
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
giveReward(rewardType, rewardAmount)
}טעות #2: אימות בצד הלקוח.
הענקת התגמול ישירות ב-onUserEarnedReward מתאימה למקרים פשוטים (הוספת חיים בזיכרון). אבל אם התגמול משפיע על מצב בצד השרת (מטבע וירטואלי, תוכן פרימיום) — יש צורך באימות בצד השרת (SSV).
איך עובד אימות בצד השרת (SSV)
SSV מבטיח שהתגמול יזוכה רק לאחר אישור מרשת המודעות. תהליך העבודה:
- האפליקציה מבקשת מודעת Rewarded עם
rewardedAd?.show(activity) { rewardItem -> // Этот callback = пользователь досмотрел до конца val rewardAmount = rewardItem.amount val rewardType = rewardItem.type giveReward(rewardType, rewardAmount) }— מחרוזת המכילה userId ו-nonce. - לאחר הצפייה, רשת המודעות (AdMob/IronSource) מבצעת בקשת GET לנקודת האימות שלך.
- פרמטרי הבקשה חתומים עם מפתח ECDSA של הרשת (המפתח הציבורי זמין ב-gstatic.com).
- השרת שלך מאמת את החתימה ומעניק את התגמול.
- הלקוח מקבל אישור דרך WebSocket או polling.
// Передаём userId в customData при загрузке
val serverSideVerificationOptions = ServerSideVerificationOptions.Builder()
.setCustomData("userId:${currentUser.id};nonce:${UUID.randomUUID()}")
.build()
val adRequest = AdRequest.Builder().build()
RewardedAd.load(context, AD_UNIT_ID, adRequest, object : RewardedAdLoadCallback() {
override fun onAdLoaded(ad: RewardedAd) {
ad.setServerSideVerificationOptions(serverSideVerificationOptions)
rewardedAd = ad
}
})SSV הוא קריטי לכל אפליקציה שבה מטבע מומר לערך אמיתי או משפיע על איזון PvP. לקוחות חוסכים בממוצע 30% מתקציב העידון על ידי יישום SSV מהיום הראשון.
השוואת פורמטי מודעות
| פורמט | הסכמה מרצון | ביטול הסכמה | eCPM | המרה |
|---|---|---|---|---|
| Rewarded | כן | לא | גבוה (פי 3–10 מ-Interstitial) | 40–70% |
| Interstitial | לא | כן | נמוך | ~10% |
| Rewarded Interstitial | לא | כן (אבל עם תגמול) | בינוני | 20–30% |
Rewarded Interstitial הוא היברידי: אינו דורש הסכמה מפורשת אבל מתגמל את הצפייה. ה-eCPM גבוה ב-50% מ-Interstitial רגיל.
אימות בצד השרת לעומת אימות בצד הלקוח
| תכונה | אימות בצד הלקוח | SSV |
|---|---|---|
| הגנה מפני מניפולציות | לא | כן (קריפטוגרפיה ECDSA) |
| עומס שרת נוסף | לא | כן (מילישניות) |
| סיכון להענקה ללא צפייה | גבוה | אפס |
| זמן אינטגרציה | יום אחד | +יומיים |
UX להצגת מודעות
כפתור "צפה במודעה" צריך להיות מוצג רק כשהמודעה נטענה — כלומר, כש-onUserEarnedReward. כפתור אפור ומושבת גרוע יותר מכפתור מוסתר. התחל טעינה מוקדמת: מיד אחרי ההצגה הקודמת או כשהמסך שבו הכפתור עשוי להופיע נפתח.
אם הטעינה נכשלת — הסתר את הכפתור, אל תציג שגיאה למשתמש. נסה שוב עם backoff אקספוננציאלי (1 → 2 → 4 → 8 שניות) בשקט ברקע.
למה הענקת תגמול נכונה חשובה
הענקת תגמול שגויה מובילה להפסדים כספיים ולביקורות שליליות. הלקוחות שלנו חוסכים בממוצע 30% מתקציב העידון על ידי יישום SSV מהיום הראשון. אנו מבטיחים לוגיקת תגמול נכונה ומתעדים כל שלב באינטגרציה.
תרחישי SSV אופייניים
- הענקת מטבע פרימיום הניתן להמרה לכסף אמיתי.
- פתיחת שלב סיום PvP אחרי צפייה.
- גישת מנוי (בונוסים מוגבלים בזמן).
מה כלול
- ניתוח דרישות התגמול וכלכלת האפליקציה
- בחירה והגדרה של רשת מודעות (AdMob, IronSource, Unity Ads)
- יישום הצגת מודעות Rewarded עם שיקולי UX
- אינטגרציה של אימות בצד השרת (SSV) אם נדרש
- תיעוד וקוד עם הערות
- בדיקת כל התרחישים (הצגה מוצלחת, שגיאה, חריגה ממגבלה)
- הדרכת צוות הלקוח על הכלים
לוח זמנים ועלות
יישום Rewarded בסיסי ללא SSV — 1–2 ימים. עם אימות בצד השרת ואינטגרציה עם כלכלת המשחק — 2–3 ימים. העלות מחושבת באופן אישי לאחר ניתוח הפרויקט. בקשו ייעוץ — המהנדסים שלנו יעריכו את הפרויקט שלכם ויציעו פתרון מפתח. קבלו אינטגרציה מאומתת שמגבירה הכנסות ושביעות רצון משתמשים.







