PC Üzerinde Google Play Games için oyun paketi

PC Üzerinde Google Play Games standart bir Android çalışma ortamı sağladığından, oyununuzu mobil veya PC için paketlemede x86 veya x86-64 ikililerini eklemeniz dışında bir fark yoktur. Mümkün olduğunda PC'de mobil derlemelerde kullandığınız APK veya App Bundle'ı kullanmanız gerekir.

Mobil cihazlarda ve PC Üzerinde Google Play Games'de tek bir paket kullanırken, PC Üzerinde Google Play Games'e özgü özellikleri klavyenin varlığını algılayarak çalışma zamanında etkinleştirmek en iyisidir:

Kotlin

val hasKeyboard = resources.configuration.keyboard == KEYBOARD_QWERTY

Java

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

Veya "com.google.android.play.feature.HPE_EXPERIENCE" sistem özelliğini kontrol ederek:

Kotlin

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

Java

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