Google Play Games on PC Developer Emulator یک شبیهساز متمرکز بر توسعهدهنده برای بازیهای Google Play در رایانه شخصی است. بر خلاف تجربه پخش، می توانید بسته های خود را نصب و اشکال زدایی کنید. همچنین میتوانید پیکربندیهای مختلف پخشکننده مانند نسبت تصویر، شبیهسازی ماوس، و پسزمینه گرافیکی را شبیهسازی کنید تا به شما کمک کند تا اطمینان حاصل کنید که بازیتان در انواع پیکربندیهای رایانه شخصی مطابق انتظار عمل میکند.
راه اندازی شبیه ساز
پس از نصب، یک عنصر منوی شروع «Google Play Games Developer Emulator» و یک میانبر دسکتاپ برای راه اندازی شبیه ساز خواهید داشت. هنگامی که پنجره را می بندید، شبیه ساز در سینی سیستم شما باقی می ماند.
وارد شوید
اولین باری که شبیه ساز را اجرا می کنید از شما خواسته می شود به حساب Google خود وارد شوید. از همان اعتبارنامه هایی که قصد دارید برای توسعه استفاده کنید استفاده کنید.
میتوانید با کلیک راست روی نماد سینی سیستم، انتخاب گزینههای توسعهدهنده و سپس کلیک کردن بر روی گزینه خروج اجباری از سیستم خارج شوید. پس از انجام این کار، شبیه ساز بلافاصله مجددا راه اندازی می شود و از شما می خواهد که دوباره وارد شوید.
ناوبری
پس از راه اندازی، یک صفحه اصلی معمولی اندروید را مشاهده خواهید کرد. کلیک چپ ماوس به طور مستقیم به ضربه های انگشت مانند حالت شبیه سازی ماوس تبدیل می شود. بازیهای جانبی برای توسعه در فهرست برنامهها ظاهر میشوند، که میتوانید با کلیک کردن و کشیدن روی دسکتاپ به آنها دسترسی پیدا کنید (شبیهسازی کشیدن انگشت به سمت بالا در تلفن یا رایانه لوحی).
علاوه بر ترجمه ماوس، شبیه ساز برنامه نویس بازی های Google Play در رایانه شخصی میانبرهای صفحه کلید را برای بهبود ناوبری ارائه می دهد:
ctrl + h : دکمه هوم را فشار دهیدctrl + b : دکمه برگشت را فشار دهیدF11 یاalt + enter : بین حالت تمام صفحه و حالت پنجره جابجا شویدshift + tab : بازیهای Google Play را روی رایانه شخصی باز کنید، از جمله نگاشتهای کلید فعلی برای Input SDK
نصب بازی
شبیه ساز برنامه نویس بازی های Google Play در رایانه شخصی از پل اشکال زدایی اندروید (adb) برای نصب بسته ها استفاده می کند.
سازگاری adb
نسخههای فعلی adb
با شبیهساز برنامهنویس بازیهای Google Play در رایانه شخصی سازگار است. علاوه بر این، هنگام نصب شبیه ساز، یک نسخه سازگار در C:\Program Files\Google\Play Games Developer Emulator\current\emulator
نصب می شود.
برای پیروی از این دستورالعملها، adb باید در $PATH
شما موجود باشد. با دستور adb devices
می توانید تأیید کنید که adb
به درستی پیکربندی شده است
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 در رایانه شخصی، روی نماد کلیک کنید تا بازی خود اجرا شود. درست مانند گوشی های اندرویدی، برای مشاهده لیست بازی های نصب شده، باید روی صفحه اصلی "Swipe up" را انجام دهید.
- برای اجرای بازی خود
اشکال زدایی یک بازی
از 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 در رایانه شخصی به جای تجربه کاربر نهایی، بر کارایی توسعه دهنده تمرکز دارد. این بدان معنی است که شما بدون مانع به سیستم Android دسترسی دارید، از جمله استفاده از راهانداز استاندارد اندروید به جای بازیهای Google Play در رایانه شخصی، و کنترل بر روی ویژگیهایی که در غیر این صورت بهطور خودکار برای بازیکنان فعال و غیرفعال میشوند.
تست ورودی ماوس
در طول توسعه، شبیهساز برنامهنویس بازیهای Google Play در رایانه شخصی بهجای اینکه ورودی مستقیم ماوس را به شما بدهد، بهطور پیشفرض شبیهسازی را لمس میکند. میتوانید با کلیک راست روی نماد سینی سیستم، انتخاب Developer Options و سپس حالت PC (KiwiMouse) ورودی مستقیم ماوس را فعال کنید.
بازیهای Google Play روی رایانه شخصی دارای دو حالت ماوس است: یک حالت شبیهسازیشده که کلیکهای ماوس را به تک ضربهها ترجمه میکند و یک «حالت رایانه شخصی» که به بازیها اجازه میدهد تا عملکردهای ماوس را بهطور طبیعی مدیریت کنند و نشانگر را انجام دهند. برای جزئیات بیشتر در مورد ورودی ماوس در بازیهای Google Play در رایانه شخصی به تنظیمات ورودی ماوس مراجعه کنید.
در کلاینت پخش کننده، با افزودن این مورد به مانیفست خود، شبیه سازی غیرفعال می شود:
<manifest ...>
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
...
</manifest>
این پرچم ویژگی هیچ تاثیری در محیط توسعه ندارد.
تست نسبت ابعاد
شبیه ساز توسعه دهنده با نسبت تصویر 16:9 راه اندازی می شود - برخلاف کلاینت پخش کننده که نسبت تصویر خود را از صفحه نمایش اصلی استخراج می کند. با کلیک راست بر روی نماد سینی سیستم، انتخاب Developer Options و سپس هر گزینه در بخش Display Ratio ، می توانید نحوه نمایش بازی را در صفحه نمایش بازیکنان مختلف آزمایش کنید.
روش ترجیحی برای پیکربندی نسبت تصویر استفاده از 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 (Portrait) را در منوی کشویی انتخاب کنید تا ببینید در رایانههای شخصی بازیکنان چگونه به نظر میرسد. در غیر این صورت بررسی کنید که بازی شما در وسیعترین و باریکترین نسبتهای منظری که در مانیفست خود پشتیبانی میکنید کار میکند، به یاد داشته باشید که 16:9 (پیشفرض) (یا 9:16 (پرتره) اگر بازی شما فقط به صورت عمودی است) برای صدور گواهینامه کامل لازم است.
تست رندر باطن
بازیهای Google Play در رایانه شخصی از ANGLE به عنوان لایه سازگاری استفاده میکند تا اطمینان حاصل کند که تماسهای OpenGL ES توسط رایانه میزبان با استفاده از DirectX یا Vulkan به درستی انجام میشود. این شبیه ساز به طور مستقیم از Vulkan نیز پشتیبانی می کند، البته نه در DirectX. این لایه همچنین فرمت های بافت فشرده شده موبایل را به فرمت های سازگار با کامپیوتر تبدیل می کند. با کلیک راست بر روی نماد سینی سیستم و انتخاب Graphics Stack Override ، میتوانید آن را روی پیشفرض سیستم خود تنظیم کنید یا برای تست سازگاری، vulkan را فعال یا خاموش کنید.
چه چیزی را تست کنیم
تغییرات جزئی در قالبهای بافت پشتیبانی شده و مراحل مورد نیاز برای شبیهسازی ویژگیهای مختلف تلفن همراه در دسکتاپ وجود دارد. هنگام نمایه سازی و بهینه سازی بازی خود، ممکن است ارزش بررسی هر باطن را داشته باشد.
پروفایل بازی کامپیوتر شما
از آنجایی که شبیه ساز از فناوری مشابه مشتری مصرف کننده استفاده می کند، محیط مناسبی برای پروفایل عملکرد است.
Perfetto ابزاری برای تجزیه و تحلیل عملکرد در اندروید است. با استفاده از مراحل زیر می توانید یک Trace Perfetto را جمع آوری و مشاهده کنید:
در یک فرمان PowerShell، یک ردیابی را با استفاده از
adb
شروع کنیدadb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
- پرچم
--time
مدت زمان ردیابی برای جمع آوری را مشخص می کند. در این مثال، ردیابی 10 ثانیه است. - آرگومان های بعد از پرچم
--time
نشان می دهد که کدام رویدادها باید ردیابی شوند. در این مثالgfx
اطلاعات گرافیکی، مدیریت پنجرهwm
و اطلاعات زمانبندی فرآیندsched
را نشان می دهد. اینها پرچم های رایج برای پروفایل بازی ها هستند و یک مرجع کامل در دسترس است. - پرچم
--out
فایل خروجی را مشخص می کند که در مرحله بعد از شبیه ساز بر روی ماشین میزبان خارج می شود.
- پرچم
رد را از میزبان خود بیرون بکشید
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
ردیابی را در Perfetto UI باز کنید
- ui.perfetto.dev را باز کنید.
- Open trace file را از گوشه سمت چپ بالا در قسمت Navigation انتخاب کنید.
- فایل
example.trace
را که در مرحله قبل دانلود کردید در دایرکتوریDownloads/
باز کنید.
ردیابی را در Perfetto UI بررسی کنید. چند نکته:
- هر فرآیند ردیف مخصوص به خود را دارد که میتوان آن را گسترش داد تا تمام رشتههای آن فرآیند را نشان دهد. اگر در حال پروفایل کردن یک بازی هستید، روند آن احتمالاً ردیف اول است.
- با نگه داشتن کنترل و استفاده از چرخ اسکرول می توانید بزرگنمایی و بزرگنمایی کنید.
- هنگام استفاده از رویداد
sched
، یک ردیف برای هر رشته وجود دارد که نشان می دهد وضعیت آن رشته در حال اجرا، قابل اجرا، خواب یا مسدود شدن است. - وقتی رویدادی مانند
gfx
را فعال میکنید، میتوانید تماسهای گرافیکی مختلفی که توسط رشتههای مختلف ایجاد میشود را ببینید. میتوانید تک تک «برشها» را انتخاب کنید تا ببینید چقدر طول کشیده است، یا میتوانید روی یک ردیف بکشید و باعث شود بخش «برشها» در پایین باز شود و به شما نشان دهد که تمام برشها در پنجره زمانی انتخابی شما چقدر طول کشیده است.
پروفایل گرافیکی
امکان انجام برخی پروفایل های گرافیکی با RenderDoc وجود دارد.
- متغیر محیطی
ANDROID_EMU_RENDERDOC
را روی یک رشته غیر خالی تنظیم کنید (مانند"1"
). متغیر محیطی
TMP
روی%USERPROFILE%\AppData\LocalLow
تنظیم کنید. این به Renderdoc میگوید که فایلهای گزارش خود را در جایی که در جعبه ایمنی شبیهساز قابل دسترسی است قرار دهد.اگر از باطن Vulkan استفاده می کنید. Graphics Settings > Vulkan Instance Implicit Layers را انتخاب کنید و مطمئن شوید که VKLAYER_RENDERDOC_Capture علامت زده شده است.
بازیهای Google Play را در شبیهساز برنامهنویس رایانه شخصی اجرا کنید. تا زمانی که پشتیبانی فعال باشد یک پوشش RenderDoc در بالا کشیده می شود.
RenderDoc را قبل یا بعد از راهاندازی بازیهای Google Play در شبیهساز توسعهدهنده رایانه شخصی اجرا کنید.
روی File > Attach to Running Instance کلیک کنید و crosvm را انتخاب کنید.
متغیرهای محیطی را مشخص کنید
برای اینکه Renderdoc کار کند، باید متغیرهای محیطی را در ویندوز اضافه یا تغییر دهید. می توانید متغیرهای محیط را با استفاده از UI، PowerShell یا cmd.exe تغییر دهید.
از رابط کاربری استفاده کنید
- را فشار دهید
Win+R برای باز کردن گفتگوی اجرا -
sysdm.cpl
را تایپ کنید تا پنجره System Properties باز شود. - اگر تب Advanced از قبل فعال نیست، آن را انتخاب کنید.
- روی دکمه Environment Variables کلیک کنید.
از اینجا می توانید بر روی دکمه 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 روی رایانه شخصی با جدیدترین نسخههای اندروید بهروزرسانی شده است. در اینجا چند نکته برای کار با آخرین نسخه اندروید آورده شده است.
ابزارها را به روز نگه دارید
Android Studio نسخه ای از adb را نصب می کند که با شبیه ساز توسعه دهنده سازگار است. با این حال، برخی از موتورهای بازی دارای نسخه قدیمی تر adb هستند. در این صورت، پس از نصب شبیه ساز توسعه دهنده، می توانید نسخه سازگار adb
را در C:\Program Files\Google\Play Games Developer Emulator\current\emulator
پیدا کنید.
اگر یک نسخه از adb
را راه اندازی کنید، نسخه دیگر را خاتمه می دهد. این بدان معناست که اگر موتور بازی شما بهطور خودکار نمونه adb
خود را راهاندازی کند، ممکن است مجبور شوید نسخه adb
را که با شبیهساز توسعهدهنده ارائه میشود، مجدداً راهاندازی کرده و دوباره وصل کنید.
اگر از بسته نرم افزاری Android App استفاده می کنید، باید آخرین نسخه Bundletool را از مخزن GitHub نصب کنید.
Scoped Storage
Android 11 (سطح API 30) یا بالاتر شامل فضای ذخیرهسازی محدوده است که حفاظت بهتری از دادههای برنامه و کاربر در حافظه خارجی فراهم میکند. علاوه بر اینکه بازی خود را با الزامات فضای ذخیرهسازی محدوده سازگار میکنید، باید مراحل بیشتری را برای بارگیری فایلهای گسترش APK (obb) یا دادههای دارایی در بازیهای Google Play در شبیهساز برنامهنویس رایانه شخصی انجام دهید. اگر در دسترسی به فایل های بازی خود با مشکل مواجه شدید، این مراحل را دنبال کنید:
- دایرکتوری ایجاد کنید که برنامه شما بتواند آن را بخواند.
- فایل های توسعه خود را به شبیه ساز فشار دهید.
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 خود با یک بازی sideloaded، باید یک پرس و جو به بسته " com.android.vending
" در فایل AndroidManifest.xml
خود به شرح زیر اضافه کنید:
<manifest>
<queries>
<package android:name="com.android.vending" />
</queries>
</manifest>
نصب بازی خود در مشتری مشتری
تا زمانی که در کاتالوگ خدمات بازیهای Play فهرست نشده باشد، نمیتوانید روی مشتری مصرفکننده نصب کنید. پس از اینکه بازی شما یک نسخه منتشر کرد، می توانید یک مسیر آزمایشی داخلی ایجاد کنید تا به روز رسانی های آینده را قبل از انتشار تأیید کند.
کلاینت پخشکننده از ویژگیهای متمرکز بر توسعهدهنده بازیهای Google Play در شبیهساز برنامهنویس رایانه شخصی پشتیبانی نمیکند. این بهتر است برای QA بازی قبل از انتشار استفاده شود تا تجربه پایان به پایان بازیکن پس از انتشار اولیه آزمایش شود.