אחת הדרכים לקבל גישה למוצרים ולהטבות מתוך האפליקציה היא ליצור מוצרים מתגמלים או פריטים שהמשתמשים מקבלים אחרי שהם צופים בסרטון מודעה. מתן מוצרים מתגמלים מאפשר למשתמשים לבצע רכישות מתוך האפליקציה את הפרסים וההטבות בלי שיצטרכו לבצע רכישות ישירות.
במסמך הזה מוסבר איך להטמיע פונקציונליות שספציפית למודעות מתגמלות מוצרים. הקטע תרשים של תהליך עבודה בדף הזה ממחיש את התהליך.
זיהוי המוצרים המתגמלים של האפליקציה
למוצרים מתגמלים יש
SkuType
מתוך
INAPP
כדי להבטיח שהמשתמשים יוכלו לצפות בכמה מודעות ולקבל כמה פרסים,
.
כדי להציע מוצר מתגמל למשתמש, צריך לקבל את
SkuDetails
עבור
המוצר. לשם כך, התקשרו
querySkuDetailsAsync()
עם SkuType.INAPP
בתור סוג המוצר.
הצהרה על מודעות שמתאימות לילדים
לעזור לכם לציית לחובות משפטיות שקשורות לילדים, משתמשים קטינים, כולל Children's Online Privacy Protection Act (חוק הגנת הפרטיות של ילדים באינטרנט, COPPA) (COPPA) ו-General Data Protection Regulation (התקנות הכלליות להגנה על מידע, GDPR) (GDPR), האפליקציה שלך צריכה להצהיר באילו מודעות יש להציג תוכן לילדים בארה"ב ואילו מודעות מיועדות למשתמשים מתחת לגיל ההסכמה הרלוונטי המדינה שלהם. AdMob במרכז העזרה נסביר מתי צריך לתייג את הבקשות להצגת מודעות בתג תוכן לילדים טיפול בקמפיין ומתי כדאי להשתמש בהן לתייג אותם כמתחת לגיל ההסכמה לטיפול, וגם כתוצאה מכך.
כשיוצרים את לקוח החיוב באפליקציה, חשוב לבדוק אם המודעה המתגמלת
יש להתייחס לבקשות כתוכן לילדים או להתייחס אליהן
בקרב משתמשים מתחת לגיל ההסכמה. אם הבקשות להצגת מודעות צריכות לכלול את הפרטים האלה
קיימות הגבלות,
setChildDirected()
וגם
setUnderAgeOfConsent()
ולהעביר את הערכים המתאימים לכל שיטה.
קטע הקוד הבא מראה איך להצהיר שמודעות וידאו צריכות להיות מתאים לילדים או למשתמשים מתחת לגיל ההסכמה:
Kotlin
val billingClient = BillingClient.newBuilder(context) .setListener(this) .setChildDirected(ChildDirected.CHILD_DIRECTED) .setUnderAgeOfConsent(UnderAgeOfConsent.UNDER_AGE_OF_CONSENT) .build()
Java
BillingClient billingClient = BillingClient.newBuilder(context) .setListener(this) .setChildDirected(ChildDirected.CHILD_DIRECTED) .setUnderAgeOfConsent(UnderAgeOfConsent.UNDER_AGE_OF_CONSENT) .build();
טעינה של מודעות וידאו
לפני שמציגים למשתמש אפשרות לצפות במודעת וידאו כדי לקבל
המוצר המתגמל, עליכם לטעון את הסרטון. כדי לעשות את זה,
RewardLoadParams
, משייכים אותו לאובייקט SkuDetails
ש
שמייצג את המוצר המתגמל. לאחר מכן צריך להפעיל את
loadRewardedSku()
ה-method batch, להעביר את האובייקט RewardLoadParams
RewardResponseListener
לאובייקט.
המאזינים של RewardResponseListener
מקבלים התראה כשהסרטון מסתיים
בטעינה. המאזינים מקבלים התראה גם אם הסרטון לא זמין או אם סרטון אחר
שגיאה, כגון זמן קצוב לתפוגה של שרת.
כדי לשמור על ביצועי המכשיר בזמן טעינת הסרטונים המשויכים במוצרים המתגמלים של האפליקציה, חשוב לזכור את השיטות המומלצות הבאות:
- יש לטעון עד שלושה מק"טים של מוצרים מתגמלים בכל פעם.
- אפשר לנסות לטעון את הסרטונים בכל פעם שמשתמש נכנס לאפליקציה. השלב הזה עוזר לבדוק אם הסרטונים עדיין נטענים וזמינים.
כאשר מחליטים מתי לטעון את הסרטונים, צריך לבחור את האיזון בין רוחב הפס אופן השימוש ומהירות התגובה של האפליקציה שמתאימים לתרחיש שלכם לדוגמה:
- לכל המוקדם, יש לטעון את הסרטונים אחרי ביצוע השיחה אל
getSkuDetails()
של המוצר המתגמל המשויך. האפליקציה תמשיך להיות רספונסיבית מאוד, אבל יכול להיות לבזבוז נתוני רשת בטעינה של סרטון שהמשתמש אף פעם לא צופה בו. - לכל המאוחר, טוענים את הסרטון כשהמשתמש מנווט אל הדף שבו הסרטון יוצג. במקרה הזה האפליקציה שלך מבזבזת רוחב פס רק לעיתים רחוקות, אבל ייתכן שהמשתמש יצטרך להמתין כמה רגעים לפני הלחצן כדי לצפות הסרטון הופך לניתן ללחיצה.
- לכל המוקדם, יש לטעון את הסרטונים אחרי ביצוע השיחה אל
קטע הקוד הבא מדגים את תהליך הטעינה של מודעת וידאו מופעלות לפני שהמשתמש מקבל את המוצר המתגמל:
Kotlin
if (skuDetails.isRewarded()) { val params = RewardLoadParams.Builder() .setSkuDetails(skuDetails) .build() mBillingClient.loadRewardedSku(params.build(), object : RewardResponseListener { override fun onRewardResponse(@BillingResponse responseCode : Int) { if (responseCode == BillingResponse.OK) { // Enable the reward product, or make // any necessary updates to the UI. } } }) }
Java
if (skuDetails.isRewarded()) { RewardLoadParams.Builder params = RewardLoadParams.newBuilder(); params.setSkuDetails(skuDetails); mBillingClient.loadRewardedSku(params.build(), new RewardResponseListener() { @Override public void onRewardResponse(int responseCode) { if (responseCode == BillingResponse.OK) { // Enable the reward product, or make // any necessary updates to the UI. } } }); }
מתן רכישות מתגמלות למשתמשים
אם ספריית החיובים ב-Google Play טוענת בהצלחה את הסרטון המשויך אל
מוצר מתגמל – כלומר אם ה-RewardResponseListener
מקבל
responseCode
מתוך
BillingResponse.OK
– את/ה
יכול להפעיל את תהליך החיוב.
מתחילים להציג מודעות לקידום מוצר מתגמל אחרי שמתקשרים
launchBillingFlow()
כמו בכל שאר סוגי האפליקציות
מוצרים. למרות
משתמש לא מבצע רכישה ישירה כדי לקבל מוצר מתגמל, עדיין
צריך להפעיל את תהליך החיוב כדי שהמשתמש יוכל לקבל ולהשתמש
המוצר.
להמשיך בתהליך הרכישה
כדי להודיע ללקוח החיוב שלך שמשתמש קיבל תגמול וצרך אותו
המוצר, מטפל
רכישה ב
חשבון של לקוח לחיוב
onPurchasesUpdated()
. לתשומת ליבכם: חובה ליהנות מרכישות מתגמלות.
איך בודקים את המוצרים המתגמלים
כדי לבדוק איך האפליקציה שלכם טוענת מודעות וידאו ומספקת למשתמשים מוצרים מתגמלים: להשתמש בבודקים מורשים, שמקבלים כברירת מחדל מודעות בדיקה במקום מודעות אמיתיות האלה. מידע על הגדרת חשבונות לבודקים האלה זמין במאמר בדיקת משתמש על ידי Google אפליקציית החיוב ב-Play.
שיטה נוספת לבדיקה היא שימוש במוצר android.test.reward
ID. למוצר הספציפי הזה יש שם שמור בחיוב ב-Google Play,
אין צורך להוסיף אותו לרשימת המוצרים מתוך האפליקציה ב-Play Console.
אזהרה: כשבודקים את המוצרים המתגמלים של האפליקציה, לא מומלץ להשתמש מוצרים בפועל; אחרת, ייתכן שהחשבון שלכם יסומן כספאם חשבון שמקורו בתרמית.
בסיום הבדיקה, הקפידו להחליף
android.test.reward
במזהי המוצרים של הפריט המתגמל בפועל
של המוצרים לפני פריסה של האפליקציה לסביבת הייצור למשתמשי הקצה.
תרשים תהליך עבודה של מוצר מתגמל
בתרשים הרצף הבא מוצג האופן שבו המשתמש, האפליקציה שלכם ספריית החיובים ב-Google Play פועלת יחד כדי להציג מודעת וידאו, ומעניקה גישת המשתמשים למוצר מתגמל: