بسته‌بندی بازی برای «بازی‌های Google Play در رایانه»

ازآنجایی‌که «بازی‌های Google Play در رایانه» محیط زمان اجرای Android استانداردی را ارائه می‌دهد، هیچ تفاوتی بین بسته‌بندی بازی برای تلفن همراه یا رایانه وجود ندارد، به‌جز اینکه باید مطمئن شوید که دودویی‌های ‎×۸۶ یا ‎×۸۶-۶۴ را اضافه کرده‌اید. درصورت امکان، باید از همان APK یا App Bundle که برای نسخه‌های تلفن همراه استفاده می‌کنید در رایانه هم استفاده کنید.

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

کاتلین

val hasKeyboard = resources.configuration.keyboard == KEYBOARD_QWERTY

جاوا

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

C#‎

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

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