Integracja pakietu SDK Gier Google Play na PC z Unity

projektu, obejmujący czynności od pobrania pakietu SDK po inicjowanie i konfigurowanie kompilacji. keywords_public: Gry Google Play na PC, Unity, integracja pakietu SDK, natywny PC, tworzenie gier, IL2CPP, manifest, pakiet SDK Unity do Gier Play na PC

Ten przewodnik zawiera szczegółowe instrukcje integracji pakietu SDK Gry 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 Unity Gier Play na PC

Krok 2. Importowanie pakietu

Pakiet SDK jest rozpowszechniany jako plik tar zgodny z Unity Package Manager (UPM). Więcej informacji znajdziesz w artykule Instalowanie pakietu UPM z lokalnego pliku tar.

Krok 3. Skonfiguruj ustawienia kompilacji

Aby sprawdzić, czy biblioteki natywne są prawidłowo wczytywane, musisz skonfigurować projekt tak, aby korzystał z IL2CPP zaplecza skryptowego i odpowiedniej architektury.

  1. Utwórz profil kompilacji, wybierając jako platformę Windows.

  2. Wybierz ustawienia platformy jako Windows. W przypadku architektury użyj tych opcji:

    • Intel 64-bit (zalecane)
    • Intel 32-bitowy

    Uwaga: platforma Gry Google Play na PC działa w środowisku 64-bitowym. Możesz utworzyć grę w wersji 32-bitowej (x86) lub 64-bitowej (x64).

  3. Ustaw Scripting Backend (Backend skryptów) 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 plik manifestu aplikacji

Zanim zaczniesz używać pakietu SDK w grze, musisz powiązać plik wykonywalny gry z nazwą pakietu Play, którą zadeklarowano w Konsoli Play. Aby to zrobić, dodaj plik manifest.xml w tym samym katalogu co plik wykonywalny gry.

Uwaga: jest to krok, który należy wykonać ręcznie.

  1. Aby utworzyć plik wykonywalny gry, wybierz Plik > Utwórz i uruchom lub kliknij Ctrl+B.
  2. Otwórz edytor tekstu i utwórz nowy plik o nazwie manifest.xml.
  3. 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>

  4. Zapisz plik jako manifest.xml.

  5. Przenieś ten plik do tego samego folderu co plik wykonywalny utworzonej gry.

    Przykład: jeśli gra znajduje się pod adresem Builds/MyGame.exe, plik manifestu musi znajdować się pod adresem Builds/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 Play Google. Dodatkowe kroki konfiguracji pliku manifestu znajdziesz w przewodniku po konfiguracji trybu programisty.

Krok 5. Zainicjuj pakiet SDK

Zanim uzyskasz dostęp do jakichkolwiek funkcji, takich jak płatności czy weryfikacja, musisz zainicjować pakiet SDK. Użyj PlayPcSdkFactory, aby utworzyć moduł obsługi inicjowania i rozpocząć połączenie.

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. Po uruchomieniu gry sprawdź w konsoli, czy wyświetla się komunikat „SDK Initialized Successfully!” (Pakiet SDK został zainicjowany).