Integracja pakietu SDK Gier Google Play na PC z Unity

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 do Gier Play na PC

Krok 2. Importowanie pakietu

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 korzystał z IL2CPP jako zaplecza skryptów i był przeznaczony dla odpowiedniej architektury.

  1. Utwórz profil kompilacji, w którym jako platformę wybierzesz Windows.

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

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

    Uwaga: platforma Gier Google Play na PC działa w środowisku 64-bitowym. Możesz skompilować 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 użyjesz pakietu SDK w grze, musisz powiązać plik wykonywalny gry z nazwą pakietu w Google 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 > Kompiluj 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 Integralność, musisz zainicjować pakiet SDK. Użyj PlayPcSdkFactory, aby utworzyć procedurę obsługi inicjowania i rozpocząć połączenie.

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