פיתוח באמצעות אמולטור למפתחים של Google Play Games במחשב

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

הפעלת האמולטור

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

כניסה

תתבקשו להיכנס לחשבון Google בפעם הראשונה שתפעילו את אמולטור. צריך להשתמש באותם פרטי כניסה שבהם אתם מתכוונים להשתמש לצורכי פיתוח.

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

לאחר ההפעלה, יוצג מסך בית אופייני של Android. עכבר שמאלי הקליקים מתורגמים ישירות להקשות על האצבעות, כמו במצב אמולציה של עכבר. משחקים שהותקנו ממקור לא ידוע יופיעו ברשימת האפליקציות, ואפשר גם להשתמש בה להגיע אל באמצעות לחיצה וגרירה כלפי מעלה על שולחן העבודה (אמולציה של החלקה למעלה על טלפון או טאבלט).

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

  • Ctrl h: לחיצה על הלחצן הראשי
  • Ctrl b: לחיצה על הלחצן 'הקודם'
  • F11 או Alt Enter: מעבר בין מסך מלא לבין מצב חלון
  • Shift Tab: פתיחת שכבת-העל של Google Play Games במחשב, כולל את מיפויי המפתחות הנוכחיים של ה-SDK לקלט

התקנת משחק

אמולטור המפתחים של Google Play Games במחשב משתמש ב-Android Debug Bridge (adb) כדי להתקין חבילות.

תאימות ל-adb

הגרסאות הנוכחיות של adb תואמות לאמולטור המפתחים של Google Play Games במחשב. בנוסף, אחרי ההתקנה מותקנת גרסה תואמת ב-C:\Program Files\Google\Play Games Developer Emulator\current\emulator את האמולטור.

כדי לפעול לפי ההוראות האלה, מערכת adb צריכה להיות זמינה ב$PATH. אפשר לוודא שההגדרה של adb תקינה באמצעות הפקודה adb devices

adb devices
List of devices attached
localhost:6520  device

התקנת המשחק

  • הפעלת Google Play Games for PC Emulator
  • מקלידים adb devices בשורת הפקודה. אתם אמורים לראות:

    adb devices
    List of devices attached
    localhost:6520 device
    
  • פתרון בעיות:

    • אם מופיעה שגיאה, מוודאים שפעלתם לפי ההוראות ב-Adb .
    • אם מכשיר מסוים לא מופיע, אפשר לנסות להתחבר מחדש באמצעות היציאה 6520:
    adb connect localhost:6520
    
  • יש להקליד adb install path\to\your\game.apk כדי להתקין את המשחק. אם יצר קובץ Android App Bundle (aab), עליך לעיין בהוראות עבור bundletool ומשתמשים ב-bundletool install-apks במקום זאת.

  • אפשר להריץ את המשחק באחת מהדרכים הבאות:

    • צריך להקליד adb shell monkey -p your.package.name 1 כדי להפעיל את המשחק, וצריך להחליף אותו your.package.name מחליפים בשם החבילה של המשחק.
    • באמולטור למפתחים של Google Play Games במחשב, לוחצים על הסמל כדי להפעיל את המשחק. כמו בטלפון Android, צריך "להחליק למעלה" בבית המסך כדי לראות את רשימת המשחקים המותקנים.

ניפוי באגים במשחק

אפשר להשתמש ב-Android Debug Bridge (adb) כדי לנפות באגים כמו בכל משחק אחר. האמולטור מופיע כמכשיר שמחובר דרך localhost:6520.

adb logcat פועלת כצפוי, כמו גם כלים שעוזרים לבצע אופטימיזציה או סינון פלט Logcat – כולל Android Studio.

בנוסף ל-adb, אפשר לגשת ליומנים ב- הספרייה %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs. נפוצים כאן היא AndroidSerial.log שמייצגת את כל מה שיש ל-adb logcat יהדהד מהרגע שהאמולטור מתחיל.

הגדרות למפתחים

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

בדיקת הקלט של העכבר

במהלך הפיתוח, אמולטור המפתחים של Google Play Games במחשב מוגדר כברירת מחדל למגע אמולציה במקום לספק קלט ישיר של העכבר. אפשר להפעיל את התכונה 'עכבר ישיר' קלט באמצעות לחיצה ימנית על סמל מגש המערכת, בחירה באפשרות אפשרויות למפתחים, ואז במצב PC (KiwiMouse).

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

בלקוח הנגן, האמולציה מושבתת על ידי הוספת הקוד הבא למניפסט:

<manifest ...>
  <uses-feature
      android:name="android.hardware.type.pc"
      android:required="false" />
  ...
</manifest>

לסימון המאפיין הזה אין השפעה בסביבת הפיתוח.

בדיקה של יחסי גובה-רוחב

אמולטור המפתח מופעל ביחס גובה-רוחב של 16:9 – בניגוד לנגן לקוח שגוזר את יחס הגובה-רוחב שלו מהמסך הראשי. לפי ימין לחיצה על סמל מגש המערכת, בחירה באפשרות אפשרויות למפתחים, ואז בקטע יחס תצוגה, תוכלו לבדוק איך המשחק נראה במסכים שונים של הנגן.

השיטה המועדפת להגדרת יחס גובה-רוחב הוא להשתמש ב-android:minAspectRatio וב-android:maxAspectRatio.

לדוגמה, יחס הגובה-רוחב של משחק בפורמט אנכי הוא 9/16 או 0.5625, לכן כדאי לזכור צריך להגדיר יחס גובה-רוחב מקסימלי של 1 כדי שהמשחק לא יהיה רחב יותר מריבוע:

<activity android:maxAspectRatio="1">
 ...
</activity>

בדומה לכך, משחק בפורמט אופקי יהיה 16/9 או 1.778 בערך, כך כדי להגדיר יחס גובה-רוחב מינימלי של 1 כדי שהוא לא יהיה צר יותר מריבוע:

<activity android:minAspectRatio="1">
 ...
</activity>

מה צריך לבדוק

אם המשחק תומך רק בהדגשת דיוקן במניפסט, אפשר לבחור באפשרות 9:16 (לאורך) בתפריט הנפתח כדי לראות איך הוא נראה במכשיר של השחקנים מחשבים אישיים. אחרת לוודא שהמשחק פועל ביחסי הגובה-רוחב הרחבים והצרים ביותר תמיכה במניפסט, לזכור ש16:9 (ברירת מחדל) (או 9:16 (לאורך) אם המשחק הוא לאורך בלבד) נדרש עבור אישור מלא.

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

Google Play Games במחשב משתמשת ב-ANGLE כשכבת תאימות כדי מוודאים ששיחות OpenGL ES מטופלות כראוי במחשב המארח באמצעות הקצה העורפי של Direct או של Vulkan. האמולטור תומך גם ב-Vulkan ישירות, למרות ולא ב-DirectX. השכבה הזו גם ממירה פורמטים של מרקם דחוס לנייד בלבד למכשירים שתואמים למחשב. באמצעות לחיצה ימנית על סמל מגש המערכת ובחירה שינוי מקבץ גרפיקה, אפשר להגדיר אותו לברירת המחדל של המערכת או לאלץ הפעלה או השבתה של vulkan לבדיקת תאימות.

מה צריך לבדוק

יש הבדלים קלים בפורמטים הנתמכים של טקסטורה והשלבים הנדרשים ליצור אמולציה של תכונות שונות לנייד במחשב. במהלך פרופיילינג ואופטימיזציה של כדאי לבדוק כל קצה עורפי.

יצירת פרופילים של משחק למחשב

מאחר שהאמולטור משתמש באותה טכנולוגיה כמו הלקוח לצרכן, סביבה מתאימה לפרופיל ביצועים.

