במאמר הזה מופיעות תשובות לשאלות נפוצות בנושא ערכות SDK ופרסום ב-Google Play Games במחשב.
מונטיזציה
האם אפשר להשתמש בתהליך הרכישה בלי שרת קצה עורפי?
מבחינת אבטחה, Google ממליצה להשתמש בשרת קצה עורפי.
מידע נוסף זמין במאמר בנושא תהליך ללא שרת קצה עורפי.
האם מותר להשתמש במערכות תשלום קיימות שמבוססות על API אחרי שמשלבים את Google Play Games SDK למחשב?
כל התשלומים צריכים להתבצע באמצעות חיוב ב-Google Play דרך ה-SDK של Google Play Games במחשב. אי אפשר להשתמש באמצעי התשלום הקיים שמבוסס על API באותו משחק.
איך אפשר להשתמש ברכישות במצב פיתוח?
צריך להשלים את הרכישה במצב פיתוח תוך 3 דקות, אחרת יתבצע החזר כספי על הרכישה.
האם יש תמיכה בתשלומים קבועים או במינויים?
לא בעתיד הקרוב, אבל אתם מוזמנים לספק לנו תרחישים ספציפיים לשימוש כדי שנוסיף אותם לתוכנית הפיתוח העתידית שלנו.
מהי שגיאת החיוב בשיחות הרכישה שלי?
BillingError היא התגובה של תוצאת התשלום. השיטה LaunchPurchaseFlow תחזיר ערך באופן מיידי בלי לחסום, אבל צריך להאזין לקריאה החוזרת כדי לדעת מתי היא הסתיימה ולתעד את התוצאה.
איך משתמשים באימות רכישות מצד הלקוח
מומלץ להשתמש ברכישה בצד השרת ובתהליך האימות שלה. כדי לעבד רכישות מאפליקציית הלקוח, המשחק שלכם צריך להיות ברשימת ההיתרים. אם המשחק שלכם דורש גישה, אתם צריכים לפנות אל Google Partner. מידע נוסף זמין במאמר בנושא תהליך ללא שרת קצה עורפי.
מהן מגבלות ה-API לשליחת שאילתות לגבי פרטי מוצרים?
המספר המקסימלי של מוצרים שאפשר לשלוח לגביהם שאילתה בקריאה אחת ל-API
QueryProductDetailsהוא 50. אם חורגים מהמגבלה הזו, צריך לפצל את הבקשה לכמה קריאות.אילו פרמטרים נדרשים כשמפעילים את הפונקציות Query Purchases או Launch Purchase Flow ב-Billing Client?
הפונקציה מקבלת את
QueryPurchasesContinuation, שהיא קריאה חוזרת של פונקציה עם החתימהstd::function<void(QueryPurchasesResult)>. פונקציית ה-callback מעבירה לכם את התוצאה עם כל ה-ProductPurchaseDetails. המידע הזה זמין בקובצי הכותרת של ה-SDK בקובץincludes/billing/models.h.התוצאה
launch_purchase_flow_resultכוללת את הפונקציותok()ו-code(). הפונקציהok()מחזירה את הערך true אם התהליך הצליח. הפונקציהcode()מחזירה את הערךBillingErrorenum (includes/billing/enums.h), שיש לו 10 מקרים אפשריים של שגיאות, כמו ביטול על ידי המשתמש או שגיאת רשת.האם יש תמיכה בהזמנה בהתאמה אישית בתהליך הרכישה של 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 יכולים להתקיים יחד למשך תקופה מסוימת בזמן שהמשחק עובר לממשקי ה-API החדשים.
האם קריאה ל-API של Launch Purchase Flow מעובדת דרך דפדפן אינטרנט?
כן, נכון לעכשיו העיבוד מתבצע דרך דפדפן. Google מתכננת להשלים את כל התהליך בלי לצאת מהמשחק, באמצעות ה-SDK.
האם משתמש צריך להיכנס בנפרד לכל משחק כדי לבצע רכישה?
החשבון שפתוח בחזית ב-Google Play Games משמש לכל סשן משחק, כך שלא צריך להיכנס שוב. החשבון שבו אתם משתמשים ב-Google Play Games כשמתחילים סשן משחק הוא החשבון שממנו מתבצעות קריאות ל-API. כשמפעילים תהליך רכישה בדפדפן, צריך להיות מחוברים לחשבון שבו משתמשים בסשן המשחק. אם המשתמש מחובר לחשבון אחר, בתהליך האימות בדפדפן הוא יתבקש לעבור לחשבון הרצוי.
האם משחק יכול לתמוך גם ב-SDK המקורי וגם במערכות תשלומים מדור קודם בו-זמנית?
מערכת התשלומים פועלת לפי מודל של שני תהליכים, בהתאם לגרסה הבינארית של המשחק. משתמשים בגרסאות קודמות ממשיכים להשתמש בתהליך הקיים, ומשתמשים בגרסאות חדשות עוברים לתשלומים שמבוססים על SDK. משתמשים בשני תהליכי התשלום יכולים להשתמש במשחקים במקביל במהלך תקופת המעבר.
Windows App Bundle
כששולחים WAB באמצעות מפעיל של צד שלישי, האם חבילת המשחק נדרשת לבדיקה?
אתם יכולים לשלוח רק את קובץ ההתקנה, ולא את חבילת המשחק כולה. הבודק יוכל להוריד את חבילת המשחק באמצעות קובץ ההתקנה.
האם יש מגבלות על גודל קובץ ה-WAB?
אפשר להעלות קובץ WAB בגודל של עד 10GB.
למה המשחק שלי לא מותקן או לא מופיע אחרי שהעליתי את קובץ ה-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 למחשב (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.
מרכז האפליקציות
אם שחקן משתמש ב-launcher של צד שלישי במקום בלקוח 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 לא תומך בפונקציות עדכון, ולכן המשגר צריך להיות מסוגל לעדכן גם את המשחק וגם את עצמו.
איך תוכנת ההתקנה מקבלת את אסימון הסשן של GPG להפעלה אוטומטית?
GPG מעביר את טוקן הסשן באמצעות ארגומנט שורת הפקודה
--g_session_token=<token>למתקין. כדי להפעיל את ההגדרה הזו, צריך להגדיר אתacceptsCommandLineArguments="true"ב-play_publishing_config.xml.תוכנת ההתקנה אחראית לחילוץ הטוקן הזה ולשימוש בו כדי להפעיל את המשחק. אם יצירת הטוקן נכשלת, GPG מפעיל את תוכנת ההתקנה בלי הטוקן (חזרה למצב קודם).
אתחול
כשאני מתחיל משחק באמצעות אפליקציית 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 של שותף עם גישה מוקדמת למטרות בדיקה.
איך משתמשים במפתחות רישום בצורה נכונה?
צריך ליצור מפתחות רישום על סמך כוורת הבסיס. אפשר להגדיר את ה-root 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