Pakiet SDK Gier Play na PC umożliwia korzystanie z usług Google Play do tworzenia gier na komputery i zarabiania na nich. Sprzedawaj treści cyfrowe za pomocą Płatności w Play, loguj się bezproblemowo za pomocą Gier Play i sprawdzaj, czy użytkownicy mają ważne uprawnienia do korzystania z Twojej aplikacji, za pomocą interfejsu 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 oraz zaloguj się na konto Google.
Krok 1. Dodaj pakiet SDK do projektu
C++
Pobierz pakiet SDK Gier Play na PC C++.
Skopiuj folder nagłówków interfejsu API
includes/do bazy kodu aplikacji.Skopiuj pliki redystrybucyjne z katalogu
imports/do projektu aplikacji, w zależności od architektury docelowej:W przypadku architektury 64-bitowej (x64): skopiuj pliki z katalogu
imports/x64/.W przypadku architektury 32-bitowej (x86): skopiuj pliki z katalogu
imports/x86/.Połącz projekt z biblioteką
play_pc_sdk.lib, aby uzyskać dostęp do zawartości bibliotekiplay_pc_sdk.dll.
C#
Pobierz pakiet SDK Gier Play na PC Unity jako plik tarball (.tgz).
Pakiet SDK jest rozpowszechniany jako plik tarball (.tgz) zgodny z Menedżerem pakietów Unity (UPM). Aby zaimportować pakiet, przeczytaj artykuł Instalowanie pakietu UPM z lokalnego pliku tar.
Szczegółową dokumentację, instrukcje konfiguracji i dodatkowe wskazówki, znajdziesz na stronie pakietu Play PC Unity.
Krok 2. Dodaj plik manifestu
Zanim zaczniesz korzystać z pakietu SDK w grze, musisz powiązać plik wykonywalny gry z nazwą pakietu w Google Play, którą zarezerwujesz w Konsoli Play. Aby to zrobić, dodaj plik manifest.xml w tym samym katalogu co plik wykonywalny gry.
Przykład zawartości pliku manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
Przykład umieszczenia pliku 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ć podpisany cyfrowo za pomocą podpisu cyfrowego Authenticode. Instrukcje dotyczące podpisywania pliku wykonywalnego znajdziesz w dokumentacji narzędzia SignTool .
Gdy skończysz podpisywać cyfrowo grę, wyślij informacje o certyfikacie do przedstawiciela Google, aby skonfigurować certyfikat.
Krok 4. Zainicjuj pakiet SDK
Zainicjuj pakiet SDK podczas uruchamiania gry. Powinno się to odbywać automatycznie, bez interakcji użytkownika. Przed renderowaniem okna gry zalecamy sprawdzenie, czy inicjowanie się powiodło. Zapewnia to najlepszą wygodę użytkownikom, ponieważ błędy są wykrywane i rozwiązywane tak szybko, jak to możliwe. Pozwala też uniknąć sytuacji, w której okno gry pojawia się na krótko, gdy proces gry musi się zakończyć.
Aby rozpocząć korzystanie z pakietu SDK, wywołaj funkcję
GooglePlayInitialize (C++) /
GooglePlayInitialization.InitializeAsync (C#)
aby zainicjować interfejs API. Spowoduje to skonfigurowanie stanu globalnego, połączenie z środowiskiem wykonawczym pakietu SDK i sprawdzenie, czy aplikacja została prawidłowo uruchomiona. Zanim zaczniesz korzystać z innych interfejsów API, MUSISZ wywołać tę funkcję i poczekać, aż wywołanie zwrotne kontynuacji zakończy się z wartością InitializeResult::ok() (C++) / Result.IsOk (C#) równą true.
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 nie powiedzie się 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 na przykład użytkownik nie ma ważnej licencji na grę, Gry Google Play wyświetlą mu 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 sprawdzanie, czy użytkownik ma ważną licencję na grę.
Odpowiedź informująca o niepowodzeniu może wskazywać na jedną z tych sytuacji:
Ś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 grą.
Środowisko wykonawcze pakietu SDK nie mogło zweryfikować tożsamości aplikacji gry. Może to być spowodowane nieprawidłowym
manifest.xmllub używaniem pakietu SDK bez włączonego trybu dewelopera podczas programowania. W takim przypadku plik wykonywalny gry musi być podpisany cyfrowo za pomocą certyfikatu cyfrowego zarejestrowanego na nazwę pakietu w Google Play.Plik wykonywalny gry nie został uruchomiony przez klienta Gier Google Play.
Aktywny użytkownik w Grach Google Play nie ma licencji na aplikację.
Krok 5. (Opcjonalnie) Obsługa wielu procesów gry
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, wykonaj te dodatkowe czynności integracji. Na przykład jeśli Gry Google Play na PC uruchamiają program uruchamiający grę, a następnie program uruchamiający uruchamia proces gry, który będzie współpracować z pakietem SDK.
Proces uruchamiany bezpośrednio przez Gry Google Play na PC musi sprawdzić, czy inicjowanie pakietu SDK Gier Play na PC się powiodło.
Zapewnia to najlepszą wygodę użytkownikom, ponieważ błędy są wykrywane tak szybko, jak to możliwe. Pamiętaj, że proces podrzędny korzystający z pakietu SDK musi również przeprowadzić inicjowanie oprócz procesu uruchamianego 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ład przekazywania 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 kilkoma przykładowymi parametrami (--gpg_args=abc --your_args=123). Następnie gra tworzy proces podrzędny (YourGame.exe), który korzysta z pakietu SDK Gier Play na PC. Aby to umożliwić, proces gry uruchamiany przez Gry Google Play na PC przekazuje parametry wiersza poleceń, które otrzymał, do procesu podrzędnego.Gdy gra przestanie działać, zakończ wszystkie procesy.
Gdy użytkownik zamknie grę lub gra zakończy się z powodu niepowodzenia inicjowania pakietu SDK, np.
kActionRequiredShutdownClientProcess, zamknij wszystkie procesy utworzone przez grę. Dzięki temu przy następnym uruchomieniu gry przez klienta Gier Google Play na PC zostaną uwzględnione nowe zmiany, takie jak przełączenie na inne aktywne konto.
Dalsze kroki
Korzystaj z pakietu SDK podczas programowania w środowisku IDE:
- Włącz tryb dewelopera
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ą interfejsu Play Integrity na PC