Używaj pakietu SDK Gier Play na PC do tworzenia gier

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ą systemu rozliczeniowego Google Play, loguj się bezproblemowo za pomocą Gier Play i zapewnij użytkownikom prawidłowe uprawnienia do aplikacji dzięki interfejsowi 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

  • Pobierz pakiet SDK C++ do gier Google Play na PC.

  • Skopiuj folder nagłówków interfejsu API includes/ do bazy kodu aplikacji.

  • Skopiuj pliki redystrybucyjne z folderu imports/ do projektu aplikacji.

    • Połącz projekt z play_pc_sdk.lib, aby uzyskać dostęp do zawartości play_pc_sdk.dll.

Krok 2. Dodaj plik manifestu

Zanim zaczniesz używać pakietu SDK w grze, musisz powiązać plik wykonywalny gry z nazwą pakietu Play, którą zadeklarowano w Konsoli Play. W tym celu dodaj plik manifest.xml do tego samego 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ć podpisany cyfrowo za pomocą podpisu cyfrowego Authenticode. Instrukcje podpisywania pliku wykonywalnego znajdziesz w dokumentacji narzędzia SignTool .

Krok 4. Zainicjuj pakiet SDK

Zainicjuj pakiet SDK podczas uruchamiania gry. Należy to zrobić automatycznie, bez konieczności interakcji ze strony 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 jak najszybciej. 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, 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. Tę funkcję MUSISZ wywołać, a wywołanie zwrotne kontynuacji musi zostać zakończone z wartością InitializeResult::ok() równą true, zanim będzie można użyć jakiegokolwiek innego interfejsu API.

// 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.
  // ...
}

Jeśli inicjowanie się nie powiedzie i zostanie zwrócony kod kActionRequiredShutdownClientProcess, jak najszybciej zakończ proces gry. Środowisko wykonawcze pakietu SDK spróbuje pomóc użytkownikowi bez konieczności podejmowania przez Twoją grę dodatkowych działań. Jeśli na przykład użytkownik nie ma ważnej licencji na grę, Gry Google Play poproszą go o zakup kopii. W przypadku innych błędów nadal zalecamy jak najszybsze zakończenie procesu gry, ponieważ nie będzie można użyć 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 grą.

  • Środowisko wykonawcze pakietu SDK nie mogło zweryfikować tożsamości aplikacji w przypadku gry. Może to być spowodowane nieprawidłowym manifest.xml lub 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

Jeśli Twoja gra korzysta z wielu procesów i planujesz używać pakietu SDK Gier Play na PC w procesie, który nie jest uruchamiany bezpośrednio przez Gry Play na PC, musisz wykonać dodatkowe czynności związane z integracją:

  1. 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.

  2. 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 --foo=abc --bar=123
        └───YourGame.exe --foo=abc --bar=123
    

    W tym przykładzie widzimy hierarchię procesów, w której Gry Google Play na PC (GooglePlayGames.exe) uruchamiają grę (YourGameLauncher.exe) z pewnymi przykładowymi parametrami (--foo=abc --bar=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 uruchomiony przez Gry Google Play na PC przekazuje parametry wiersza poleceń, które otrzymał, do procesu podrzędnego.

  3. 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:

Dodaj do aplikacji funkcje Google Play na PC: