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.
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 im selben Verzeichnis wie die ausführbare Datei Ihres Spiels hinzu.
Hinweis:Dieser Schritt muss manuell ausgeführt werden.
- 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 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).