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

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 : SDK Play Jeux PC Unity

É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 Jeux 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 du jeu que vous avez créé.

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

É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.