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 neueste Version des Unity-Pakets über den Downloadlink herunter.

Download: 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: Einstellungen für den Build konfigurieren

Damit die nativen Bibliotheken korrekt geladen werden, müssen Sie Ihr Projekt so konfigurieren, dass das IL2CPP-Skripting-Back-End verwendet und die richtige Architektur als Ziel festgelegt wird.

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

  2. Wählen Sie die Plattformeinstellungen 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.

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

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 im selben Verzeichnis wie die ausführbare Datei Ihres Spiels hinzu.

Hinweis:Dieser Schritt muss manuell ausgeführt werden.

  1. Wählen Sie Datei > Erstellen und ausführen aus oder klicken Sie auf Ctrl+B, um die ausführbare Datei Ihres Spiels zu erstellen.
  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 erstellte ausführbare Datei Ihres Spiels.

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

Hinweis:Wenn Sie das PC SDK während der Entwicklung im Unity Editor verwenden möchten, ohne die ausführbare Datei Ihres Spiels digital signieren oder über Google Play Games starten zu müssen. Weitere Schritte zur Manifestkonfiguration finden Sie im Einrichtungsleitfaden für den Entwicklermodus.

Schritt 5: SDK initialisieren

Sie müssen das SDK initialisieren, bevor Sie auf Funktionen wie Abrechnung oder 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, suchen Sie in der Console nach der Meldung „SDK Initialized Successfully!“ (SDK erfolgreich initialisiert).