Intégrer le SDK Google Play Jeux pour PC à Unity

projet, couvrant les étapes du téléchargement du SDK à l'initialisation et à la configuration de la compilation. keywords_public: Google Play Jeux pour PC, Unity, intégration du SDK, PC natif, développement de jeux, IL2CPP, fichier manifeste, SDK Unity Play Jeux pour PC

Ce guide fournit des instructions détaillées pour intégrer le SDK Google Play Jeux pour PC à votre projet Unity.

Étape 1 : Téléchargez le SDK

Téléchargez la dernière version du package Unity à l'aide du lien de téléchargement.

Télécharger le SDK Unity Play Jeux sur PC

Étape 2 : Importer le package

Le SDK est distribué sous la forme d'un fichier tar compatible avec le gestionnaire de packages Unity (UPM). Pour en savoir plus, consultez Installer un package UPM à partir d'un fichier tar local.

Étape 3 : Configurez les paramètres de compilation

Pour vérifier que les bibliothèques natives se chargent correctement, vous devez configurer votre projet pour qu'il utilise le backend de script IL2CPP et cible la bonne architecture.

  1. Créez un profil de compilation avec Windows comme plate-forme.

  2. Sélectionnez les paramètres de la plate-forme en tant que Windows. Pour l'architecture, utilisez les options suivantes :

    • Intel 64 bits (recommandé)
    • Intel 32 bits

    Remarque : La plate-forme Google Play Games sur PC s'exécute dans un environnement 64 bits. Vous pouvez compiler votre jeu en 32 bits (x86) ou en 64 bits (x64).

  3. Définissez Scripting Backend (Backend de script) sur IL2CPP. Pour en savoir plus, consultez Créer un projet avec IL2CPP.

    • Définissez Niveau de compatibilité de l'API sur .NET Standard 2.0 (ou .NET Framework).

Étape 4 : Créez le fichier manifeste de l'application

Avant de pouvoir utiliser le SDK dans votre jeu, vous devez associer l'exécutable de votre jeu au nom de package Play que vous avez revendiqué dans la Play Console. Pour ce faire, ajoutez un fichier manifest.xml dans le même répertoire que l'exécutable de votre jeu.

Remarque : Cette étape doit être effectuée manuellement.

  1. Pour générer le fichier exécutable de votre jeu, sélectionnez File > Build and Run (Fichier > Générer et exécuter) ou cliquez sur Ctrl+B.
  2. Ouvrez un éditeur de texte et créez un fichier nommé manifest.xml.
  3. Copiez et collez le code XML suivant dans le fichier :

    <?xml version="1.0" encoding="utf-8"?>
    <?Manifest version="1">
       <?Application>
         <?PackageName>com.example.package<?/PackageName>
       <?/Application>
    <?/Manifest>

  4. Enregistrez le fichier sous le nom manifest.xml.

  5. Déplacez ce fichier dans le même dossier que le fichier exécutable de votre jeu compilé.

    Exemple : Si votre jeu se trouve à l'emplacement Builds/MyGame.exe, le fichier manifeste doit se trouver à l'emplacement Builds/manifest.xml.

Remarque : Si vous souhaitez utiliser le SDK pour PC tout en développant dans l'éditeur Unity sans avoir à signer numériquement l'exécutable de votre jeu ni à le lancer depuis Google Play Jeux. Pour en savoir plus sur la configuration du fichier manifeste, consultez le guide de configuration du mode développeur.

Étape 5 : Initialiser le SDK

Vous devez initialiser le SDK avant d'accéder à des fonctionnalités telles que la facturation ou l'intégrité. Utilisez PlayPcSdkFactory pour créer le gestionnaire d'initialisation et démarrer la connexion.

Créez un script C#, par exemple SdkInitialization.cs, et ajoutez le code suivant :

using UnityEngine;
using System;
using System.Threading.Tasks;
// Import the SDK namespaces
using PlayPcSdkManaged.Initialization;
using PlayPcSdkManaged.Unity;

public class GooglePlayPCSDKInit : MonoBehaviour
{
    // Prevent double-initialization if this script is reloaded
    private static bool _isInitialized = false;

    private void Start()
    {
        // Use the "Safe Runner" pattern to fire the async method
        _ = InitializeSdkAsync();
    }

