Pour pouvoir être inclus sur Google Play Jeux sur PC, votre jeu doit être compatible avec les ordinateurs et optimisé en conséquence. Ces modifications garantissent que votre jeu peut s'exécuter sur un PC et que l'expérience utilisateur est optimisée pour la plate-forme.
De plus, Google Play Jeux sur PC doit remplir certaines conditions en matière d'éléments graphiques, d'entrée sur l'appareil et de jeu multi-appareils. Pour en savoir plus, consultez le guide de démarrage.
Lorsque vous apportez des modifications à votre jeu pour qu'il soit compatible avec les ordinateurs et optimisé pour ce type d'environnement (en dehors de la prise en charge de l'architecture x86-64), vous pouvez le configurer pour qu'il détecte Google Play Jeux sur PC, puis activer ou désactiver les fonctionnalités propres à la plate-forme. Vous pouvez ainsi utiliser le même APK ou app bundle pour vos versions Android pour mobile et PC.
Voici un résumé des exigences et recommandations de cette page :
- Inclure ABI x86-64 (obligatoire)
- Détecter Google Play Jeux au moment de l'exécution (recommandé)
- Gérer l'événement onPause (recommandé)
- Mettre à jour les éléments de l'interface utilisateur (obligatoire)
- Désactiver les boîtes de dialogue d'autorisation d'application Android (obligatoire)
- Désactiver les fonctionnalités et autorisations Android non compatibles (obligatoire)
- Remplacer les WebView par des intents de navigateur (recommandé)
- Désactiver les API des services Google Play non compatibles (obligatoire)
- Activer l'espace de stockage cloisonné (obligatoire)
- Migrer vers Google Analytics 4 (recommandé)
Inclure l'architecture ABI x86-64
Requis par le processus de release
Toutes les bibliothèques incluses dans votre jeu nécessitent des versions compatibles avec l'ABI x86-64 pour garantir des performances et une stabilité optimales sur la plate-forme.
S'il est techniquement impossible pour votre jeu de livrer un exécutable x86 64 bits, vous devez contacter l'équipe d'examinateurs pour obtenir une exception. Votre jeu ne peut pas obtenir la certification complète, sauf exception, mais peut être placé dans le catalogue en tant que jeu "jouable".
Compilation de bibliothèques
Pour assurer une compatibilité optimale avec un processeur x86-64, n'utilisez pas l'ensemble d'instructions Atom lorsque vous compilez vos bibliothèques. Par exemple, lorsque vous utilisez gcc
, optez pour -march=x86-64
au lieu de -march=atom
.
Cibler l'architecture dans Unity
Certaines versions de Unity 2019 et 2020 ne sont pas compatibles avec l'architecture x86-64 sur Android. Assurez-vous d'utiliser Unity 2019.4.31f1, 2020.3.19f1 ou une version ultérieure.
Si votre jeu utilise une version compatible du moteur de jeu Unity, activez les cibles Android x86-64 :
Accédez à Player Settings > Other Settings > Configuration > Scripting Backend (Paramètres du joueur > Autres paramètres > Configuration > Backend de script) et sélectionnez IL2CPP dans le menu déroulant pour activer le backend de script IL2CPP.
Activez les cibles Android x86-64 pour votre version d'Unity :
Unity 2018 et versions antérieures : accédez à Player Settings > Other Settings > Target Architecture (Paramètres du joueur > Autres paramètres > Architecture cible), puis cochez la case x86. Comme Unity 2018 n'est compatible qu'avec les cibles x86, vous ne pourrez pas compiler x86-64. Ce build nécessitera une exception de la part de l'équipe d'examinateurs. Veuillez contacter votre représentant Google pour demander une exception x86.
Version LTS (Long Term Support) Unity 2019 et versions ultérieures : accédez à Player Settings > Other Settings > Target Architectures (Paramètres du joueur > Autres paramètres > Architectures cibles), puis activez x86-64. (Chrome OS).
Détecter Google Play Jeux sur PC
Vous pouvez détecter la plate-forme Google Play Jeux sur PC au moment de l'exécution, ce qui vous permet d'activer ou de désactiver les fonctionnalités spécifiques à la plate-forme dans votre jeu.
Recherchez la fonctionnalité système com.google.android.play.feature.HPE_EXPERIENCE
pour déterminer si votre jeu s'exécute sur la plate-forme Google Play Jeux sur PC :
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");
Gérer les événements de cycle de vie d'Android
Il est important de gérer l'événement onPause
(c++) dans l'environnement Google Play Jeux sur PC. Votre jeu est visible lorsqu'un joueur active la superposition d'émulateur. Si vous n'écoutez pas l'événement onPause
, l'expérience utilisateur risque d'être médiocre.
Mettre à jour l'UI
Certains éléments d'interface utilisateur et gestes ne conviennent pas aux ordinateurs et doivent être mis à jour.
Action obligatoire :
- Remplacez les actions d'interface utilisateur nécessitant deux doigts ou plus (gestes à plusieurs doigts). Par exemple, remplacez le geste de pincement pour zoomer et d'autres gestes à plusieurs doigts par l'entrée correspondante de la souris et du clavier. Pour en savoir plus sur le changement des entrées de périphériques, consultez la section Entrées compatibles.
Recommandations :
- Tout texte visible par l'utilisateur doit indiquer "cliquer" au lieu du terme "appuyer".
- Les listes déroulantes doivent comporter des barres de défilement.
- Les zones dans lesquelles les utilisateurs peuvent faire un panoramique doivent être dotées de barres de défilement ou proposer une autre manière de parcourir rapidement de grandes distances.
- N'affichez pas de clavier cliquable à l'écran pour saisir du texte.
- Toutes les entrées de texte doivent être comprises dans les limites du champ de texte.
- Les clics sur les éléments visibles doivent respecter les conditions suivantes :
- Ils doivent accepter les clics n'importe où dans les limites visibles de l'élément.
- Ils ne doivent accepter aucun clic en dehors de l'élément visible.
- Les boîtes de dialogue doivent afficher un bouton visible permettant de les fermer. N'activez aucun clic en dehors des limites de la boîte de dialogue.
Désactiver la plupart des boîtes de dialogue d'autorisations
À l'exception de l'autorisation d'accès au micro, Google Play Jeux sur PC n'affiche pas de boîte de dialogue d'autorisations. Vous ne devez donc pas essayer de les afficher ni de demander des autorisations au moment de l'exécution. Si vous avez affiché des boîtes de dialogue d'autorisation précédemment, mettez à jour votre jeu afin qu'il ne les affiche plus sur les ordinateurs.
Fonctionnalités et autorisations non compatibles avec Android
Requis par le processus de release
Certaines fonctionnalités matérielles courantes sur les téléphones mobiles et les tablettes ne sont pas disponibles sur PC. Il peut s'agir de fonctionnalités matérielles telles que l'appareil photo ou la position du joueur. Les jeux qui nécessitent des fonctionnalités non disponibles sur les PC ne peuvent pas être téléchargés ni installés sur l'ordinateur du joueur. Les requêtes de fonctionnalités manquantes sur un PC échouent automatiquement.
Pour afficher la liste complète des fonctionnalités disponibles, tapez ce qui suit :
adb shell pm list features
Pour que votre jeu soit compatible avec les ordinateurs, vous devez apporter les modifications suivantes :
Pour marquer les fonctionnalités comme facultatives dans le fichier manifeste de votre application, ajoutez
android:required="false"
à la déclaration<uses-feature>
. Cela ne s'applique qu'aux fonctionnalités déjà déclarées dans le fichier manifeste de votre application.N'essayez pas d'utiliser des fonctionnalités manquantes au moment de l'exécution. Si vous utilisez le même fichier APK pour les canaux pour mobile et pour ordinateur, détectez l'environnement du PC au moment de l'exécution et évitez les chemins de code pertinents.
Ne demandez pas d'autorisations Android non compatibles au moment de l'exécution. Si vous utilisez le même fichier APK pour les canaux pour mobile et pour ordinateur, détectez l'environnement du PC au moment de l'exécution et évitez les chemins de code pertinents. Vous n'avez pas besoin de mettre à jour le fichier manifeste.
Pour en savoir plus sur la compatibilité des fichiers manifestes d'application, consultez le guide sur la compatibilité des fichiers manifestes d'application Chromebook.
Exigences liées aux tests fonctionnels
Supprimez les fonctionnalités matérielles suivantes avant d'envoyer la première version de build à la Google Play Console :
android.hardware.wifi
android.hardware.bluetooth
android.hardware.camera
android.hardware.location
Certaines de ces fonctionnalités peuvent être annoncées comme prises en charge lors de l'exécution de pm list features
pour des raisons de compatibilité, mais elles ne sont pas entièrement implémentées. Pour découvrir comment supprimer la fonctionnalité android.hardware.wifi
, consultez la section Surveiller l'état de la connectivité et la mesure des connexions. Pour une liste complète des fonctionnalités non compatibles, consultez le guide sur la compatibilité des fichiers manifestes d'application pour les Chromebooks.
Exigences liées aux tests de qualité
Les fonctionnalités matérielles ci-dessous, qui sont couramment utilisées, ne sont pas compatibles avec les ordinateurs. Vous devez donc les supprimer avant d'envoyer la version finale à la Google Play Console :
android.hardware.audio.pro
android.hardware.bluetooth
android.hardware.camera
android.hardware.consumerir
android.hardware.location
android.hardware.nfc
android.hardware.sensor.light
android.hardware.sensor.accelerometer
android.hardware.sensor.barometer
android.hardware.sensor.compass
android.hardware.sensor.gyroscope
android.hardware.sensor.proximity
android.hardware.telephony
android.hardware.touchscreen
android.hardware.usb.accessory
android.hardware.usb.host
android.hardware.wifi
android.software.midi
Autorisations non compatibles
Les autorisations ci-dessous, qui sont couramment utilisées, ne sont pas compatibles avec les ordinateurs. Vous devez donc les désactiver dans votre jeu pour Google Play Jeux sur PC :
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_WIFI_STATE
android.permission.BLUETOOTH
android.permission.CAMERA
android.permission.FOREGROUND_SERVICE
android.permission.GET_ACCOUNTS
android.permission.INSTALL_PACKAGES
android.permission.READ_CONTACTS
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SYSTEM_ALERT_WINDOW
android.permission.USE_CREDENTIALS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_SETTINGS
com.google.android.gms.permission.ACTIVITY_RECOGNITION
Sites Web externes et éléments WebView
Un intent de navigateur se charge dans le navigateur Web natif d'un ordinateur au lieu d'un navigateur dans l'environnement Google Play Jeux sur PC. C'est une expérience idéale pour les joueurs dans la plupart des cas.
Pour faciliter le portage, Google Play Jeux sur PC prend en charge l'élément WebView. Comme il s'ouvre dans l'environnement Google Play Jeux sur PC, il n'offre pas de navigateur pour ordinateur classique. Si vous utilisiez auparavant WebView
pour partager vos conditions d'utilisation, vos règles de confidentialité ou d'autres contenus similaires, nous vous recommandons d'appeler un intent de navigateur.
Désactiver les API des services Google Play non compatibles
Requis par le processus de release
Google Play Jeux sur PC propose sa propre variante des services Google Play, qui ne contient qu'un sous-ensemble des API des services Google Play. Vérifiez que le fonctionnement de votre application ne dépend pas des modules omis ou non compatibles sur les ordinateurs. Notez que certains modules peuvent être disponibles, mais que leurs fonctionnalités ne sont pas toujours compatibles en permanence. Par exemple, Firebase Cloud Messaging ne fonctionne pas lorsque Google Play Jeux sur PC est fermé.
Modules compatibles
Ces modules sont actuellement disponibles et compatibles avec Google Play Jeux sur PC. D'autres fonctionnalités seront également prises en charge à l'avenir :
- Google Sign-In (n'inclut pas le transfert de compte, Smart Lock, la validation par SMS, le calcul de la complexité des mots de passe).
- Cronet
- Services de jeux Google Play
- Tasks
- Vision
- Google Pay
Prise en charge limitée
Les modules suivants sont partiellement fonctionnels. Nous faisons tout notre possible pour les prendre en charge sur Google Play Jeux sur PC, mais nous ne pouvons pas garantir leur bon fonctionnement.
- Google Cloud Messaging (obsolète, utilisez Firebase Cloud Messaging)
- Firebase Authentication (l'authentification par numéro de téléphone ne fonctionne pas)
- Firebase Cloud Messaging
- Bibliothèques communes Firebase
- Firebase ML
- Firebase Remote Config
- Firebase Analytics
Modules non compatibles
Les modules ci-dessous ne sont pas compatibles avec Google Play Jeux sur PC, mais ne provoquent pas de problèmes dans Google Play Jeux sur PC en cas d'échec :
- Google Analytics (obsolète, utilisez Firebase Analytics)
- Google Cast
- API Awareness
- Drive (obsolète, sera bientôt supprimé)
- FIDO
- Firebase Realtime Database
- Firestore
- Firebase A/B Testing
- Google Fit
- API Address
- API Instant Apps
- API Location
- SDK Google Maps
- À proximité
- Panorama
- Places
- Google+
- SafetyNet (obsolète, veuillez remplir le formulaire de participation pour demander à recevoir la prochaine API Play Integrity)
- Google Tag Manager
- Wear OS
Modules à éviter
Requis par le processus de release
Vous ne devez pas utiliser les modules suivants sur ordinateur, car ils peuvent entraîner un comportement inattendu dans Google Play Jeux sur PC.
Activer l'espace de stockage cloisonné
Requis par le processus de release
Cette section s'applique si votre jeu lit ou écrit des données sur un espace de stockage externe. Le cloisonnement de l'espace de stockage doit être utilisé comme méthode alternative pour lire et écrire des données dans l'espace de stockage. Il vous évite d'avoir à demander au joueur les autorisations sensibles suivantes :
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Pour en savoir plus sur l'espace de stockage cloisonné, consultez les références suivantes :
- Activer l'espace de stockage cloisonné
- Bonnes pratiques de gestion des fichiers autres que multimédias
Données analytiques
Les anciens produits Google Analytics ne fonctionnent pas dans Google Play Jeux sur PC. Si vos jeux sont concernés, vous devez migrer vers Google Analytics 4.
Cela ne devrait affecter votre jeu que si vous utilisez actuellement Google Analytics 360. Si vous utilisez le SDK Firebase pour suivre les événements d'analyse dans votre jeu et que votre jeu apparaît en tant que propriété dans la console Google Analytics, vous n'avez rien d'autre à faire.