تبلتها، دستگاههای تاشو، اندروید اتو، خودروهای دارای سیستم عامل اندروید اتوموتیو، دستگاههای کروماواس و رایانههای شخصی دارای الزامات کیفی پایه زیر هستند:
| مورد نیاز | تبلتها، تاشوها | اندروید اتو | سیستم عامل اندروید مخصوص خودرو | کروم او اس | بازیهای گوگل پلی روی کامپیوتر |
|---|---|---|---|---|---|
| x86-64 | لازم نیست | لازم نیست | توصیه شده | توصیه شده | مورد نیاز |
| پشتیبانی از تغییر اندازه، اندازههای مختلف پنجره و نسبتهای ابعاد | پشتیبانی از تغییر اندازه توصیه میشود | مورد نیاز | پشتیبانی از حالت عمودی و افقی مورد نیاز است | پشتیبانی از تغییر اندازه توصیه میشود | از هر یک یا همه نسبتهای ابعاد زیر پشتیبانی کنید: ۱۶:۹، ۱۶:۱۰، ۳:۲، ۲۱:۹ یا نسبت ابعاد عمودی ۹:۱۶ |
| حفظ وضعیت بازی بدون راهاندازی مجدد در هنگام تغییر پیکربندی (برای مثال، تغییر اندازه، چرخش، یا تا کردن یا باز کردن) | مورد نیاز پشتیبانی از حالتهای تاشدنی توصیه میشود | مورد نیاز | مورد نیاز | موارد ضروری: تغییر اندازه، چرخش، تغییر صفحه کلید | ناموجود |
| ویژگیها و مجوزهای پشتیبانینشده را حذف کنید | توصیه شده به طور خاص، برای دسترسی حداکثری به دستگاه تبلت، موارد زیر را لازم ندارید:
| ناموجود | مورد نیاز | مورد نیاز | مورد نیاز |
| کنترلها، جلوههای بصری و عملکرد بازی از قابلیت بازی کم نمیکنند (برای مثال، تار یا ناخوانا نیستند، تمام رابط کاربری قابل استفاده است) | مورد نیاز | مورد نیاز | مورد نیاز | مورد نیاز | مورد نیاز |
| پشتیبانی از ماوس و کیبورد | توصیه شده | اختیاری | اختیاری | اگر بازی با ورودی تک لمسی قابل اجرا نباشد، الزامی است | اگر بازی با ورودی تک لمسی قابل اجرا نباشد، الزامی است |
| پشتیبانی از دسته بازی | توصیه شده | توصیه شده | توصیه شده | توصیه شده | توصیه شده |
| گرافیک با وضوح بالا | توصیه شده | توصیه شده | توصیه شده | توصیه شده | توصیه شده |
| ورودی SDK | ناموجود | ناموجود | ناموجود | ناموجود | اگر بازی برای اجرا به کیبورد نیاز دارد، الزامی است |
| PGS نسخه ۲ | لازم نیست | لازم نیست | توصیه شده | لازم نیست | مورد نیاز |
شامل معماری ABI x86-64
نسخههای ABI سازگار با x86-64 را به تمام کتابخانههای موجود در بازی خود اضافه کنید تا بهترین عملکرد و پایداری را در فرم فاکتورهایی مانند خودروهای دارای سیستم عامل Android Automotive، دستگاههای ChromeOS و بازیهای Google Play در رایانه شخصی تضمین کنید.
گوگل با موتور بازی و ارائه دهندگان کتابخانه شخص ثالث همکاری کرده است تا از پشتیبانی دستگاه اطمینان حاصل کند. شما باید بتوانید نسخه x86_64 بازی خود را با حداقل کار پیاده سازی کنید.
با Android App Bundles، افزایش حجم فایل .so فقط بر حجم آپلود در کنسول Play تأثیر میگذارد. Play Store ABI لازم را به هر دستگاه ارائه میدهد، بنابراین حجم دانلود در دستگاههای هدف بدون تغییر باقی میماند.
ممیزی مانیفست اندروید برای اطمینان از سازگاری با فرم فاکتور
برخی از ویژگیهای سختافزاری رایج تلفنهای همراه و تبلتها، مانند دوربین یا موقعیت مکانی، در سایر فرم فاکتورها در دسترس نیستند. بازیهایی که الزامات ویژگی خاصی دارند، نمیتوانند روی دستگاههایی که فاقد این ویژگیها هستند، دانلود و نصب شوند.
شما میتوانید لیست کاملی از ویژگیهای موجود را با دستور ADB زیر مشاهده کنید:
adb shell pm list features
برای اینکه بازی شما با بیشترین تعداد دستگاه ممکن سازگار باشد، این بایدها و نبایدها را دنبال کنید:
- با اضافه کردن
android:required="false"به تعریف<uses-feature>در مانیفست خود، ویژگیها را به عنوان اختیاری علامتگذاری کنید . این فقط برای ویژگیهایی که قبلاً در مانیفست شما تعریف شدهاند، اعمال میشود. مطمئن شوید که کد شما فرض نمیکند که این ویژگی وجود دارد. - از الزامات ضمنی ویژگیهایی که ممکن است بازی شما داشته باشد، آگاه باشید .
- سعی نکنید از ویژگیهای از دست رفته در زمان اجرا استفاده کنید.
- مجوزهای پشتیبانی نشده اندروید را در زمان اجرا درخواست نکنید .
- ویژگیهای موجود را در زمان اجرا شناسایی کنید و از مسیرهای کد مختص به فرم فاکتور خودداری کنید.
برای اطلاعات بیشتر در مورد سازگاری مانیفست، به موارد زیر مراجعه کنید:
- سیستم عامل اندروید اتوموبیل: فایل مانیفست برنامه خود را پیکربندی کنید
- ChromeOS: سازگاری آشکار برنامه برای Chromebooks
- بازیهای گوگل پلی روی کامپیوتر: سازگاری با کامپیوتر و بهینهسازی برای بازیهای گوگل پلی روی کامپیوتر
یک چالش رایج این است که بسیاری از بازیها فقط برای بررسی اینکه آیا بازیکن در یک شبکه محدود (metered network) قرار دارد یا خیر android.hardware.wifi درخواست میکنند، اما میتوانند بدون درخواست مجوزهای اضافی از API ConnectivityManager استفاده کنند (به Monitor connection status and connection metering مراجعه کنید).
از کنسول توسعهدهندگان گوگل پلی برای کمک به توزیع استفاده کنید
شما میتوانید از کنسول گوگل پلی برای فیلتر کردن معیارها بر اساس فرم فاکتور، بررسی سازگاری دستگاه در کاتالوگ دستگاه و مدیریت مسیرهای انتشار فرم فاکتور استفاده کنید.
فیلتر فاکتور فرم
پشتیبانی از کنسول بازی از فاکتور فرم به عنوان فیلتر در مکانهای زیر استفاده میکند:
- موارد ضروری اندروید (به جز سیستم عامل اندروید اتوموبیل)
- دسترسی و دستگاهها
- آمار
- رتبهبندی و بررسیها
برای مثال، میتوانید «Chromebook» را در Android Vitals فیلتر کنید تا میزان خرابی و ANR های خود را در تمام دستگاههای ChromeOS پیدا کنید. سپس بازی خود را با یک هدف مشخص بهینه کنید.
کاتالوگ دستگاه
کاتالوگ دستگاهها ابزاری مفید برای یافتن دستگاههای سازگار و دستگاههای پشتیبانینشده برای بازی شماست. از فیلتر فرم فاکتور برای یافتن دستگاههای پشتیبانینشده و دلیل آن استفاده کنید. پس از رفتن به صفحه جزئیات دستگاه، روی نمایش بیشتر کلیک کنید تا دلایل دقیق عدم پشتیبانی بازیهای شما در دستگاههای خاص، به عنوان مثال، بررسی شود:
- ABI پشتیبانی نشده
- ویژگیها و مجوزهای پشتیبانی نشده
- APIهای گرافیکی پشتیبانی نشده
رفع این الزامات به بازیکنان روی آن دستگاهها این امکان را میدهد که بازی شما را در فروشگاه گوگل پلی پیدا کنند.
آهنگهای فاکتور فرم
شما میتوانید تنظیمات فرم فاکتور خود را از طریق تنظیمات > تنظیمات پیشرفته > فرم فاکتورها در کنسول Play مدیریت کنید. موبایل، تبلت، دستگاههای تاشو و ChromeOS به آهنگهای پیشفرض شما محدود میشوند. مدیریت انتشار شما همیشه هنگام استفاده از یک نسخه واحد برای ارائه همه فرم فاکتورها آسانتر است.
شما میتوانید یک مسیر انتشار اختصاصی برای مدیریت انتشار بازیهای گوگل پلی روی کامپیوتر (اگر در برنامه بتا هستید)، سیستم عامل اندروید اتوموتیو یا اندروید تیوی ایجاد کنید، اگر به یک ساختار جداگانه برای مدیریت ویژگیها نیاز دارید. وقتی از مسیرهای جداگانه برای مدیریت انتشار فرم فاکتورها استفاده میکنید، از طریق مسیرهای تولید و آزمایش به فرم فاکتورهای مختلف دسترسی خواهید داشت.
استفاده از بستههای نرمافزاری اندروید برای مدیریت ویژگیهای مختلف
بسته نرمافزاری اندروید (Android App Bundle) یک قالب انتشار است که شامل تمام کدها و منابع کامپایل شده برنامه شما میشود و تولید APK و ثبت در گوگل پلی را به تعویق میاندازد.
پشتیبانی از فرمفکتورهای مختلف اغلب به ABIها، داراییها، کتابخانهها یا مسیرهای کد خاص برای فرمفکتورهای مختلف نیاز دارد. میتوانید از Play Feature Delivery بهره ببرید که به شما امکان میدهد ماژولهای ویژگی را به پروژه خود اضافه کنید. این ماژولها حاوی ویژگیها و منابعی هستند که فقط بر اساس شرایطی که شما مشخص میکنید در برنامه شما گنجانده میشوند یا بعداً در زمان اجرا با استفاده از کتابخانههای Play Core برای دانلود در دسترس هستند.
همچنین میتوانید از Play Asset Delivery ، راهکار گوگل پلی برای تحویل حجم زیادی از داراییهای بازی با روشهای تحویل انعطافپذیر و عملکرد بالا، استفاده کنید.