Projekt, das die Schritte vom SDK-Download über die Initialisierung bis zur Build Konfiguration. keywords_public: Google Play Games PC, Unity, SDK-Integration, native PC-Spiele, Spieleentwicklung, IL2CPP, Manifest, Play Games PC Unity SDK
In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie das Google Play Games PC SDK in Ihr Unity-Projekt einbinden.
Schritt 1: SDK herunterladen
Laden Sie die neueste Version des Unity-Pakets über den Download-Link 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: Buildeinstellungen 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.
Erstellen Sie ein Build-Profil mit Windows als Plattform.
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.
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 in demselben Verzeichnis wie die ausführbare Datei Ihres Spiels hinzu.
Hinweis:Dies ist ein manueller Schritt, der ausgeführt werden muss.
- Wählen Sie Datei > Erstellen und
ausführen aus oder klicken Sie auf
Ctrl+B, um die ausführbare Datei Ihres Spiels zu erstellen. - Öffnen Sie einen Texteditor und erstellen Sie eine neue Datei mit dem Namen
manifest.xml. 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>
Speichern Sie die Datei als
manifest.xml.Verschieben Sie diese Datei in denselben Ordner wie die erstellte ausführbare Datei Ihres Spiels.
Beispiel: Wenn sich Ihr Spiel unter
Builds/MyGame.exebefindet, muss sich das Manifest unterBuilds/manifest.xmlbefinden.
Hinweis:Wenn Sie das PC SDK verwenden möchten, während Sie im Unity Editor entwickeln, ohne die ausführbare Datei Ihres Spiels digital signieren oder es über Google Play Games starten zu müssen. Weitere Schritte zur Manifestkonfiguration finden Sie in der Einrichtungsanleitung für den Entwicklermodus.
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, suchen Sie in der Console nach der Meldung „SDK Initialized Successfully!“ (SDK erfolgreich initialisiert).
Schritt 6: Autoplay nach der Installation Ihrer nativen PC-Spiele aktivieren
Mit Google Play Games auf dem PC (GPG) können Entwickler die Funktion „Autoplay“ aktivieren, mit der Ihr Spiel automatisch gestartet wird, sobald die Installation abgeschlossen ist. Diese Funktion sorgt für eine nahtlose Nutzererfahrung, da der Spieler direkt zum Spiel weitergeleitet wird und vollständig im GPG-Ökosystem authentifiziert ist.
Funktionsweise
Wenn Sie die Funktion aktivieren, übergibt GPG ein GPG-Sitzungstoken über Befehlszeilenargumente an den Installationsprozess Ihres Drittanbieters. Ihr Installationsprogramm ist dann dafür verantwortlich, dieses Token zu extrahieren und damit die ausführbare Datei des Spiels in einem authentifizierten Kontext zu starten.
Vorbereitung
Damit Sie diese Funktion verwenden können, muss Ihr Installationsprogramm eines Drittanbieters Befehlszeilenargumente verarbeiten können.
Implementierungsschritte
Autoplay in der Veröffentlichungskonfiguration aktivieren
Wenn Sie diese Funktion nutzen möchten, fügen Sie das
acceptsCommandLineArgumentsAttribut dem<installer>Element in Ihrerplay_publishing_config.xmlhinzu.Beispiel für
manifest.xml-Inhalte:<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 - Typ:
Boolean - Standard:
false - Verhalten: Wenn Sie den Wert auf „true“ setzen, hängt GPG das Sitzungstoken an die Befehlszeilenargumente an, wenn Ihr Installationsprogramm ausgeführt wird.
- Attribut:
Sitzungstoken in Ihrem Installationsprogramm verarbeiten
Wenn Ihr Installationsprogramm vom GPG-Client gestartet wird, erhält es das Sitzungstoken als Befehlszeilenargument.
- Argumentformat:
--g_session_token=<TOKEN>
Ihre Aufgaben:
- Extrahieren: Ihr Installationsprogramm muss die Befehlszeilenargumente parsen, um den Tokenstring abzurufen.
- Weitergabe: Wenn Ihr Installationsablauf das Starten eines sekundären Launchers oder Spielprozesses umfasst, ist Ihr Installationsprogramm dafür verantwortlich, das Sitzungstoken sicher an den endgültigen Spielprozess zu übergeben, der das SDK verwendet.
- Starten: Verwenden Sie das bereitgestellte Sitzungstoken, um die ausführbare Datei des Spiels zu starten. So wird sichergestellt, dass das Spiel in einem authentifizierten GPG-Kontext ausgeführt wird. Andernfalls schlägt InitializeSDK fehl und der Spieler muss das Spiel neu starten.
- Argumentformat:
Fehlerbehandlung und Fallbacks
- Tokenabruf: Wenn GPG aus irgendeinem Grund kein Sitzungstoken generieren oder übergeben kann (z.B. aufgrund eines Fehlers bei der Tokengenerierung), wird der Installationsprozess trotzdem fortgesetzt. Ihr Installationsprogramm wird jedoch ohne das `--g_session_token` Argument gestartet.
- Robustheit: Ihr Installationsprogramm sollte so konzipiert sein, dass es Szenarien verarbeiten kann, in denen das Sitzungstoken fehlt. In solchen Fällen sollte das Installationsprogramm mit einer Standardinstallation fortfahren. Sie sollten keinen automatischen Spielstart auslösen, da InitializeSDK ohnehin fehlschlägt.
- Installationsfehler: Sie sind für die Robustheit und Fehlerbehandlung Ihres Installationsprogramms und der von ihm initiierten Spielstartsequenz verantwortlich. GPG hat keine Kontrolle über Prozesse, die im Installationsprogramm ablaufen, nachdem es gestartet wurde.