projekt, który obejmuje etapy od pobrania pakietu SDK po jego inicjację i konfigurację kompilacji. keywords_public: Gry Google Play na PC, Unity, integracja pakietu SDK, natywna gra na PC, tworzenie gier, IL2CPP, plik manifestu, pakiet SDK Gier Google Play na PC w Unity
W tym przewodniku znajdziesz szczegółowe instrukcje integrowania pakietu SDK Gier Google Play na PC z projektem Unity.
Krok 1. Pobierz pakiet SDK
Pobierz najnowszą wersję pakietu Unity, korzystając z linku do pobierania.
Pobierz: pakiet SDK Gier Play na PCUnity
Krok 2. Zaimportuj pakiet
Pakiet SDK jest rozpowszechniany jako plik tar zgodny z Menedżerem pakietów Unity (UPM). Więcej informacji znajdziesz w artykule Instalowanie pakietu UPM z lokalnego pliku tar.
Krok 3. Skonfiguruj ustawienia kompilacji
Aby sprawdzić, czy biblioteki natywne wczytują się prawidłowo, musisz skonfigurować projekt tak, aby używał zaplecza skryptowego IL2CPP i był przeznaczony na odpowiednią architekturę.
Utwórz profil kompilacji z Windowsem jako platformą.
Wybierz ustawienia platformy jako Windows. W przypadku architektury użyj tych opcji:
- Intel 64-bit (zalecane)
- Intel 32-bit
Uwaga: platforma Gier Google Play na PC działa w środowisku 64-bitowym. Grę możesz skompilować jako 32-bitową (x86) lub 64-bitową (x64).
Ustaw Zaplecze skryptowe na IL2CPP. Więcej informacji znajdziesz w artykule Tworzenie projektu za pomocą IL2CPP.
- Ustaw Poziom zgodności interfejsu API na .NET Standard 2.0 (lub .NET Framework).
Krok 4. Utwórz manifest aplikacji
Zanim zaczniesz używać pakietu SDK w grze, musisz powiązać plik wykonywalny gry z nazwą pakietu w Google Play, którą zgłosiłeś(-aś) w Konsoli Play. Aby to zrobić, dodaj plik manifest.xml w tym samym katalogu co plik wykonywalny gry.
Uwaga: jest to krok, który musisz wykonać ręcznie.
- Aby utworzyć plik wykonywalny gry, kliknij Plik > Kompiluj i uruchom lub naciśnij
Ctrl+B. - Otwórz edytor tekstu i utwórz nowy plik o nazwie
manifest.xml. Skopiuj i wklej do pliku ten kod XML:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
Zapisz plik jako
manifest.xml.Przenieś ten plik do tego samego folderu co utworzony plik wykonywalny gry.
Przykład: jeśli gra znajduje się w
Builds/MyGame.exe, manifest musi znajdować się wBuilds/manifest.xml.
Uwaga: jeśli chcesz używać pakietu SDK na PC podczas tworzenia w edytorze Unity bez konieczności podpisywania cyfrowo pliku wykonywalnego gry ani uruchamiania jej w Grach Google Play. Dodatkowe kroki konfiguracji manifestu znajdziesz w przewodniku po konfiguracji trybu dewelopera.
Krok 5. Zainicjuj pakiet SDK
Zanim uzyskasz dostęp do jakichkolwiek funkcji, takich jak płatności czy integralność, musisz zainicjować pakiet SDK. Aby utworzyć moduł obsługi inicjowania i rozpocząć połączenie, użyj PlayPcSdkFactory.
Utwórz nowy skrypt w języku C#, np. SdkInitialization.cs, i dodaj ten kod:
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); } } }
Dołącz ten skrypt do GameObject w pierwszej scenie. Gdy uruchomisz grę, sprawdź w konsoli komunikat „SDK Initialized Successfully!” (Pakiet SDK został zainicjowany).
Krok 6. Włączanie automatycznego odtwarzania po zainstalowaniu natywnych gier na PC
Gry Google Play na PC (GGP) umożliwiają deweloperom włączenie funkcji „automatycznego odtwarzania”, która automatycznie uruchamia grę natychmiast po zakończeniu procesu instalacji. Ta funkcja zapewnia płynną obsługę, ponieważ przenosi gracza bezpośrednio do gry, w pełni uwierzytelnionego w ekosystemie GGP.
Jak to działa
Gdy włączysz tę funkcję, GGP przekaże token sesji GGP do procesu instalatora innej firmy (3P) za pomocą argumentów wiersza poleceń. Instalator jest wtedy odpowiedzialny za wyodrębnienie tego tokena i użycie go do uruchomienia pliku wykonywalnego gry w uwierzytelnionym kontekście.
Wymagania wstępne
Aby korzystać z tej funkcji, instalator innej firmy musi obsługiwać argumenty wiersza poleceń.
Etapy wdrażania
Włącz automatyczne odtwarzanie w konfiguracji publikowania
Aby włączyć tę funkcję, dodaj atrybut
acceptsCommandLineArgumentsdo elementu<installer>w plikuplay_publishing_config.xml.Przykład zawartości pliku
manifest.xml:<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>- Atrybut:
acceptsCommandLineArguments - Typ:
Boolean - Domyślny:
false - Działanie: gdy ustawisz wartość true, GGP dołączy token sesji do argumentów wiersza poleceń podczas wykonywania instalatora.
- Atrybut:
Obsłuż token sesji w instalatorze
Gdy instalator zostanie uruchomiony przez klienta GGP, otrzyma token sesji jako argument wiersza poleceń.
- Format argumentu:
--g_session_token=<TOKEN>
Co musisz zrobić:
- Wyodrębnianie: instalator musi przeanalizować argumenty wiersza poleceń, aby pobrać ciąg tokena.
- Propagacja: jeśli proces instalacji obejmuje uruchomienie dodatkowego programu uruchamiającego lub procesu gry, instalator jest odpowiedzialny za bezpieczne przekazanie tokena sesji do końcowego procesu gry, który używa pakietu SDK.
- Uruchamianie: użyj podanego tokena sesji, aby uruchomić plik wykonywalny gry. Dzięki temu gra będzie działać w uwierzytelnionym kontekście GGP. W przeciwnym razie funkcja InitializeSDK zakończy się niepowodzeniem i gracz będzie musiał ponownie uruchomić grę.
- Format argumentu:
Obsługa błędów i rezerwowe rozwiązania
- Pobieranie tokena: jeśli z jakiegokolwiek powodu GGP nie może wygenerować ani przekazać tokena sesji (np. z powodu błędu generowania tokena), proces instalacji będzie kontynuowany. Instalator zostanie jednak uruchomiony bez argumentu --g_session_token.
- Odporność: instalator powinien być zaprojektowany tak, aby obsługiwał sytuacje, w których token sesji jest nieobecny. W takich przypadkach instalator powinien kontynuować standardową instalację. Nie należy uruchamiać automatycznie gry, ponieważ funkcja InitializeSDK i tak zakończy się niepowodzeniem.
- Błędy instalatora: odpowiadasz za odporność i obsługę błędów instalatora oraz sekwencji uruchamiania gry, którą inicjuje. GGP nie ma kontroli nad procesami, które występują w instalatorze po jego uruchomieniu.