Perfetto הוא כלי לניתוח ביצועים ב-Android. אפשר לאסוף להציג מעקב Perfetto באמצעות השלבים הבאים:

  1. בהנחיה ב-PowerShell, מתחילים מעקב באמצעות adb

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. הדגל --time מציין את משך הזמן של איסוף המעקב.כאן לדוגמה, המעקב הוא 10 שניות.
    2. הארגומנטים אחרי הדגל --time מציינים אילו אירועים צריכים להיות לעקוב אחריו. בדוגמה הזו, gfx מציין גרפיקה, ניהול חלונות wm ו sched של פרטי תזמון העיבוד. אלה דגלים נפוצים ליצירת פרופילים וחומר עזר מלא זמין.
    3. הדגל --out מציין את קובץ הפלט, שנשלף מתוך את האמולטור במכונה המארחת בשלב הבא.
  2. שולפים את נתוני המעקב מהמארח

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. פתיחת המעקב בממשק המשתמש של Perfetto

    1. פותחים את ui.perfetto.dev.
    2. לוחצים על פתיחת קובץ מעקב בפינה הימנית העליונה בקטע ניווט.
    3. פותחים את הקובץ example.trace שהורדתם בשלב הקודם אל הספרייה Downloads/.
  4. בודקים את המעקב בממשק המשתמש של Perfetto. טיפים:

    1. לכל תהליך יש שורה משלו, שאפשר להרחיב כדי להציג את כל השרשורים בתהליך הזה. אם יוצרים פרופיילינג של משחק, סביר להניח שהתהליך השורה הראשונה.
    2. כדי להגדיל או להקטין את התצוגה, לוחצים לחיצה ארוכה על מקש Control ומשתמשים בגלילה גלגל השיניים.
    3. כשמשתמשים באירוע sched, לכל שרשור יש שורה שמוצגת מתי השרשור הזה פועל, אפשר להריץ, במצב שינה או חסום.
    4. כשמפעילים אירוע כמו gfx, אפשר לראות את הפרטים לשיחות גרפיות שמתבצעות באמצעות שרשורים שונים. אפשר לבחור 'פרוסות' ספציפיות אל לראות כמה זמן הם נמשכים, או לגרור לאורך שורה שגורמת ל'פרוסות' קטע כדי לפתוח למטה ולהראות לך כמה זמן לקח כל הפרוסות חלון הזמן שנבחר.

יצירת פרופילים לגרפיקה

אפשר לבצע פרופיילינג גרפיקה מסוים עם RenderDoc.

  1. הגדרת משתנה הסביבה ANDROID_EMU_RENDERDOC למחרוזת לא ריקה (כמו "1").
  2. מגדירים את משתנה הסביבה TMP לערך %USERPROFILE%\AppData\LocalLow הפעולה הזו מנחה את Renderdoc למקם את קובצי היומן במקום שניתן להגיע אליו בארגז החול של האמולטור.

  3. אם אתם משתמשים בקצה העורפי Vulkan. יש לבחור באחת מהאפשרויות הבאות הגדרות גרפיקה > שכבות משתמעות של מופע Vulkan האפשרות VKLAYER_RENDERDOC_Capture מסומנת.

  4. משיקים את אמולטור המפתחים של Google Play Games במחשב. שכבת-על של RenderDoc משורטטת כל עוד התמיכה מופעלת.

  5. אפשר להפעיל את RenderDoc בכל שלב לפני או אחרי האמולטור למפתחים של Google Play Games במחשב השקות.

  6. לוחצים על קובץ > מצרפים ל-הרצת Instance ובוחרים באפשרות crosvm.

ציון משתני סביבה

כדי ש-Renderdoc יפעל, צריך להוסיף או לשנות משתני סביבה ב-Windows. תוכלו לשנות את משתני הסביבה באמצעות ממשק המשתמש, PowerShell או cmd.exe.

שימוש בממשק המשתמש
  • מקישים על Win R כדי לפתוח את תיבת הדו-שיח של ההרצה.
  • מקלידים sysdm.cpl כדי לפתוח את החלון מאפייני מערכת.
  • בוחרים בכרטיסייה מתקדם אם היא עדיין לא פעילה.
  • לוחצים על הלחצן משתני סביבה.

