Créer un package de jeu pour Google Play Jeux sur PC

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