Google Play Games PC SDK in Unity einbinden

In diesem Leitfaden finden Sie eine detaillierte Anleitung zum Einbinden des Google Play Games PC SDK in Ihr Unity-Projekt.

Schritt 1: SDK herunterladen

Laden Sie die aktuelle Version des Unity-Pakets über den Downloadlink herunter.

Herunterladen: Play Games PC Unity SDK

Schritt 2: Paket importieren

Das SDK wird als TAR-Datei verteilt, die mit dem Unity Package Manager (UPM) kompatibel ist. Weitere Informationen finden Sie unter UPM-Paket aus einer lokalen TAR-Datei installieren.

Schritt 3: Buildeinstellungen konfigurieren

Damit die nativen Bibliotheken richtig geladen werden, müssen Sie Ihr Projekt für die Verwendung des IL2CPP-Scripting-Back-Ends konfigurieren und die richtige Architektur als Ziel festlegen.

  1. Erstellen Sie ein Build-Profil mit Windows als Plattform.

  2. Wählen Sie die Plattform-Einstellungen als „Windows“ aus. Verwenden Sie für die Architektur die folgenden Optionen:

    • Intel 64-Bit (empfohlen)
    • Intel 32-Bit

    Hinweis:Die Google Play Games auf dem PC-Plattform wird in einer 64-Bit-Umgebung ausgeführt. Sie können Ihr Spiel als 32-Bit- (x86) oder 64-Bit-Version (x64) erstellen.

  3. Setzen Sie Scripting Backend auf IL2CPP. Weitere Informationen finden Sie unter Projekt mit IL2CPP erstellen.

    • Legen Sie Api Compatibility Level auf .NET Standard 2.0 (oder .NET Framework) fest.

Schritt 4: Anwendungsmanifest erstellen

Bevor Sie das SDK in Ihrem Spiel verwenden können, müssen Sie die ausführbare Datei Ihres Spiels mit dem Play-Paketnamen verknüpfen, den Sie in der Play Console beansprucht haben. Dazu fügen Sie eine manifest.xml-Datei in dasselbe Verzeichnis wie die ausführbare Datei Ihres Spiels ein.

Hinweis:Dies ist ein manueller Schritt, der ausgeführt werden muss.

  1. Um die ausführbare Datei für Ihr Spiel zu erstellen, wählen Sie File > Build and Run aus oder klicken Sie auf Ctrl+B.
  2. Öffnen Sie einen Texteditor und erstellen Sie eine neue Datei mit dem Namen manifest.xml.
  3. Kopieren Sie den folgenden XML-Code und fügen Sie ihn in die Datei ein:

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

  4. Speichern Sie die Datei als manifest.xml.

  5. Verschieben Sie diese Datei in denselben Ordner wie die ausführbare Datei Ihres erstellten Spiels.

    Beispiel: Wenn sich Ihr Spiel unter Builds/MyGame.exe befindet, muss sich das Manifest unter Builds/manifest.xml befinden.

Schritt 5: SDK initialisieren

Sie müssen das SDK initialisieren, bevor Sie auf Funktionen wie die Abrechnung oder die Integrität zugreifen können. Verwenden Sie PlayPcSdkFactory, um den Initialisierungshandler zu erstellen und die Verbindung zu starten.

Erstellen Sie ein neues C#-Skript, z. B. SdkInitialization.cs, und fügen Sie den folgenden Code hinzu:

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);
        }
    }
}

Hängen Sie dieses Skript an ein GameObject in Ihrer ersten Szene an. Wenn Sie das Spiel ausführen, sehen Sie in der Console die Meldung „SDK Initialized Successfully!“ (SDK erfolgreich initialisiert).