Ce document répond aux questions fréquentes concernant les SDK et la publication pour Google Play Jeux sur PC.
Monétisation
Puis-je utiliser le parcours d'achat sans serveur backend ?
Du point de vue de la sécurité, Google recommande d'utiliser un serveur backend.
Pour en savoir plus, consultez la section Traiter sans serveur backend.
Les systèmes de paiement existants basés sur une API sont-ils autorisés après l'intégration du SDK Google Play Jeux sur PC ?
Tous les paiements doivent être gérés par le SDK Google Play Jeux sur PC à l'aide de Google Play Billing. Vous ne pouvez pas utiliser votre mode de paiement existant basé sur une API dans le même jeu.
Comment consommer des achats en mode développeur ?
Consommez l'achat en mode développeur dans les trois minutes, sinon il sera remboursé.
Les abonnements ou paiements récurrents sont-ils pris en charge ?
Pas dans un avenir immédiat, mais n'hésitez pas à nous fournir des cas d'utilisation spécifiques pour que nous les ajoutions à notre feuille de route future.
Qu'est-ce que l'erreur de facturation dans mes appels d'achat ?
BillingError est la réponse du résultat de paiement. LaunchPurchaseFlow est renvoyé immédiatement sans blocage, mais vous devez écouter le rappel pour savoir quand il est terminé et capturer le résultat.
Comment utiliser la validation des achats côté client ?
Nous vous recommandons d'utiliser l'achat côté serveur et son processus de validation. Pour traiter les achats depuis votre application cliente, votre jeu doit figurer sur une liste d'autorisation. Veuillez contacter votre partenaire Google si votre jeu nécessite un accès. Pour en savoir plus, consultez la section Traiter sans serveur backend.
Quelles sont les limites d'API pour interroger les détails d'un produit ?
Le nombre maximal de produits pouvant être interrogés en un seul appel à l'API
QueryProductDetailsest de 50. Si vous dépassez cette limite, vous devez diviser la requête en plusieurs appels.Quels paramètres sont requis lors de l'appel de Query Purchases ou de Launch Purchase Flow dans le client de facturation ?
La fonction accepte
QueryPurchasesContinuation, qui est un rappel de fonction avec la signaturestd::function<void(QueryPurchasesResult)>. Le rappel vous transmet le résultat avec tous lesProductPurchaseDetails. Ces informations sont disponibles dans les fichiers d'en-tête du SDK dans le fichierincludes/billing/models.h.Le
launch_purchase_flow_resultobtenu comporte les fonctionsok()etcode(). La fonctionok()indique si le flux a réussi. La fonctioncode()renvoie l'énumérationBillingError(includes/billing/enums.h), qui comporte 10 cas d'erreur possibles, tels que l'annulation par l'utilisateur ou une erreur réseau.Une commande personnalisée est-elle prise en charge pour Launch Purchase Flow dans le client de facturation ?
Dans la conception actuelle du SDK, il n'existe aucun moyen de transmettre votre propre charge utile. Toutefois, vous pouvez fournir n'importe quelle combinaison de
obfuscated_account_idetobfuscated_profile_id. Vous pouvez n'en fournir aucune, une seule ou les deux.Le champ
offer_tokenest obligatoire et spécifie l'offre d'achat que l'utilisateur tente d'acheter dans le processus de paiement. Pour le moment, chaque SKU de Google Play ne comporte qu'une seule offre (par exemple, acheter un article pour 10 $). À l'avenir, l'équipe de facturation Play prendra en charge plusieurs offres.Pour garantir l'association des métadonnées en cas d'interruption du parcours d'achat, stockez-les sur votre serveur backend avant de lancer la boîte de dialogue d'achat et associez-les à l'ID de compte de l'utilisateur, au SKU acheté et à l'horodatage actuel. Pour en savoir plus, consultez la section Associer un achat à des données internes.
Une erreur de délai d'attente est-elle prévue si un utilisateur ferme le navigateur sans payer lors d'un parcours d'achat ?
Oui, il s'agit d'un problème connu et d'un comportement prévu dans le flux basé sur le navigateur. Nous travaillons activement sur une fonctionnalité d'achat fluide (basée sur WebView) qui maintiendra le flux de paiement dans le jeu et résoudra ce problème de délai d'attente.
Quels sont les prérequis pour passer de la facturation Google avec OAuth à la facturation Google native avec DLL ?
Les jeux peuvent continuer à utiliser la connexion OAuth avec Google pour gérer le compte connecté, mais Google vous recommande d'arrêter d'utiliser les anciennes API de facturation REST. Le passage des API de facturation REST (avec connexion OAuth2) au flux du SDK peut être une opération signalée par une fonctionnalité. Les deux peuvent donc coexister pendant un certain temps pendant que le jeu bascule.
L'appel d'API Launch Purchase Flow est-il traité via un navigateur Web ?
Oui, pour le moment, il est traité via un navigateur. Google prévoit de finaliser l'ensemble du flux sans quitter le jeu, ce qui sera possible grâce au SDK.
Un utilisateur doit-il se connecter séparément pour chaque jeu afin d'effectuer un achat ?
Le compte de premier plan dans Google Play Jeux est utilisé pour chaque session de jeu. Vous n'avez donc pas besoin de vous reconnecter. Le compte que vous utilisez dans Google Play Jeux au début de la session de jeu est celui à partir duquel les appels d'API sont émis. Lorsque vous lancez un parcours d'achat dans le navigateur, vous devez être connecté et utiliser le même compte que celui de la session de jeu. Si l'utilisateur est connecté avec un autre compte, le flux Web l'invite à changer de compte.
Un jeu peut-il prendre en charge à la fois le SDK natif et les anciens systèmes de paiement ?
Le système de paiement fonctionne selon un modèle à double flux en fonction de la version binaire du jeu. Les utilisateurs des anciennes versions continuent d'utiliser le flux existant, tandis que ceux des nouvelles versions passent aux paiements basés sur le SDK. Les utilisateurs des deux flux de paiement coexistent pendant la période de transition.
Windows App Bundle
Lorsque j'envoie un WAB à l'aide d'un lanceur tiers, le package de jeu est-il requis pour examen ?
Vous pouvez simplement envoyer votre programme d'installation sans avoir à envoyer l'intégralité de votre package de jeu. L'examinateur pourra télécharger votre package de jeu à l'aide du programme d'installation.
La taille des fichiers WAB est-elle limitée ?
Vous pouvez importer un fichier WAB d'une taille maximale de 10 Go.
Pourquoi mon jeu ne s'installe-t-il pas ou n'apparaît-il pas après l'importation de mon WAB ?
Si votre jeu est intégré sans version PC préexistante (un "WAB de première utilisation"), le système peut le placer automatiquement dans un état de mise en attente de publication gérée. Cela se produit, car il n'existe aucune référence à mettre à jour. Pour publier complètement le WAB et rendre le jeu disponible à l'installation, vous devez accéder à la Google Play Console et exécuter manuellement l' action de publication requise (par exemple, cliquer sur "Publier les modifications").
Comment importer le WAB pour les tests internes ?
Partagez les comptes de la liste d'autorisation avec Google afin que Google puisse les activer pour les tests internes. Une fois que Google dispose de la liste, il s'assure qu'ils sont inclus dans le processus d'intégration.
Où le package WAB doit-il être importé ?
Vous pouvez importer le package WAB à l'emplacement mentionné dans la première question. Toutefois, vous ne pouvez pas le publier manuellement. Vous devez fournir au personnel backend de Google une heure UTC précise (à l'heure près). Google configure ensuite le calendrier de publication et s'assure qu'il est publié à temps.
SDK PC
Quelles sont les différences entre l'ancienne API et Google Play Jeux sur
PC ?
- Notre ancienne API n'offre que des fonctionnalités de facturation.
- Le SDK PC est compatible avec le service Google Desktop (GDS) et toutes les fonctionnalités PC.
- Aucune connexion Google basée sur un navigateur n'est requise avec le SDK PC.
Existe-t-il un autre moyen d'initialiser le SDK en lançant le jeu directement à l'aide du lanceur de jeu, sans passer par Google Play Jeux sur PC ?
Votre jeu doit être lancé via le client Google Play Jeux sur PC. Pour en savoir plus, consultez ce document pour les développeurs.
Le SDK PC natif est-il compatible avec les caractères multioctets dans le fichier de certification PEM ?
Oui, le SDK est compatible avec les caractères multioctets pour la certification.
Comment le SDK gère-t-il la connexion à un compte Google pour plusieurs instances ou comptes ?
Chaque lancement de jeu dans Google Play Games est traité comme une "session de jeu", et chaque "session de jeu" peut être associée à un compte. Ils peuvent être différents. Ainsi, si vous lancez le jeu avec le compte A, puis passez au compte B et relancez les deux, ils peuvent s'exécuter en même temps.
L'intégration de Play Install Referrer fonctionne-t-elle avec le SDK PC ?
Le SDK PC (25.5.409.0 et versions ultérieures) est compatible avec l'API Play Install Referrer. Pour en savoir plus, consultez la section API Play Install Referrer.
Lanceur d'applications
Si un joueur utilise un lanceur tiers au lieu du client Google Play, son compte Services de jeux Play sera-t-il synchronisé automatiquement ?
Pour que les fonctions du SDK fonctionnent, le jeu doit être lancé directement via le client Google Play Jeux. Si un autre processus, tel qu'un programme d'installation ou une application de lancement, lance le jeu, ce processus doit lui-même être lancé à partir du client Google Play Jeux. Le jeu doit transmettre tous les paramètres reçus du client au processus client.
Comment gérer l'initialisation si Google Play Games lance un lanceur de jeu tiers ?
Vous n'êtes pas obligé d'intégrer le SDK directement dans votre lanceur. Toutefois, vous devez transmettre tous les arguments de ligne de commande reçus par le lanceur du client Google Play Games directement au processus enfant généré (l'exécutable du jeu). Si l'initialisation échoue (par exemple, en renvoyant
kActionRequiredShutdownClientProcess), tous les processus, y compris le lanceur, doivent être arrêtés afin que Google Play Games puisse tenter de récupérer et de relancer le jeu automatiquement. Pour en savoir plus, consultez l'étape 5 du guide de configuration.Comment gérer les mises à jour et la maintenance de mon jeu et de mon lanceur une fois qu'ils sont en production ?
Les mises à jour et la maintenance ultérieures doivent être implémentées via votre lanceur. Le client Google Play Jeux n'est pas compatible avec les fonctions de mise à jour. Le lanceur doit donc être en mesure de mettre à jour à la fois le jeu et le lanceur lui-même.
Comment le programme d'installation reçoit-il le jeton de session GPG pour la lecture automatique ?
GPG transmet le jeton de session à l'aide de l'argument de ligne de commande
--g_session_token=<token>au programme d'installation. Pour activer cette fonctionnalité, vous devez définiracceptsCommandLineArguments="true"dans votreplay_publishing_config.xml.Le programme d'installation est chargé d'extraire ce jeton et de l'utiliser pour lancer le jeu. Si la génération du jeton échoue, GPG lance le programme d'installation sans le jeton (solution de repli).
Initialisation
Lorsque je démarre un jeu à l'aide de l'application Google Play Games, mes informations de compte Google sont-elles synchronisées ?
Après avoir lancé le jeu via le client Google Play Games, le compte est automatiquement synchronisé et vous n'avez plus besoin de vous connecter via le processus de connexion Google.
Est-il possible de réutiliser plusieurs fois les paramètres d'initialisation ?
C'est possible tant que le client Google Play Jeux est en cours d'exécution et que les informations de connexion sont valides. Toutefois, dans des scénarios comme celui décrit dans le guide, tous les processus lancés par le jeu doivent être arrêtés lorsque l'utilisateur ferme le jeu ou que le jeu quitte en raison d'un échec d'initialisation du SDK, tel que
kActionRequiredShutdownClientProcess.Existe-t-il un moyen de créer un raccourci pour ouvrir le jeu directement ?
Vous pouvez utiliser l'URI suivant pour ouvrir le jeu directement :
googleplaygames://launch/?pid=2&id=com.company.gamenameL'URI permet de détecter si le client Google Play Jeux sur PC est ouvert. Si le client n'est pas ouvert, il s'ouvre avant l'exécution du jeu ou du lanceur. Vous devez gérer le jeu ou le lanceur pour éviter l'exécution de plusieurs instances.
Existe-t-il un moyen de vérifier l'installation de Google Play Jeux sur PC sans utiliser le SDK ?
Vous pouvez vérifier l'état d'installation de Google Play Jeux sur PC sans intégrer le SDK en vérifiant la présence de la clé de registre Windows suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games ServicesLa présence de cette clé indique que les services Google Play Jeux (nécessaires pour exécuter des jeux sur PC) sont installés sur la machine. Si la clé est manquante, vous devez rediriger l'utilisateur vers la page d'installation de Google Play Jeux sur PC pour télécharger et installer le client.
Tests
Existe-t-il des environnements de test ouvert ou fermé semblables à ceux des appareils mobiles ?
Bien qu'un bac à sable de bout en bout dédié ne soit pas disponible, nous reconnaissons la nécessité d'un environnement de test semblable à celui de production pour les développeurs. Une solution plus robuste sera bientôt proposée.
Comment ajouter de nouveaux testeurs ?
Votre contact Google crée un groupe de discussion par e-mail pour chaque projet PC, dans lequel les comptes Google des testeurs doivent être ajoutés. Seuls les membres de ce groupe de discussion par e-mail sont autorisés à télécharger les packages de test dans Google Play Jeux.
Divers
Puis-je utiliser un VPN ?
Pour les développeurs qui doivent tester leur jeu dans des régions où Google Play Jeux sur PC n'est pas pris en charge, nous vous recommandons d'utiliser un VPN pour obtenir une adresse IP à partir d'une région prise en charge.
Assurez-vous d'activer le mode TUN sur le VPN. Pour savoir comment activer le mode TUN et configurer le pare-feu, consultez le manuel d'utilisation du fournisseur de VPN.
Une fois le mode TUN activé, installez Google Play Jeux sur PC et l'émulateur à des fins de test.
Comment commencer à développer pour Google Play Jeux sur PC dans Unity ou l'éditeur UE ?
- Activez le mode développeur et procédez aux tests.
- Ajoutez les fichiers
manifest.xmlet.dll. Pour en savoir plus, consultez le document pour les développeurs. - Enregistrez un GUID de partenaire à accès anticipé à des fins de test.
Comment utiliser correctement les clés de registre ?
Vous devez créer des clés de registre en fonction de la ruche racine. Vous pouvez définir la ruche racine sur
HKEY_LOCAL_MACHINEouHKEY_CURRENT_USER, selon votre objectif et la nature des données. La rucheHKEY_LOCAL_MACHINEest utilisée comme exemple dans les consignes.Quelles sont les exigences pour l'examen des packages PC par Google ?
Les packages PC sont soumis à une analyse des logiciels malveillants, après quoi les examinateurs ne testent que l'installation du jeu, le démarrage réussi et les processus de désinstallation.
Est-il nécessaire d'intégrer toutes les API ?
Les autres API ne sont pas obligatoires, mais elles offrent des avantages supplémentaires.
google::play::billingest requis pour les achats via une application et la vente de contenus numériques.google::play::install_referrerest requis pour suivre les données de référence afin de vous aider à comprendre quelles sources de trafic envoient le plus d'utilisateurs pour télécharger votre application.google::play::games::integrityest requis pour protéger votre application contre les acteurs malveillants en détectant les appareils potentiellement risqués et les émulateurs inconnus.Pourquoi certains processus de jeu sont-ils arrêtés lorsque le client Google Play Jeux est fermé, alors que d'autres ne le sont pas ?
Google ne contrôle pas les sous-processus ni les processus du jeu en cours d'exécution. Le comportement varie selon que le jeu est un jeu Android émulé ou un jeu PC natif. Les jeux émulés sont installés dans leur propre environnement. Leur comportement dépend donc en grande partie de l'initialisation et de l'arrêt de l'émulateur.
Dois-je utiliser la fonctionnalité de désinstallation de Google Play Jeux ou un programme de désinstallation personnalisé ?
Google vous recommande d'utiliser notre fonctionnalité de désinstallation de Google Play Games.
Aide supplémentaire
Si vous avez besoin d'aide supplémentaire qui n'est pas abordée dans cette FAQ, veuillez contacter google-play-games-pc@google.com.