כדי להשתמש ב-Google Play Games במחשב, עליכם לבצע שינויים במשחק כדי להתאים אותו למחשב ולבצע אופטימיזציה שלו. השינויים האלה מבטיחים שהמשחק יוכל לפעול במחשב וחוויית המשתמש תהיה מותאמת לפלטפורמה.
בנוסף, ל-Google Play Games במחשב יש דרישות לגבי גרפיקה, קלט מהמכשיר ושימוש במכשירים שונים. מידע נוסף זמין במדריך למתחילים.
כשמבצעים את השינויים בתאימות למחשב ובאופטימיזציה (מלבד תמיכה ב-x86-64), אפשר להגדיר את המשחק כך שיוכל לזהות את Google Play Games במחשב, ואז להשבית או להפעיל תכונות ספציפיות לפלטפורמה. כך תוכלו להשתמש באותו קובץ APK או באותה חבילת אפליקציות לגרסאות לנייד ולמחשב של Android.
לפניכם סיכום של הדרישות וההמלצות שבדף הזה:
- הכללת ABI של x86-64 (חובה)
- זיהוי Google Play Games בזמן הריצה (מומלץ)
- טיפול באירוע onPause (מומלץ)
- עדכון רכיבי ממשק המשתמש (חובה)
- השבתת תיבת הדו-שיח של הרשאות האפליקציה ב-Android (חובה)
- השבתת הרשאות ותכונות של Android שלא נתמכות (חובה)
- החלפת רכיבי WebView בכוונות דפדפן (מומלץ)
- השבתה של ממשקי API של Google Play Services שלא נתמכים (חובה)
- הפעלת אחסון מוגדר-היקף (חובה)
- העברה אל Google Analytics 4 (מומלץ)
הוספת ארכיטקטורת ABI מסוג x86-64
חובה לפי תהליך הפצת הגרסה
כדי להבטיח את הביצועים והיציבות הטובים ביותר בפלטפורמה, כל הספריות שכלולות במשחק צריכות להיות בגרסאות תואמות ל-x86-64 ABI.
אם מבחינה טכנית לא ניתן לשלוח את המשחק כקובץ הפעלה של x86 64 ביט, עליכם לפנות לצוות הבדיקה כדי לקבל אישור חריג. המשחק לא יכול לקבל אישור מלא עם חריגה, אבל אפשר להוסיף אותו לקטלוג כמשחק 'שאפשר לשחק בו'.
אוסף בספרייה
כדי להבטיח את התאימות הרחבה ביותר למעבד x86-64, אל תשתמשו בקבוצת ההוראות של atom בזמן הידור הספריות. לדוגמה, כשמשתמשים ב-gcc
, כדאי להימנע משימוש ב--march=atom
ולהשתמש ב--march=x86-64
במקום זאת.
ארכיטקטורת היעד ב-Unity
בחלק מהגרסאות של Unity 2019 ו-2020 אין תמיכה בארכיטקטורה x86-64 ב-Android. ודאו שאתם משתמשים ב-Unity בגרסה 2019.4.31f1, 2020.3.19f1 ואילך.
אם המשחק שלכם משתמש בגרסה תואמת של מנוע המשחקים של Unity, עליכם לבצע את הפעולות הבאות כדי להפעיל יעדים של Android עם x86-64:
עוברים אל Player Settings (הגדרות נגן) > Other Settings (הגדרות אחרות) > Configuration (הגדרה) > Scripting Backend (קצה עורפי ל-Scripting) ובוחרים באפשרות IL2CPP בתפריט הנפתח כדי להפעיל את הקצה העורפי ל-Scripting של IL2CPP.
מפעילים יעדים של Android מסוג x86-64 בגרסה של Unity:
Unity 2018 וגרסאות קודמות: עוברים אל הגדרות Player > הגדרות אחרות > ארכיטקטורת יעד ובוחרים את התיבה x86. מכיוון ש-Unity 2018 תומכת רק ביעדים מסוג x86, לא תוכלו ליצור build ל-x86-64. כדי לפרסם את הגרסה הזו, תצטרכו לקבל אישור חריג מצוות הבדיקה. יש לפנות לאיש הקשר ב-Google כדי לבקש חריגה ל-x86.
גרסה עם תמיכה לטווח ארוך (LTS) של Unity 2019 ואילך: עוברים אל הגדרות Player > הגדרות אחרות > ארכיטקטורות יעד ומפעילים את האפשרות x86-64 (ChromeOS).
זיהוי Google Play Games במחשב
אתם יכולים לזהות את פלטפורמת Google Play Games במחשב בזמן הריצה, וכך להפעיל או להשבית תכונות ספציפיות לפלטפורמה במשחק.
כדי לבדוק אם המשחק פועל בפלטפורמה של Google Play Games במחשב, מחפשים את תכונת המערכת com.google.android.play.feature.HPE_EXPERIENCE
:
Kotlin
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
טיפול באירועים במחזור החיים של Android
חשוב לטפל באירוע onPause
(c++) בסביבה של Google Play Games במחשב. המשחק גלוי כשהשחקן מפעיל את שכבת-העל של המהדמין, ולכן אי-האזנה לאירוע onPause
עלולה להוביל לחוויית משתמש גרועה.
עדכון ממשק המשתמש
יש רכיבים מסוימים בממשק המשתמש תנועות מסוימות שלא מתאימים למחשב PC, וצריכים לעדכן אותם.
נדרש:
- החלפת פעולות בממשק המשתמש שדורשות שתי אצבעות או יותר (תנועות של מגע רב-אצבעות). לדוגמה, צריך להחליף את הצמדת האצבעות כדי להגדיל ואת תנועות מגע אחרות בקלט המתאים של העכבר והמקלדת. פרטים על השינויים בקלט המכשיר זמינים במאמר תמיכה בקלט.
המלצה:
- בכל הטקסט שגלוי למשתמשים צריך להופיע 'לחיצה' במקום 'הקשה'.
- לרשימות שניתן לגלול בהן צריכות להיות סרגליות גלילה.
- באזורים שבהם המשתמשים יכולים לבצע תנועת פאן, צריכות להיות סרגליות גלילה או דרך אחרת לעבור במהירות מרחקים גדולים.
- לא להציג מקלדת שניתן ללחוץ עליה במסך להזנת טקסט.
- כל הטקסט צריך להיכנס למסגרת של שדה הטקסט.
- קליקים על רכיבים גלויים צריכים:
- לקבל לחיצה בכל מקום בתוך הגבולות הגלויים של הרכיב.
- לא לקבל קליק באזור שמחוץ לרכיב הגלוי.
- בתיבת הדו-שיח צריך להיות כפתור סגירה גלוי. לא לזהות לחיצה מחוץ למסגרת של תיבת הדו-שיח.
השבתה של רוב תיבות הדו-שיח של ההרשאות
לאפליקציית Google Play Games במחשב אין תיבת דו-שיח לבקשת הרשאות, מלבד הרשאות המיקרופון וההתראות. לכן, אל תנסה להציג תיבת דו-שיח כזו או לבקש הרשאות במהלך זמן הריצה. אם הצגתם בעבר תיבת דו-שיח לבקשת הרשאה, עליכם לעדכן את המשחק כך שלא יוצגו יותר תיבת דו-שיח כזו במחשבים.
תכונות והרשאות של Android שלא נתמכות
חובה לפי תהליך הפיתוח
חלק מתכונות החומרה הנפוצות בטלפונים ניידים ובטאבלטים לא זמינות במחשב. זה כולל תכונות חומרה כמו המצלמה או המיקום של השחקן. אי אפשר להוריד ולהתקין במחשב של השחקן משחק שדורש תכונות חסרות. בקשות לתכונות חסרות במחשב נכשלות באופן אוטומטי.
כדי להציג רשימה מלאה של התכונות הזמינות, מקלידים:
adb shell pm list features
כדי שהמשחק יהיה תואם למחשבים, צריך לבצע את השינויים הבאים:
צריך לסמן תכונות כאופציונליות במניפסט של האפליקציה על ידי הוספת
android:required="false"
להצהרה<uses-feature>
. ההגבלה הזו חלה רק על התכונות שכבר הוצהרו במניפסט של האפליקציה.אל תנסה להשתמש בתכונות חסרות בזמן הריצה. אם אתם משתמשים באותו קובץ APK גם בנייד וגם במחשב, זיהוי סביבת המחשב בזמן הריצה והימנעות מנתיבי הקוד הרלוונטיים.
לא מבקשים הרשאות Android שלא נתמכות בזמן ריצה. אם אתם משתמשים באותו קובץ APK גם במסלולים לנייד וגם במסלולים למחשב, זיהוי סביבת המחשב בזמן הריצה והימנעות מנתיבי הקוד הרלוונטיים. אין צורך לעדכן את המניפסט.
מידע נוסף על תאימות של מניפסט אפליקציה זמין במדריך תאימות של מניפסט אפליקציה ל-Chromebook.
דרישות לבדיקות פונקציונליות
לפני ששולחים את גרסת ה-build הראשונה לבדיקה ל-Google Play Console, צריך להסיר את תכונות החומרה הבאות:
android.hardware.wifi
android.hardware.bluetooth
android.hardware.camera
android.hardware.location
יכול להיות שחלק מהתכונות האלה יופיעו כתכונות נתמכות כשמריצים את pm list features
מסיבות תאימות, אבל הן לא יושמו באופן מלא. למידע נוסף על הסרת התכונה android.hardware.wifi
, ראו מעקב אחרי סטטוס הקישוריות ומדידה של חיבורים. במדריך התאימות של מניפסט האפליקציה ל-Chromebooks מפורטת רשימה מלאה של התכונות שלא נתמכות.
דרישות לבדיקות איכות
תכונות החומרה הנפוצות האלה לא תואמות למחשבים, לכן עליכם להסיר אותן לפני שליחת הגרסה הסופית ל-Google Play Console:
android.hardware.audio.pro
android.hardware.bluetooth
android.hardware.camera
android.hardware.consumerir
android.hardware.location
android.hardware.nfc
android.hardware.sensor.light
android.hardware.sensor.accelerometer
android.hardware.sensor.barometer
android.hardware.sensor.compass
android.hardware.sensor.gyroscope
android.hardware.sensor.proximity
android.hardware.telephony
android.hardware.touchscreen
android.hardware.usb.accessory
android.hardware.usb.host
android.hardware.wifi
android.software.midi
הרשאות לא נתמכות
ההרשאות הנפוצות הבאות לא נתמכות במחשבים, לכן צריך להשבית אותן במשחק כדי שאפשר יהיה להשתמש בו ב-Google Play Games במחשב:
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_WIFI_STATE
android.permission.BLUETOOTH
android.permission.CAMERA
android.permission.FOREGROUND_SERVICE
android.permission.GET_ACCOUNTS
android.permission.INSTALL_PACKAGES
android.permission.READ_CONTACTS
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SYSTEM_ALERT_WINDOW
android.permission.USE_CREDENTIALS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_SETTINGS
com.google.android.gms.permission.ACTIVITY_RECOGNITION
אתרים חיצוניים ורכיבי WebView
כוונת דפדפן נטענת בדפדפן האינטרנט המקורי של המחשב, במקום בדפדפן בסביבת Google Play Games במחשב. זוהי חוויית המשחק האידיאלית לרוב השחקנים.
כדי להקל על ההעברה, אפליקציית Google Play Games במחשב תומכת ב-WebView. מכיוון שהיא נפתחת בסביבה של Google Play Games במחשב, היא לא תכלול את הדפדפן הרגיל למחשב. אם השתמשתם בעבר ב-WebView
כדי לשתף את התנאים וההגבלות, מדיניות הפרטיות או תוכן דומה אחר, עליכם להפעיל כוונת דפדפן במקום זאת.
השבתת ממשקי API של Google Play Services שלא נתמכים
חובה לפי תהליך הפצת הגרסה
ב-Google Play Games במחשב יש גרסה משלו של Google Play Services שמכילה רק קבוצת משנה של ממשקי ה-API של Google Play Services. עליכם לוודא שהאפליקציה לא תלויה במידה רבה במודולים שלא נכללים או שלא נתמכים במחשב. חשוב לזכור שיכול להיות שחלק מהמודולים יהיו זמינים, אבל הפונקציונליות שלהם לא תמיד נתמכת. לדוגמה, Firebase Cloud Messaging לא יפעל כש-Google Play Games במחשב סגור.
מודולים נתמכים
המודולים האלה זמינים כרגע ב-Google Play Games במחשב, ואנחנו מתכננים להוסיף תמיכה בתכונות נוספות:
- כניסה באמצעות חשבון Google (לא כולל העברת חשבון, SmartLock, אימות באמצעות SMS, חישוב מורכבות הסיסמה)
- Cronet
- שירותי המשחקים של Google Play
- Tasks
- Vision
- Google Pay
תמיכה מוגבלת
המודולים הבאים פועלים באופן חלקי. אנחנו נעשה כמיטב יכולתנו כדי לתמוך בהם ב-Google Play Games במחשב, אבל אנחנו לא יכולים להבטיח את הפונקציונליות שלהם.
- Google Cloud Messaging (הוצא משימוש, יש להשתמש ב-Firebase Cloud Messaging)
- אימות ב-Firebase (אימות באמצעות מספר טלפון לא פועל)
- Firebase Cloud Messaging
- ספריות נפוצות של Firebase
- Firebase ML
- הגדרת תצורה מרחוק ב-Firebase
- Firebase Analytics
לא נתמך
המודולים האלה לא נתמכים ב-Google Play Games במחשב, אבל הם לא גורמים לבעיות ב-Google Play Games במחשב אם הם נכשלים:
- Google Analytics (השירות יצא משימוש, יש להשתמש ב-Firebase Analytics)
- Google Cast
- Awareness API
- Drive (האפשרות הוצאה משימוש ותוסרה בקרוב)
- FIDO
- מסד נתונים בזמן אמת ב-Firebase
- Firestore
- Firebase A/B Testing
- Google Fit
- Address API
- Instant Apps API
- Location API
- Google Maps SDK
- בקרבת מקום
- Panorama
- מקומות
- Google+
- SafetyNet (השירות יצא משימוש. כדי להביע עניין ב-Play Integrity API שיושקו בקרוב, יש למלא את טופס הבקשה)
- Google Tag Manager
- Wear OS
קטוע
חובה לפי תהליך הפיתוח
אסור להשתמש במודולים האלה במחשבים, כי הם עלולים לגרום להתנהגות לא צפויה ב-Google Play Games במחשב.
הפעלת אחסון ברמת ההיקף
חובה לפי תהליך הפיתוח
הקטע הזה רלוונטי אם המשחק קורא או כותב לאחסון חיצוני. אכיפת אחסון ברמת ההיקף נדרשת כדרך חלופית לקריאה ולכתיבה באחסון. כך לא תצטרכו לבקש מהשחקן את ההרשאות הרגישות הבאות:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
מידע נוסף על אחסון ברמת ההיקף זמין במאמרים הבאים:
ניתוח נתונים
מוצרי Google Analytics מדור קודם לא פועלים ב-Google Play Games במחשב. אם זה רלוונטי למשחקים שלכם, עליכם להעביר אותם אל Google Analytics 4.
השינוי הזה אמור להשפיע על המשחק רק אם אתם משתמשים כרגע ב-Google Analytics 360. אם אתם משתמשים ב-Firebase SDK כדי לעקוב אחרי אירועי ניתוח נתונים במשחק, ואתם יכולים לראות את המשחק כנכס במסוף Google Analytics, אין צורך לבצע פעולה נוספת.