Étant donné que Google Play Jeux sur PC fournit un environnement d'exécution Android standard, il n'existe aucune différence entre la création d'un package pour votre jeu sur mobile ou sur PC. Vous devez uniquement vous assurer d'inclure des binaires x86 ou x86-64. Dans la mesure du possible, utilisez le même APK ou App Bundle sur PC que pour les builds mobiles.
Lorsque vous utilisez un même package pour les mobiles et Google Play Jeux sur PC, il est préférable d'activer les fonctionnalités spécifiques à Google Play Jeux sur PC au moment de l'exécution en détectant la présence d'un clavier :
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
Vous pouvez également rechercher la fonctionnalité système "com.google.android.play.feature.HPE_EXPERIENCE"
:
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");