במאמר הזה מוסבר איך לזהות מוצרים מתוך האפליקציה ולספק אותם במשחק אחרי שהשחקנים רוכשים אותם באמצעות נקודות Play באפליקציית Google Play.
אחרי שהמשתמשים מממשים את נקודות Play שלהם למוצר מתוך האפליקציה באפליקציית Google Play, הפריטים צריכים להישלח מיד למשחק. האיור הבא מציג איך משתמש רוכש פריטים באמצעות נקודות Play.
1. לוחצים על Play Points. | 1. לוחצים על הכרטיסייה שימוש כדי לראות את הפריטים. | 2. בוחרים פריט ולוחצים על שימוש בנקודות כדי להשלים את הרכישה. | 3. מקבלים את הפריט. |
![]() |
![]() |
![]() |
![]() |
בדוגמה, המשחק לא פועל בזמן רכישת המוצר. משתמשים יכולים גם להמיר נקודות Play למוצרים כשהמשחק לא מותקן במכשיר שלהם. לכן, אתם צריכים לתכנן את המשחק כך שיטפל במשלוח של פריטים מתוך האפליקציה ממקורות שמחוץ לחנות שבמשחק.
לפני שמתחילים
לפני שאתם מזהים מוצר מתוך האפליקציה ומציעים אותו, אתם צריכים ליצור את המוצר ואת המבצעים לצבירת נקודות Play.
דרישות בנוגע להעברה
כשאתם מספקים מוצרים מתוך האפליקציה במשחק באמצעות מבצע של נקודות Play, אתם צריכים לפעול בהתאם לדרישות שבקטע הזה.
זמן האספקה
כששחקן ממיר נקודות Play למוצר מתוך האפליקציה, אתם צריכים לספק את הפריט באופן מיידי בלי לדרוש מהשחקן להפעיל מחדש את המשחק. במקרים שבהם צריך להשלים תוכן במשחק לפני כן, כמו השלמת הדרכה, הפריט צריך להימסר מיד לאחר מכן.
הודעה שתוצג אחרי שליחת הטופס
אחרי שמשתמש חוזר למשחק שלכם אחרי שרכש מוצר מתוך האפליקציה מחוץ למשחק, אתם חייבים להציג אישור שהמוצר הוענק בהצלחה בתוך המשחק. ההודעה צריכה להופיע כתיבת דו-שיח קופצת או כהודעה בתוך המשחק. המשתמשים לא צריכים לבצע פעולות נוספות כדי לקבל את הפריט.
זהו פורמט ההודעה הנדרש:
הודעה ברורה שהפריט התקבל.
צריך לציין בבירור את שם הפריט ולהשתמש במונח 'מועדון Play' כדי שהמשתמשים יוכלו להבחין בין הפריט הזה לבין תוכן אחר שהם מקבלים.
אם יש פריטים דומים עם ערכים שונים, שם הפריט צריך לכלול גם את הערך הנכון של הפריט.
תיבת הדו-שיח הקופצת, ההודעה או ההתראה בתוך המשחק צריכות להיות גלויות למשתמש עד שהוא לוחץ על אישור, למשל על המשך או על אישור. לא אמור להיות לחצן ביטול, כי המטרה של ההודעה היא רק ליידע את המשתמשים לגבי הפריט שהם קיבלו במשחק. אם אין לחצן אישור, ההודעה צריכה להיות גלויה למשתמשים למשך 3 שניות לפחות לפני שהיא נעלמת, כדי לוודא שהמשתמשים יודעים שהם קיבלו את הפריט.
דוגמה להודעה:
"הפריט התקבל! קיבלת עכשיו 100 אבני חן עם נקודות Play. Continue".
המשתמשים אמורים לראות אנימציה או אישור ויזואלי כלשהו שבו מוצגת העלייה ביתרה של המטבע במשחק. אם הפריט הוא פריט מתכלה או פריט עמיד מתוך האפליקציה, צריך להפנות את המשתמשים למקום שבו הפריט נפתח או זמין במשחק.
זיהוי פריטים שהתקבלו מחוץ למשחק
אם במשחק שלכם נעשה שימוש בספריית החיובים ב-Google Play, צריך לבצע את השינויים הבאים כדי לזהות מוצרים מתוך האפליקציה שמתקבלים מחוץ למשחק.
ב
onResume()
callback של המשחק, קוראים לשיטה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 לא יכולה להעביר את הפריטים לחשבונות האחרים. באופן דומה, האפליקציה לא יכולה להעביר את הפריט באמצעות קריאה לשיטה getPurchases()
. במקרה כזה, כדאי לספק למשתמש את הפריטים באפליקציה באופן ידני באמצעות פעולות התמיכה בלקוחות.
פריטים חסרים או שהמשלוח שלהם מתעכב
אם שחקנים נתקלים בעיכובים בקבלת פריטי תגמול או בפריטים חסרים, אפשר לעיין במדריך לפתרון בעיות ברכישות מתוך האפליקציה במסמכי העזרה של Google Play.