מכאן תוכלו ללחוץ על הלחצן New (חדש) כדי ליצור סביבה חדשה משתנה או בוחרים משתנה ולוחצים על הלחצן Edit (עריכה) כדי לערוך אותו.

שימוש ב-PowerShell

בחלון PowerShell, מקלידים:

$Env:VARIABLE_NAME=VALUE

מחליפים את VARIABLE_NAME ואת VALUE בערכים שרוצים להגדיר. עבור לדוגמה, כדי להגדיר את ANDROID_EMU_RENDERDOC לסוג "1":

$Env:ANDROID_EMU_RENDERDOC="1"
שימוש ב-cmd.exe

בחלון cmd.exe, מקלידים:

set VARIABLE_NAME=VALUE

מחליפים את VARIABLE_NAME ואת VALUE בערכים שרוצים להגדיר. עבור לדוגמה, כדי להגדיר את ANDROID_EMU_RENDERDOC לסוג "1":

set ANDROID_EMU_RENDERDOC="1"

טיפים ל-Android 11 (רמת API 30) ואילך

אפליקציית Google Play Games במחשב מעודכנת לגרסאות האחרונות של Android. הנה רשימה של כמה טיפים לעבודה עם הגרסה העדכנית ביותר של Android.

עדכון הכלים

Android Studio מתקין גרסת adb שתואמת למפתח אמולטור; עם זאת, חלק ממנועי המשחקים כוללים גרסה ישנה יותר של adb. כאן לדוגמה, לאחר שמתקינים את אמולטור המפתח, ניתן למצוא גרסה של adb בשעה C:\Program Files\Google\Play Games Developer Emulator\current\emulator.

אם מפעילים גרסה אחת של adb, היא מפסיקה את הגרסה השנייה. המשמעות היא אם מנוע המשחק שלך יפעיל באופן אוטומטי מופע adb משלו, יכול להיות להפעיל מחדש ולחבר מחדש את גרסת adb שקיבלת עם המפתח אמולטור בכל פעם שפורסים.

אם משתמשים ב-Android App Bundle, צריך להתקין את הגרסה האחרונה של Bundletool ממאגר ה-GitHub

נפח אחסון עם היקף הרשאות

Android בגרסה 11 (רמת API 30) ואילך כולל נפח אחסון בהיקף, הגנה טובה יותר לנתוני אפליקציות ומשתמשים באחסון חיצוני. מלבד יצירת תואם לדרישות האחסון בהיקף, צריך לבצע שלבים נוספים לטעינת קובצי הרחבת APK (obb) או נתוני נכסים אל אמולטור למפתחים של Google Play Games במחשב. אם נתקלים בבעיות, יש לבצע את השלבים הבאים גישה לקבצים מהמשחק:

  1. יוצרים ספרייה שהאפליקציה יכולה לקרוא.
  2. דוחפים את קובצי ההרחבה לאמולטור.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game

הרשאות גישה לחבילה

בזכות הכללים החדשים של חשיפת חבילות, אפליקציות שמטרגטות את Android 11 (רמת API 30) ומעלה חסומה מהרצת שאילתות לקבלת מידע על אפליקציות אחרות שמותקנות במכשיר. זה אומר שהמשחק שלך חסום לגשת לשירותי Play בזמן התקנה ממקור לא ידוע דרך adb במקום מותקנת דרך חנות Play. כדי לבדוק את ה-IAP באמצעות משחק עם התקנה ממקור לא ידוע: חובה להוסיף שאילתה לחבילה "com.android.vending" ב- קובץ AndroidManifest.xml באופן הזה:

<manifest>
    <queries>
        <package android:name="com.android.vending" />
    </queries>
</manifest>

התקנת המשחק שלך בלקוח הצרכן

לא ניתן להתקין משחק אצל הלקוח לצרכנים לפני שהוא מופיע הקטלוג של Play Games Services. אחרי שהמשחק שלכם יושק במהדורה אחת, יכול ליצור מסלול בדיקה פנימי לאימות עדכונים עתידיים לפני ההשקה.

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