بسته بندی یک بازی برای بازی های Google Play در رایانه شخصی

از آنجایی که بازی‌های Google Play روی رایانه شخصی یک محیط اجرای استاندارد اندروید را ارائه می‌کند، هیچ تفاوتی بین بسته‌بندی بازی خود برای تلفن همراه یا رایانه شخصی به غیر از اطمینان از گنجاندن باینری‌های x86 یا x86-64 وجود ندارد. در صورت امکان، باید از همان APK یا App Bundle در رایانه شخصی استفاده کنید که برای ساخت‌های موبایل استفاده می‌کنید.

هنگام استفاده از یک بسته در تلفن همراه و بازی‌های Google Play در رایانه شخصی، بهتر است Google Play Games را در زمان اجرا با تشخیص وجود صفحه کلید، ویژگی‌های خاص رایانه شخصی را فعال کنید:

کاتلین

val hasKeyboard = resources.configuration.keyboard == KEYBOARD_QWERTY

جاوا

boolean hasKeyboard = getResources().getConfiguration().keyboard == KEYBOARD.QWERTY

سی شارپ

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var resources = currentActivity.Call<AndroidJavaObject>("getResources");
var configuration = resources.Call<AndroidJavaObject>("getConfiguration");
var keyboard = configuration.Get<int>("keyboard");
var hasKeyboard == 2; // Configuration.KEYBOARD_QWERTY

یا با بررسی ویژگی سیستم "com.google.android.play.feature.HPE_EXPERIENCE" :

کاتلین

var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

جاوا

PackageManager pm = getPackageManager();
boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

سی شارپ

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");