כאן מוסבר איך לזהות ולספק מוצרים מתוך המשחק אחרי שהשחקנים רוכשים אותם באמצעות נקודות Play באפליקציית Google Play.
אחרי שהמשתמשים מממשים את נקודות Play שלהם תמורת מוצר מתוך האפליקציה באפליקציית Google Play, הפריטים אמורים להישלח מיד במשחק. התמונה הבאה ממחישה איך משתמש רוכש פריטים באמצעות נקודות Play.
1. לוחצים על נקודות Play. | 1. לוחצים על הכרטיסייה שימוש כדי להציג את הפריטים. | 2. בוחרים פריט ולוחצים על שימוש בנקודות כדי להשלים את הרכישה. | 3. מקבלים את הפריט. |
![]() |
![]() |
![]() |
![]() |
בדוגמה הזו, המשחק לא פועל בזמן הרכישה של המוצר. המשתמשים יכולים להמיר את נקודות Play למוצרים גם כשהמשחק לא מותקן במכשיר שלהם. לכן, עליכם לתכנן את המשחק כך שיוכל לטפל בהעברת פריטים מתוך האפליקציה מחוץ לחנות במשחק.
לפני שמתחילים
לפני שתוכלו לזהות ולספק מוצר מתוך האפליקציה, עליכם ליצור את המוצר ואת המבצעים לצבירת נקודות Play.
דרישות להעברת נתונים
כשאתם מציעים מוצרים מתוך האפליקציה במשחק באמצעות קידום מכירות של נקודות Play, עליכם לעמוד בדרישות שמפורטות בקטע הזה.
תזמון המסירה
כששחקן מחליף נקודות Play במוצר מתוך האפליקציה, עליכם לספק את הפריט באופן מיידי בלי לחייב את השחקן להפעיל מחדש את המשחק. במקרים שבהם צריך להשלים תוכן במשחק לפני כן, כמו השלמת הדרכה, צריך לספק את הפריט מיד לאחר מכן.
הודעת מסירה
כשמשתמש חוזר למשחק אחרי שהוא קנה מוצר מתוך האפליקציה מחוץ למשחק, אתם צריכים להציג לו אישור על כך שהמוצר הוענק לו במשחק. ההודעה צריכה להופיע כתיבת דו-שיח קופצת או כהודעה בתוך המשחק. המשתמשים לא צריכים לבצע פעולות נוספות כדי לקבל את הפריט.
זהו הפורמט הנדרש להודעות:
הודעה ברורה על כך שהפריט התקבל.
חשוב לציין את שם הפריט בצורה ברורה ולהזכיר את 'נקודות Play' כדי לוודא שהמשתמשים יוכלו להבדיל אותו מתוכן אחר שהם מקבלים.
השם של הפריט צריך לכלול גם את הסכום הנכון של הפריט, אם יש פריטים דומים עם כמה סכומים.
תיבת הדו-שיח הקופצת, ההודעה או ההתראה במשחק צריכות להיות גלויות למשתמש עד שהוא לוחץ על אישור, למשל המשך או אישור. לא צריך להיות לחצן ביטול, כי ההודעה הזו מיועדת רק להודיע למשתמשים על הפריט שקיבלו במשחק. אם אין לחצן אישור, ההודעה צריכה להיות גלויה למשתמשים למשך 3 שניות לפחות לפני שהיא נעלמת, כדי לוודא שהמשתמשים יודעים שהם קיבלו את הפריט.
דוגמה להודעה:
"הפריט התקבל! קיבלת עכשיו 100 יהלומים באמצעות נקודות Play. Continue".
המשתמשים אמורים לראות אנימציה או אישור חזותי כלשהו שמציג את העלייה במטבע במשחק. אם הפריט הוא פריט עמיד או פריט חד-פעמי באפליקציה, המשתמשים צריכים להופיע למיקום שבו הפריט נפתח או זמין במשחק.
זיהוי פריטים שהתקבלו מחוץ למשחק
אם במשחק שלכם נעשה שימוש בספריית החיובים ב-Google Play, עליכם לבצע את השינויים הבאים כדי לזהות מוצרים מתוך האפליקציה שמתקבלים מחוץ למשחק.
ב-callback
onResume()
של המשחק, צריך להפעיל את השיטהqueryPurchases()
כדי לאחזר רשימה של פריטים, וכך לקבוע אילו מהם לא אושרו.אם למשחק יש שרת, מומלץ מאוד לאמת את הרכישה מהשרת באמצעות Subscriptions and In-App Purchases API.
אם יש פריטים בבעלותכם שלא אישרתם, תוכלו לאשר את הרכישה באמצעות
consumeAsync()
לפריטים חד-פעמיים או באמצעותacknowledgePurchase()
לפריטים לא חד-פעמיים.להעניק את הזכאות לפריט שנרכש בתוך המשחק.
זיהוי פריטים שהתקבלו במצב מסך מפוצל
אם המשחק תומך במצב חלונות מרובים, המשתמשים יכולים לממש את נקודות Play ולקבל את הפריט בזמן שהם מפעילים את אפליקציית חנות Play ואת המשחק בו-זמנית. צילום המסך הזה מציג דוגמה:
כדי לתמוך בתרחיש הזה באמצעות ספריית החיובים ב-Google Play:
Google Play קוראת לשיטה
onPurchasesUpdated()
כדי להודיע למשחק שיש פריט חדש בהמתנה.אם למשחק יש שרת, מומלץ מאוד לאמת את הרכישה מהשרת באמצעות Subscriptions and In-App Purchases API.
מאשרים את הרכישה באמצעות
consumeAsync()
לפריטים חד-פעמיים או באמצעותacknowledgePurchase()
לפריטים לשימוש חוזר.להעניק את הזכאות לפריט שנרכש בתוך המשחק.
הצגת אישור מסירה
כשמשתמשים מממשים נקודות Play ומקבלים פריט שהוחלף, הם מצפים להופעת הודעה במשחק או לקבלת התראה כלשהי כדי להודיע להם שהפריט התקבל במשחק וטופל בצורה תקינה. ריכזנו כאן כמה אפשרויות לאישור מסירה:
הצגת חלון קופץ במשחק.
שולחים את ההודעה לתיבת הודעות בתוך המשחק, ומציינים בבירור שיש הודעה חדשה בתיבת ההודעות בתוך המשחק.
שימוש בהודעת התראה של מערכת ההפעלה.
המשחק יכול להיות בכל מצב כשמקבלים את פריט המבצע, כולל מצב שבו הוא לא מותקן במכשיר. עליכם לזהות פריטים לקידום מכירות ללא קשר למצב שבו המשחק נמצא בזמן קבלת הפריט. עם זאת, יש כמה יוצאים מן הכלל שבהם יכול להיות שאפשר לא להודיע למשתמש באופן מיידי שהפריט התקבל. לדוגמה:
במהלך הפעולה במשחק, שבה הצגת הודעה עשויה להסיח את דעת המשתמש. במקרה כזה, עליכם להודיע למשתמש אחרי שהפעולה תסתיים.
במהלך סצנות מעבר, שבהן הצגת הודעה עלולה להסיח את דעת המשתמש. במקרה כזה, עליכם להודיע למשתמש אחרי סיום הסצנה.
במהלך המדריך הראשוני ובחלקים של הגדרת המשתמש במשחק. מומלץ להודיע למשתמשים חדשים על התגמול מיד אחרי שהם פותחים את המשחק או במהלך ההגדרה הראשונית של המשתמש. עם זאת, מותר להמתין עד שהסצנה הראשית של המשחק תהיה זמינה כדי להודיע למשתמש.
אם באפליקציה יש כמה דמויות או חשבונות שאפשר להחיל עליהם את הפריט, מומלץ לבקש מהמשתמש לבחור את החשבון שבו יקבל את הפריטים לקידום מכירות.
כדאי להביא בחשבון את המשתמשים כשמחליטים מתי ואיך להודיע להם על פריטים לקידום מכירות. אם המשתמש לא יקבל התראה באופן מיידי, הוא עלול להתבלבל, להפסיק לשחק במשחק, לפנות לתמיכה של המשתמשים או להתלונן על כך ברשתות החברתיות.
עדכונים למנועי משחק ספציפיים
ריכזנו כאן כמה שיקולים לגבי מנועי משחק ספציפיים:
אם המשחק שלכם נוצר באמצעות Unity, מומלץ לוודא שההטמעה שלכם של רכישות מתוך האפליקציה כבר תומכת בקידומי מכירות של Play Points.
אם המשחק שלכם נוצר באמצעות Cocos2d-x או Unreal Engine (C/C++), סביר להניח שתצטרכו לכתוב את קוד ה-JNI שמפעיל ממשקי Java API מקוד ה-C/C++.
שיטות מומלצות בצד השרת
בקטע הזה מפורטות שיטות מומלצות לצד השרת לשימוש במבצעים של צבירת Play Points:
אם אתם קוראים לפונקציה
Purchases.products: get
בשרת, עליכם לוודא אם אתם צריכים לטפל בפריטי המרה של פרסים ב-Play ובמוצרים אחרים מתוך האפליקציה בנפרד, על סמך ערכיproductId
.אם אתם משתמשים ב-
Inappproducts: list
בשרת, עליכם לבדוק אם אתם צריכים להפריד בין פריטים להחלפה בתמורה לפרסים ב-Play לבין מוצרים אחרים מתוך האפליקציה לפי ערכיproductId
.כדי לבדוק אם צריך לבצע שינויים נוספים, כדאי לעיין בשיטות המומלצות הבאות:
- מקור:
- הטמעת אימות חתימות בצד השרת.
- חשוב לוודא שהערכים של
purchaseToken
ו-orderId
הם ייחודיים ולא שימשו בעבר.
פתרון בעיות
בקטע הזה מפורטות המלצות לתרחישים שעשויים להוביל לפניות של לקוחות.
כמה חשבונות משתמשים
אם למשתמש יש כמה חשבונות Google במכשיר והוא מממש את נקודות Play בחשבון הלא נכון, Google לא יכולה להעביר את הפריטים לחשבונות האחרים. כמו כן, האפליקציה לא יכולה להעביר את הפריט על ידי קריאה ל-method getPurchases()
. בתרחיש כזה, מומלץ לספק את הפריטים באפליקציה למשתמש באופן ידני באמצעות צוות התמיכה שלכם.
פריטים שהמשלוח שלהם עיכב או חסרים
אם שחקנים נתקלים בפריטי פרסים שמתקבלים באיחור או חסרים, אפשר לעיין במדריך לפתרון בעיות ברכישות מתוך האפליקציה במסמכי העזרה של Google Play.