במאמר הזה מופיעות תשובות לשאלות נפוצות בנושא ערכות SDK ופרסום ב-Google Play Games במחשב.
מונטיזציה
האם אפשר להשתמש בתהליך הרכישה בלי שרת קצה עורפי?
מבחינת אבטחה, לא מומלץ לבצע עיבוד ללא שרת עורפי.
מידע נוסף זמין במאמר בנושא תהליך ללא שרת קצה עורפי.
האם מותר להשתמש במערכות תשלום קיימות שמבוססות על API אחרי שמשלבים את Google Play Games במחשב SDK?
כל התשלומים צריכים להתבצע באמצעות חיוב ב-Google Play דרך ה-SDK של Google Play Games במחשב. אי אפשר להשתמש באמצעי התשלום הקיים שמבוסס על API באותו משחק.
איך אפשר לצרוך רכישות במצב פיתוח?
צריך להשלים את הרכישה במצב פיתוח תוך 3 דקות, אחרת יתבצע החזר כספי על הרכישה.
האם יש תמיכה בתשלומים קבועים או במינויים?
לא בעתיד הקרוב, אבל נשמח לקבל ממך תרחישים ספציפיים לשימוש כדי שנוסיף אותם לתוכנית שלנו לעתיד.
What is the Billing Error in my purchase calls?
BillingError היא התגובה של תוצאת התשלום. הפונקציה LaunchPurchaseFlow תחזיר ערך באופן מיידי בלי לחסום, אבל צריך להאזין לקריאה החוזרת כדי לדעת מתי היא הסתיימה ולתעד את התוצאה.
איך משתמשים באימות רכישות מצד הלקוח
מומלץ להשתמש ברכישה בצד השרת ובתהליך האימות שלה. כדי לעבד רכישות מאפליקציית הלקוח, המשחק צריך להיות ברשימת ההיתרים. אם המשחק שלכם דורש גישה, אתם צריכים לפנות ל-Google Partner שלכם. מידע נוסף זמין במאמר בנושא תהליך ללא שרת קצה עורפי.
מהן מגבלות ה-API לשליחת שאילתות לגבי פרטי מוצרים?
המספר המקסימלי של מוצרים שאפשר לשלוח לגביהם שאילתה בקריאה אחת ל-API של
QueryProductDetailsהוא 50. אם חורגים מהמגבלה הזו, צריך לפצל את הבקשה לכמה קריאות.אילו פרמטרים נדרשים כשקוראים לפונקציות Query Purchases או Launch Purchase Flow ב-Billing Client?
הפונקציה מקבלת את
QueryPurchasesContinuation, שהיא פונקציית קריאה חוזרת עם החתימהstd::function<void(QueryPurchasesResult)>. הקריאה החוזרת מעבירה לכם את התוצאה עם כל ה-ProductPurchaseDetails. המידע הזה זמין בקובצי הכותרת של ה-SDK בקובץincludes/billing/models.h.הפונקציות
ok()ו-code()מופיעות ב-launch_purchase_flow_resultשמתקבל. הפונקציהok()מחזירה אם התהליך הושלם בהצלחה. הפונקציהcode()מחזירה את הערךBillingErrorenum (includes/billing/enums.h), שיש לו 10 מקרים אפשריים של שגיאות, כמו ביטול על ידי המשתמש או שגיאת רשת.האם יש תמיכה בהזמנה בהתאמה אישית בתהליך הרכישה של Launch Purchase Flow ב-BillingClient?
במבנה הנוכחי של ה-SDK, אין אפשרות להעביר מטען ייעודי משלך. עם זאת, אפשר לספק כל שילוב של
obfuscated_account_idושלobfuscated_profile_id. אתם יכולים לא לציין אף אחת מהאפשרויות, לציין רק אחת מהן או לציין את שתיהן.השדה
offer_tokenהוא שדה חובה, והוא מציין את מבצע הרכישה שהמשתמש מנסה לרכוש בתהליך התשלום. בשלב הזה, לכל מק"ט ב-Google Play יש בדיוק מבצע אחד (לדוגמה, קונים פריט אחד ב-10$). בעתיד, צוות החיוב של Play יספק תמיכה בכמה מבצעים.כדי לוודא שהמטא-נתונים ישויכו במקרה של שיבושים בתהליך הרכישה, צריך לאחסן את המטא-נתונים בשרת הבק-אנד לפני שמפעילים את תיבת הדו-שיח של הרכישה, ולשייך אותם למזהה החשבון של המשתמש, למק"ט שנרכש ולחותמת הזמן הנוכחית. מידע נוסף זמין במאמר בנושא שיוך רכישה לנתונים פנימיים.
האם שגיאת זמן קצוב לתפוגה צפויה אם משתמש סוגר את הדפדפן בלי לשלם במהלך תהליך רכישה?
כן, זו בעיה מוכרת והתנהגות צפויה בתהליך מבוסס-דפדפן. אנחנו עובדים על תכונה שתאפשר רכישה חלקה (מבוססת-WebView) שתשמור על תהליך התשלום בתוך המשחק ותפתור את הבעיה של זמן קצוב לתפוגה.
מהן הדרישות המוקדמות למעבר מחיוב ב-Google עם OAuth לחיוב ב-Google עם DLL?
משחקים יכולים להמשיך להשתמש בכניסה באמצעות OAuth עם Google כדי לנהל את החשבון שאליו נכנסתם, אבל Google ממליצה להפסיק להשתמש בממשקי ה-API הקודמים של REST לחיוב. המעבר מממשקי ה-API של REST לחיוב (עם כניסה באמצעות OAuth2) לתהליך של ה-SDK יכול להיות פעולה עם דגל תכונה, כך ששניהם יכולים להתקיים יחד למשך תקופה מסוימת בזמן שהמשחק עובר שינוי.
האם הקריאה ל-API של Launch Purchase Flow מעובדת דרך דפדפן אינטרנט?
כן, בשלב הזה העיבוד מתבצע דרך דפדפן. Google מתכננת להשלים את כל התהליך בלי לצאת מהמשחק, באמצעות ה-SDK.
האם משתמש צריך להיכנס בנפרד לכל משחק כדי לבצע רכישה?
החשבון שפתוח בחזית ב-Google Play Games משמש לכל סשן משחק, כך שלא צריך להיכנס שוב. החשבון שבו אתם משתמשים ב-Google Play Games כשמתחילים סשן משחק הוא החשבון שממנו מתבצעות קריאות ל-API. כשמפעילים תהליך רכישה בדפדפן, צריך להיות מחוברים לאותו חשבון שבו משתמשים בסשן המשחק. אם המשתמש מחובר לחשבון אחר, הוא יתבקש לעבור לחשבון הרצוי.
האם משחק יכול לתמוך גם בחבילת SDK מקורית וגם במערכות תשלומים מדור קודם בו-זמנית?
מערכת התשלומים פועלת לפי מודל של זרימה כפולה, בהתאם לגרסה הבינארית של המשחק. משתמשים בגרסאות קודמות ממשיכים בתהליך הקיים, ומשתמשים בגרסאות חדשות עוברים לתשלומים שמבוססים על SDK. משתמשים בשני תהליכי התשלום יכולים להתקיים יחד במהלך תקופת המעבר.
Windows App Bundle
כששולחים WAB באמצעות מפעיל של צד שלישי, האם חבילת המשחק נדרשת לבדיקה?
אתם יכולים לשלוח רק את קובץ ההתקנה, ולא את חבילת המשחק כולה. הבודק יוכל להוריד את חבילת המשחק באמצעות קובץ ההתקנה.
האם יש מגבלות על גודל קובץ ה-WAB?
אפשר להעלות קובץ WAB בגודל של עד 10GB.
למה המשחק שלי לא מותקן או לא מופיע אחרי שהעליתי את קובץ ה-WAB?
אם המשחק שלכם מצורף לתוכנית בלי שקיימת גרסה למחשב (WAB בפעם הראשונה), יכול להיות שהמערכת תעביר אותו אוטומטית למצב המתנה של פרסום מנוהל. זה קורה כי אין בסיס קיים לעדכון. כדי להשיק את ה-WAB באופן מלא ולאפשר התקנה של המשחק, צריך לעבור אל Google Play Console ולהפעיל באופן ידני את פעולת הפרסום הנדרשת (למשל, ללחוץ על 'פרסום שינויים').
איך מעלים את קובץ ה-WAB לבדיקות פנימיות?
משתפים את החשבונות שברשימת ההיתרים עם Google כדי ש-Google תוכל להפעיל אותם לבדיקות פנימיות. אחרי ש-Google מקבלת את הרשימה, היא מוודאת שהמשתמשים האלה נכללים בתהליך ההצטרפות.
לאן צריך להעלות את חבילת ה-WAB?
אפשר להעלות את חבילת ה-WAB במיקום שמוזכר בשאלה הראשונה. עם זאת, אי אפשר לפרסם אותו באופן ידני. צריך לספק לצוות ה-Backend של Google שעת UTC מדויקת (עד השעה). לאחר מכן, Google מגדירה את לוח הזמנים לפרסום ומוודאת שהספר יפורסם בזמן.
PC SDK
מה ההבדלים בין Legacy API לבין Google Play Games במחשב SDK?
- ה-API הקודם שלנו מציע רק פונקציונליות שקשורה לחיוב.
- ערכת ה-SDK למחשב תומכת ב-Google Desktop Service (GDS) ובתכונות מלאות למחשב.
- לא נדרשת כניסה לחשבון Google דרך הדפדפן באמצעות ערכת ה-SDK למחשב.
האם יש דרך חלופית לאתחל את ה-SDK על ידי הפעלת המשחק ישירות באמצעות מרכז המשחקים, בלי לעבור דרך Google Play Games במחשב?
המשחק שלכם צריך להיות מופעל דרך הלקוח של Google Play Games במחשב. פרטים נוספים מופיעים במסמך הזה למפתחים.
האם ה-SDK המקורי למחשב תומך בתווים מרובי-בייט בקובץ אישור ה-PEM?
כן, ערכת ה-SDK תומכת בתווים מרובי-בייט לצורך אישור.
איך ה-SDK מטפל בכניסה לחשבון Google עבור כמה מקרים או חשבונות?
כל הפעלה של משחק ב-Google Play Games נחשבת כ'סשן משחק', ולכל 'סשן משחק' יכול להיות חשבון משויך. יכול להיות שהם יהיו שונים. לכן, אם מפעילים את המשחק עם חשבון א', ואז עוברים לחשבון ב' ומפעילים אותו מחדש, שני המשחקים יכולים לפעול בו-זמנית.
האם שילוב של Play Install Referrer פועל עם ה-SDK למחשב?
ערכת ה-SDK למחשב (גרסה 25.5.409.0 ואילך) תומכת ב-Play Install Referrer API. מידע נוסף זמין במאמר בנושא Play Install Referrer API.
מרכז האפליקציות
אם שחקן משתמש בתוכנת הפעלה של צד שלישי במקום בלקוח Google Play, האם החשבון שלו ב-Play Games Services יסונכרן אוטומטית?
כדי שהפונקציות של ה-SDK יפעלו, צריך להפעיל את המשחק ישירות דרך לקוח Google Play Games. אם תהליך אחר, כמו תוכנת התקנה או אפליקציית הפעלה, מפעיל את המשחק, התהליך הזה חייב להיות מופעל מלקוח Google Play Games. המשחק חייב להעביר את כל הפרמטרים שהתקבלו מהלקוח לתהליך הלקוח.
איך מטפלים באתחול אם Google Play Games מפעיל משגר משחקים של צד שלישי?
לא צריך לשלב את ה-SDK ישירות במרכז האפליקציות. עם זאת, אתם חייבים להעביר את כל הארגומנטים של שורת הפקודה שהמשגר מקבל מלקוח Google Play Games ישירות לתהליך הצאצא שנוצר (קובץ ההפעלה של המשחק). אם האתחול נכשל (למשל, אם מוחזרת השגיאה
kActionRequiredShutdownClientProcess), צריך להפסיק את כל התהליכים, כולל את תהליך ההפעלה, כדי שמערכת Google Play Games תוכל לנסות לשחזר את המשחק ולהפעיל אותו מחדש באופן אוטומטי. פרטים נוספים מופיעים בשלב 5 במדריך ההגדרה.איך אפשר לטפל בעדכונים ובתחזוקה של המשחק ושל מרכז ההפעלה אחרי שהם עוברים לשלב הייצור?
עדכונים ותחזוקה בהמשך צריכים להתבצע דרך מרכז האפליקציות. לקוח Google Play Games לא תומך בפונקציות עדכון, ולכן המשגר צריך להיות מסוגל לעדכן גם את המשחק וגם את עצמו.
אתחול
כשאני מתחיל משחק באמצעות אפליקציית Google Play Games, האם פרטי החשבון שלי ב-Google מסתנכרנים?
אחרי שמפעילים את המשחק דרך לקוח Google Play Games, החשבון מסונכרן באופן אוטומטי ואין צורך להיכנס שוב דרך תהליך הכניסה לחשבון Google.
האם אפשר לעשות שימוש חוזר בפרמטרים של ההפעלה כמה פעמים?
הפעולה הזו אפשרית כל עוד לקוח Google Play Games פועל ופרטי הכניסה תקפים. עם זאת, בתרחישים כמו זה שמתואר במדריך, כל התהליכים שהופעלו על ידי המשחק חייבים להסתיים כשהמשתמש סוגר את המשחק או כשהמשחק יוצא בגלל כשל בהפעלת ה-SDK, כמו
kActionRequiredShutdownClientProcess.יש דרך ליצור קיצור דרך כדי לפתוח את המשחק ישירות?
אפשר להשתמש ב-URI הבא כדי לפתוח את המשחק ישירות:
googleplaygames://launch/?pid=2&id=com.company.gamenameה-URI תומך בזיהוי אם לקוח Google Play Games במחשב פתוח. אם הלקוח לא פתוח, הלקוח של Google Play Games ייפתח לפני שהמשחק או מרכז האפליקציות יפעלו. כדי למנוע הפעלה של כמה מופעים, צריך לנהל את המשחק או את מרכז האפליקציות.
יש דרך לאמת את ההתקנה של Google Play Games במחשב בלי להשתמש ב-SDK?
אפשר לבדוק את סטטוס ההתקנה של Google Play Games במחשב בלי לשלב את ה-SDK, על ידי בדיקה אם קיים מפתח הרישום הבא של Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Servicesהנוכחות של המפתח הזה מציינת ששירותי Google Play Games (שנדרשים להפעלת משחקים במחשב) מותקנים במחשב. אם המפתח חסר, צריך להפנות את המשתמש אל דף ההתקנה של Google Play Games במחשב כדי להוריד ולהתקין את הלקוח.
בדיקה
האם יש סביבות בדיקה פתוחות או סגורות שדומות לנייד?
אין ארגז חול ייעודי מקצה לקצה, אבל אנחנו מבינים את הצורך בסביבת בדיקה שדומה לסביבת ייצור עבור מפתחים. בקרוב נציע פתרון חזק יותר.
איך מוסיפים בודקים חדשים?
איש הקשר שלכם ב-Google יוצר קבוצת אימייל לכל פרויקט של PC, שצריך להוסיף אליה את חשבונות Google של הבודקים. רק חברים בקבוצת האימייל הזו מורשים להוריד את חבילות הבדיקה ב-Google Play Games.
שונות
האם אפשר להשתמש ב-VPN?
מפתחים שרוצים לבדוק את המשחק שלהם באזורים שבהם אין תמיכה ב-Google Play Games למחשב, מומלץ להשתמש ב-VPN כדי לקבל כתובת IP מאזור נתמך.
מוודאים שהפעלתם מצב TUN ב-VPN. הוראות להפעלת מצב TUN ולהגדרת חומת האש מופיעות במדריך למשתמש של ספק ה-VPN.
אחרי שמפעילים את מצב TUN, מתקינים את Google Play Games במחשב ואת האמולטור למטרות בדיקה.
איך אפשר להתחיל לפתח משחקים ל-Google Play Games במחשב ב-Unity או ב-UE Editor?
- מפעילים את מצב הפיתוח וממשיכים בבדיקה.
- מוסיפים את הקבצים
manifest.xmlו-.dll. מידע נוסף מופיע במסמכי התיעוד למפתחים. - לרשום מזהה GUID של שותף עם גישה מוקדמת למטרות בדיקה.
איך משתמשים במפתחות רישום בצורה נכונה?
צריך ליצור מפתחות רישום על סמך כוורת השורש. אפשר להגדיר את hive הבסיסי כ-
HKEY_LOCAL_MACHINEאו כ-HKEY_CURRENT_USERבהתאם למטרה ולסוג הנתונים. הכליHKEY_LOCAL_MACHINEhive משמש כדוגמה בהנחיות.מהן הדרישות לבדיקת חבילות למחשב על ידי Google?
חבילות למחשב עוברות סריקה לזיהוי תוכנות זדוניות, ולאחר מכן בודקים את התקנת המשחק, את ההפעלה ואת תהליכי ההסרה.
האם צריך לשלב את כל ממשקי ה-API?
לא נדרשים ממשקי API אחרים, אבל הם מציעים יתרונות נוספים.
google::play::billingנדרש לרכישות מתוך האפליקציה ולמכירת תוכן דיגיטלי. google::play::install_referrerנדרש למעקב אחרי נתוני הפניות כדי להבין אילו מקורות תנועה שולחים הכי הרבה משתמשים להורדת האפליקציה.google::play::games::integrityנדרש כדי להגן על האפליקציה מפני גורמים זדוניים על ידי זיהוי מכשירים שעלולים להיות מסוכנים ואמולטורים לא מוכרים.למה חלק מתהליכי המשחק מסתיימים כשסוגרים את לקוח Google Play Games, ואחרים לא?
Google לא שולטת בתהליכי המשנה או בתהליכים של המשחק שפועל. ההתנהגות תלויה בשאלה אם המשחק הוא משחק שמופעל באמצעות אמולטור של Android או משחק מקורי למחשב. משחקים שמופעלים באמצעות אמולטור מותקנים בסביבה משלהם, ולכן ההתנהגות שלהם תלויה במידה רבה בהפעלה ובהשבתה של האמולטור.
כדאי להשתמש ביכולת ההסרה של Google Play Games או בכלי הסרה מותאם אישית?
מומלץ להשתמש ביכולת ההסרה של Google Play Games.
עזרה נוספת
אם אתם זקוקים לעזרה נוספת שלא מופיעה בשאלות הנפוצות האלה, אתם יכולים לפנות לכתובת google-play-games-pc@google.com