PC Üzerinde Google Play Games için oyun paketi

PC Üzerinde Google Play Games, standart bir Android çalışma zamanı ortamı sağladığından oyununuzu mobil veya PC için paketleme arasında hiçbir fark yoktur. Bunun dışında, x86 veya x86-64 ikili değerlerini eklemeniz gerekir. Mümkün olduğunda, mobil derlemelerde kullandığınız APK'yı veya App Bundle'ı PC'de kullanmalısınız.

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

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

Alternatif olarak, "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");