תאימות ואופטימיזציה של Google Play Games במחשב

כדי להשתמש ב-Google Play Games במחשב, עליכם לבצע שינויים במשחק כדי להתאים אותו למחשב ולבצע אופטימיזציה. השינויים האלה מבטיחים המשחק יכול לרוץ במחשב וחוויית המשתמש מותאמת לפלטפורמה.

בנוסף, Google Play Games במחשב כולל גרפיקה, קלט למכשירים דרישות להפעלה במכשירים שונים. מידע נוסף זמין במדריך למתחילים.

כשמבצעים שינויים בתאימות למחשב ובאופטימיזציה (מלבד x86-64) תמיכה), ניתן להגדיר את המשחק זיהוי של Google Play Games במחשב ואז השבתה או הפעלה לתכונות ספציפיות לפלטפורמה. כך תוכלו להשתמש באותו קובץ APK או באותה חבילת אפליקציות לגרסאות לנייד ולמחשב של Android.

לפניכם סיכום של הדרישות וההמלצות שבדף הזה:

הוספת ארכיטקטורת 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:

  1. עוברים אל Player Settings (הגדרות Player)‏ > Other Settings (הגדרות אחרות)‏ > Configuration (הגדרה)‏ > Scripting Backend (קצה עורפי ל-Scripting) ובוחרים באפשרות IL2CPP בתפריט הנפתח כדי להפעיל את הקצה העורפי ל-Scripting של IL2CPP.

  2. מפעילים יעדים של Android מסוג x86-64 בגרסה של Unity:

    • Unity 2018 וגרסאות קודמות: עוברים אל הגדרות Player‏ > הגדרות אחרות > ארכיטקטורת יעד ובוחרים את התיבה x86. מכיוון ש-Unity 2018 תומכת רק ביעדים מסוג x86, לא תוכלו ליצור build ל-x86-64. ה-build הזה מחייב חריגה מצוות הבדיקה. עליך לפנות לאיש הקשר שלך ב-Google כדי לבקש חריגה מגרסת x86.

    • מהגרסה Long Term Support (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.

דרישות לבדיקות פונקציונליות

יש להסיר את תכונות החומרה האלה לפני שליחת הבקשה הראשונה test 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 לשיתוף התנאים שלך של שירות, מדיניות פרטיות או תוכן דומה אחר, עליך הפעלה של Intent בדפדפן.

השבתת ממשקי API של Google Play Services שלא נתמכים

נדרש בתהליך השקת הגרסאות

Google Play Games on PC כולל גרסה משלו של Google Play Services שמכילה רק קבוצת משנה של ממשקי ה-API של Google Play Services. עליך לאשר שהאפליקציה לא תלויה מאוד במודולים שהושמטו או אין תמיכה במחשב PC. חשוב לזכור שיכול להיות שחלק מהמודולים יהיו זמינים, אבל הפונקציות שלהם לא תמיד נתמכות. לדוגמה, Firebase Cloud Messaging לא יפעל כש-Google Play Games במחשב סגור.

מודולים נתמכים

המודולים האלה זמינים כרגע ב-Google Play Games במחשב, ואנחנו מתכננים להוסיף תמיכה בתכונות נוספות:

תמיכה מוגבלת

המודולים הבאים פועלים באופן חלקי. נעשה כמיטב יכולתנו כדי לתמוך ב-Google Play Games במחשב, אבל אנחנו לא יכולים להבטיח את הפונקציונליות שלהם.

לא נתמך

המודולים האלה לא נתמכים ב-Google Play Games במחשב, אבל הם לא גורמים בעיות ב-Google Play Games במחשב כשהן נכשלות:

קטוע

נדרש על ידי תהליך הפרסום

אסור להשתמש במודולים האלה במחשבים, כי הם עלולים לגרום להתנהגות לא צפויה ב-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, אין לך לבצע פעולות נוספות כלשהן.