    private async Task InitializeSdkAsync()
    {
        if (_isInitialized)
        {
            Debug.LogWarning("Google Play PC SDK is already initialized. Skipping.");
            return;
        }

        try
        {
            Debug.Log("Initializing Google Play PC SDK...");

            // 1. Get the Unity-specific initialization handler from the factory
            var initHandler = PlayPcSdkFactory.InitializationHandler;

            // 2. Call InitializeAsync to start the connection
            var result = await GooglePlayInitialization.InitializeAsync(initHandler);

            // 3. Check the result
            if (result.IsOk)
            {
                _isInitialized = true;
                Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>");
                // You can now create BillingClient or IntegrityClient instances
            }
            else
            {
                Debug.LogError($"<color=red>Initialization Failed!</color>");
                Debug.LogError($"Error Code: {result.Code}");
                Debug.LogError($"Message: {result.ErrorMessage}");
            }
        }
        catch (Exception ex)
        {
            // Catch unexpected crashes or task failures
            Debug.LogError($"Exception during initialization: {ex.Message}");
            Debug.LogException(ex);
        }
    }
}

Associez ce script à un GameObject dans votre première scène. Lorsque vous exécutez le jeu, recherchez le message "SDK Initialized Successfully!" (SDK initialisé avec succès) dans la console.

Étape 6 : Activer la lecture automatique lors de l'installation de vos jeux PC natifs

Google Play Games sur PC (GPG) permet aux développeurs d'activer une fonctionnalité de lecture automatique, qui lance automatiquement votre jeu immédiatement après la fin du processus d'installation. Cette fonctionnalité permet une expérience utilisateur fluide en redirigeant le joueur directement vers le jeu, entièrement authentifié dans l'écosystème GPG.

Fonctionnement

Lorsque vous activez la fonctionnalité, GPG transmet un jeton de session GPG à votre processus d'installation tiers via des arguments de ligne de commande. Votre programme d'installation est alors responsable de l'extraction de ce jeton et de son utilisation pour lancer l'exécutable du jeu dans un contexte authentifié.

Prérequis

Pour utiliser cette fonctionnalité, votre programme d'installation tiers doit être capable de gérer les arguments de ligne de commande.

Procédure d'implémentation

  1. Activer la lecture automatique dans la configuration de publication

    Pour activer cette fonctionnalité, ajoutez l'attribut acceptsCommandLineArguments à l'élément <installer> dans votre play_publishing_config.xml.

    Exemples de contenus manifest.xml :

    <installer requiresElevation="true" acceptsCommandLineArguments="true">
      <path>path/to/installer.exe</path>
      <installation-path-registry-location>
        <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\key</key-name>
        <value-name>InstallPath</value-name>
      </installation-path-registry-location>
    </installer>
    
    • Attribut : acceptsCommandLineArguments
    • Type : Boolean
    • Par défaut : false
    • Comportement : lorsque vous définissez ce paramètre sur "true", GPG ajoute le jeton de session aux arguments de ligne de commande lors de l'exécution de votre programme d'installation.
  2. Gérer le jeton de session dans votre programme d'installation

    Lorsque votre programme d'installation est lancé par le client GPG, il reçoit le jeton de session en tant qu'argument de ligne de commande.

    • Format de l'argument : --g_session_token=<TOKEN>

    Voici ce que vous devez faire :

    • Extraction : votre programme d'installation doit analyser les arguments de ligne de commande pour récupérer la chaîne du jeton.
    • Propagation : si votre flux d'installation implique le lancement d'un processus de lanceur ou de jeu secondaire, votre programme d'installation est responsable de la transmission sécurisée du jeton de session au processus de jeu final qui utilise le SDK.
    • Lancement : utilisez le jeton de session fourni pour démarrer l'exécutable du jeu. Cela garantit que le jeu s'exécute dans un contexte GPG authentifié. Sinon, InitializeSDK échouera et votre joueur devra redémarrer le jeu.
  3. Gestion des erreurs et solutions de remplacement

  • Récupération du jeton : si, pour une raison quelconque, GPG ne peut pas générer ni transmettre de jeton de session (par exemple, en cas d'échec de la génération du jeton), le processus d'installation se poursuit quand même. Toutefois, votre programme d'installation sera lancé sans l'argument --g_session_token.
  • Robustesse : votre programme d'installation doit être conçu pour gérer les scénarios dans lesquels le jeton de session est absent. Dans ce cas, le programme d'installation doit procéder à une installation standard. Vous ne devez pas déclencher le lancement automatique du jeu, car InitializeSDK échouera de toute façon.
  • Erreurs du programme d'installation : vous êtes responsable de la robustesse et de la gestion des exceptions de votre programme d'installation et de la séquence de lancement du jeu qu'il initie. GPG n'a aucun contrôle sur les processus qui se déroulent dans le programme d'installation après son lancement.