Pakiet SDK do Gier Play na PC umożliwia dostęp do usług Google Play, dzięki czemu możesz tworzyć gry na komputery i na nich zarabiać. Sprzedawaj treści cyfrowe za pomocą Płatności w Google Play, bezproblemowo loguj się za pomocą Gier Play i sprawdzaj, czy użytkownicy mają ważne uprawnienia do Twojej aplikacji, korzystając z usługi Play Integrity.
Zaczynamy?
Wymagania wstępne
Utwórz wpis aplikacji w Konsoli Play i zarezerwuj nazwę pakietu w Google Play.
Pobierz i zainstaluj Gry Google Play na PC, a potem zaloguj się na swoje konto Google.
Krok 1. Dodaj pakiet SDK do projektu
C++
Pobierz pakiet SDK C++ do Gry Play na PC.
Skopiuj folder nagłówków interfejsu API
includes/do bazy kodu aplikacji.Skopiuj pliki do rozpowszechniania z katalogu
imports/do projektu aplikacji w zależności od architektury docelowej:W przypadku wersji 64-bitowej (x64): skopiuj pliki z
imports/x64/.W przypadku wersji 32-bitowej (x86): skopiuj pliki z
imports/x86/.Połącz projekt z
play_pc_sdk.lib, aby uzyskać dostęp do zawartościplay_pc_sdk.dll.
C#
Pobierz pakiet SDK C#Gier Play na PC w formacie .unitypackage.
Przeciągnij i upuść ten plik bezpośrednio w obszarze
Assetsokna projektu w edytorze Unity.Pojawi się okno
Import Unity Package. Pozostaw wszystkie pola zaznaczone i kliknijImport.Pakiet SDK został zainstalowany. Znajdziesz go w
Assets/Plugins/PlayPcSdkManagedfolderze.
Krok 2. Dodaj plik manifestu
Zanim zaczniesz używać pakietu SDK w grze, musisz powiązać plik wykonywalny gry z nazwą pakietu w Google Play, którą zadeklarowano w Konsoli Play. W tym celu dodaj plik manifest.xml w tym samym katalogu co plik wykonywalny gry.
Przykładowa zawartość manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
Przykładowe miejsce docelowe manifest.xml:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
Krok 3. Podpisz cyfrowo grę
Zanim gra będzie mogła korzystać z pakietu SDK, jej plik wykonywalny musi być cyfrowo podpisany przy użyciu podpisu cyfrowego Authenticode. Instrukcje podpisywania pliku wykonywalnego znajdziesz w dokumentacji narzędzia SignTool .
Po zakończeniu procesu podpisywania cyfrowego gry wyślij informacje o certyfikacie do przedstawiciela Google w celu konfiguracji.
Krok 4. Zainicjuj pakiet SDK
Zainicjuj pakiet SDK podczas uruchamiania gry. Należy to zrobić automatycznie, bez konieczności interakcji użytkownika. Przed renderowaniem okna gry zalecamy sprawdzenie, czy inicjowanie przebiegło pomyślnie. Zapewnia to najlepsze wrażenia użytkownika, ponieważ błędy są wykrywane i rozwiązywane tak szybko, jak to możliwe. Zapobiega to również krótkotrwałemu pojawianiu się okna gry w przypadkach, gdy proces gry musi zostać zakończony.
Zacznij korzystać z pakietu SDK, wywołując funkcję
GooglePlayInitialize (C++) /
GooglePlayInitialization.InitializeAsync (C#)
, aby zainicjować interfejs API. Spowoduje to skonfigurowanie stanu globalnego, połączenie z pakietem SDK i sprawdzenie, czy aplikacja została prawidłowo uruchomiona. Tę funkcję MUSISZ wywołać, a wywołanie zwrotne kontynuacji musi zostać zakończone z wartością InitializeResult::ok() (C++) / Result.IsOk (C#) równą true, zanim będzie można użyć jakiegokolwiek innego interfejsu API.
C++
// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
[promise](InitializeResult result) {
promise->set_value(std::move(result));
});
auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
// The SDK succeeded with initialization. Continue with the startup sequence
// of the game.
// ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
// The SDK failed to initialize and has requested that your game process exit
// as soon as possible.
exit(1);
} else {
// The SDK failed to initialize for an alternative reason. It is still
// generally recommended that you exit the game process as soon as possible,
// because it won't be possible to access any APIs in the SDK. Critical
// operations such as verifying the user owns a valid license to your game
// won't be possible.
// ...
}
C#
// SDK Clients
private BillingClient _billingClient;
private IntegrityClient _integrityClient;
// Stored product information
private string _offerToken;
private async void InitializeSDK()
{
// The factory provides the necessary handler for initialization.
var initializationHandler = PlayPcSdkFactory.InitializationHandler;
var result = await GooglePlayInitialization.InitializeAsync(initializationHandler);
if (result.IsOk)
{
// Use the factory to get Unity-compatible instances of the clients
_billingClient = PlayPcSdkFactory.CreateBillingClient();
_integrityClient = PlayPcSdkFactory.CreateIntegrityClient();
// SDK is ready for use
}
else
{
// Handle specific, actionable errors
if (result.Code == InitializationError.ActionRequiredShutdownClientProcess)
{
Log("This game must be launched through the Google Play Games client. Please exit all game processes immediately, GPG will relaunch the game safely.");
Application.Quit();
}
}
}
Jeśli inicjowanie zakończy się niepowodzeniem z kodem kActionRequiredShutdownClientProcess(C++) / InitializationError.ActionRequiredShutdownClientProcess (C#), jak najszybciej zakończ proces gry. Środowisko wykonawcze pakietu SDK spróbuje pomóc użytkownikowi bez konieczności podejmowania przez grę dodatkowych działań. Jeśli np. użytkownik nie ma ważnej licencji na grę, Gry Google Play wyświetlą prośbę o zakup kopii. W przypadku innych błędów również należy zakończyć proces gry, ponieważ nie będzie można używać pakietu SDK do wykonywania krytycznych operacji, takich jak weryfikacja, czy użytkownik ma ważną licencję na grę.
Odpowiedź informująca o niepowodzeniu może wskazywać na jeden z tych stanów:
Środowisko wykonawcze pakietu SDK nie jest zainstalowane, nie działa na urządzeniu lub jest starszą wersją, która nie jest zgodna z pakietem SDK zintegrowanym z Twoją grą.
Środowisko wykonawcze pakietu SDK nie mogło zweryfikować tożsamości aplikacji w przypadku gry. Może to być spowodowane nieprawidłowym
manifest.xmllub używaniem pakietu SDK bez włączenia trybu deweloperskiego podczas tworzenia aplikacji. W przeciwnym razie plik wykonywalny gry musi być podpisany cyfrowo za pomocą certyfikatu cyfrowego zarejestrowanego na nazwę pakietu w Google Play.Plik wykonywalny gry nie został uruchomiony za pomocą klienta Gier Google Play.
Aktywny użytkownik w Grach Play nie ma licencji na aplikację.
Krok 5. (Opcjonalnie) Obsługa wielu procesów gry
Wykonaj te dodatkowe kroki integracji, jeśli Twoja gra korzysta z wielu procesów, a pakiet SDK Gier Play na PC jest używany przez inny proces niż ten, który jest uruchamiany przez Gry Google Play na PC. Na przykład jeśli Gry Google Play na PC uruchamiają program uruchamiający Twojej gry, a następnie program uruchamiający rozpoczyna proces gry, który będzie wchodzić w interakcje z pakietem SDK.
Proces uruchomiony bezpośrednio przez Gry Google Play na PC musi potwierdzić prawidłową inicjalizację pakietu SDK Gier Play na PC.
Zapewnia to największą wygodę użytkownikom, ponieważ błędy są wyświetlane tak szybko, jak to możliwe. Pamiętaj, że proces podrzędny korzystający z pakietu SDK musi również przeprowadzić inicjację oprócz procesu uruchomionego bezpośrednio.
Aby używać pakietu SDK Gier Play na PC w procesie podrzędnym, przekaż parametry wiersza poleceń do utworzonego procesu podrzędnego.
Przykładowe przekazywanie parametrów wiersza poleceń:
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --gpg_args=abc --your_args=123 └───YourGame.exe --gpg_args=abc --your_args=123W tym przykładzie widzimy hierarchię procesów, w której Gry Google Play na PC (
GooglePlayGames.exe) uruchamiają grę (YourGameLauncher.exe) z przykładowymi parametrami (--gpg_args=abc --your_args=123). Gra tworzy następnie proces podrzędny (YourGame.exe), który korzysta z pakietu SDK Gier Play na PC. Aby to umożliwić, proces gry uruchomiony przez Gry Google Play na PC przekazuje parametry wiersza poleceń, które otrzymał, do procesu podrzędnego.Zakończ wszystkie procesy, gdy gra przestanie działać.
Gdy użytkownik zamknie grę lub gra zostanie zamknięta z powodu błędu inicjowania pakietu SDK, np.
kActionRequiredShutdownClientProcess, zamknij wszystkie procesy uruchomione przez grę. Dzięki temu przy następnym uruchomieniu gry przez klienta Gier Google Play na PC nowe zmiany, takie jak przełączenie na inne aktywne konto, zostaną zastosowane.
Dalsze kroki
Korzystaj z pakietu SDK podczas programowania w środowisku IDE:
- Włącz tryb programisty.
Dodaj do aplikacji funkcje Google Play na PC:
- Sprzedawaj produkty cyfrowe za pomocą Płatności w Play
- Prowadź pomiary marketingowe za pomocą odsyłacza instalacji ze Sklepu Play
- Chroń swoją grę za pomocą Play Integrity na PC