Najczęstsze pytania

Ten dokument zawiera odpowiedzi na najczęstsze pytania dotyczące pakietów SDK i publikowania w Grach Google Play na PC.

Zarabianie

  1. Czy mogę korzystać z procesu zakupu bez serwera backendu?

    Ze względów bezpieczeństwa Google zaleca używanie serwera backendu.

    Więcej informacji znajdziesz w artykule Proces bez serwera backendu.

  2. Czy po zintegrowaniu pakietu SDK Gier Google Play na PC można korzystać z dotychczasowych systemów płatności opartych na interfejsie API?

    Wszystkie płatności muszą być obsługiwane przez pakiet SDK Gier Google Play na PC za pomocą Płatności w Google Play. W tej samej grze nie możesz używać dotychczasowej formy płatności opartej na interfejsie API.

  3. Jak możemy korzystać z zakupów w trybie programisty?

    Zakup w trybie programisty należy wykorzystać w ciągu 3 minut. W przeciwnym razie zostanie zwrócony.

  4. Czy obsługiwane są płatności cykliczne lub subskrypcje?

    Nie w najbliższej przyszłości, ale możesz podać konkretne przypadki użycia, które możemy uwzględnić w naszym przyszłym planie.

  5. Czym jest błąd rozliczeniowy w moich wywołaniach zakupu?

    BillingError to odpowiedź na wynik płatności. Funkcja LaunchPurchaseFlow zwróci wynik natychmiast, bez blokowania, ale musisz nasłuchiwać wywołania zwrotnego, aby wiedzieć, kiedy się zakończyło, i przechwycić wynik.

  6. Jak mogę używać weryfikacji zakupu po stronie klienta?

    Zalecamy korzystanie z zakupu po stronie serwera i jego procesu weryfikacji. Aby przetwarzać zakupy z aplikacji klienckiej, Twoja gra musi znajdować się na liście dozwolonych. Jeśli Twoja gra wymaga dostępu, skontaktuj się z partnerem Google. Więcej informacji znajdziesz w artykule Proces bez serwera backendu.

  7. Jakie są limity interfejsu API dotyczące wysyłania zapytań o szczegóły produktu?

    Maksymalna liczba produktów, o które można wysłać zapytanie w jednym wywołaniu interfejsu API QueryProductDetails, wynosi 50. Jeśli przekroczysz ten limit, musisz podzielić żądanie na kilka wywołań.

  8. Jakie parametry są wymagane podczas wywoływania funkcji Query Purchases lub Launch Purchase Flow w kliencie rozliczeniowym?

    Funkcja akceptuje QueryPurchasesContinuation, czyli wywołanie zwrotne funkcji z sygnaturą std::function<void(QueryPurchasesResult)>. Wywołanie zwrotne przekazuje Ci wynik ze wszystkimi elementami ProductPurchaseDetails. Te informacje są dostępne w plikach nagłówkowych pakietu SDK w pliku includes/billing/models.h.

    Wynikowy element launch_purchase_flow_result ma funkcje ok() i code(). Funkcja ok() zwraca informację, czy proces zakończył się pomyślnie. Funkcja code() zwraca wyliczenie BillingError (includes/billing/enums.h), które ma 10 możliwych przypadków błędów, takich jak anulowanie przez użytkownika lub błąd sieci.

  9. Czy w kliencie rozliczeniowym obsługiwane jest niestandardowe zamawianie w przypadku funkcji Launch Purchase Flow?

    W obecnej wersji pakietu SDK nie można przekazać własnego ładunku. Możesz jednak podać dowolną kombinację elementów obfuscated_account_id i obfuscated_profile_id. Możesz nie podać żadnego z nich, tylko jeden lub oba.

    Pole offer_token jest wymagane i określa ofertę zakupu, którą użytkownik próbuje kupić w procesie płatności. Obecnie każdy kod SKU w Google Play ma dokładnie 1 ofertę (np. kup 1 produkt za 10 zł). W przyszłości zespół ds. rozliczeń w Google Play będzie obsługiwać wiele ofert.

    Aby mieć pewność, że metadane są powiązane w przypadku przerw w procesie zakupu, zapisz metadane na serwerze backendu przed uruchomieniem okna zakupu i powiąż je z identyfikatorem konta użytkownika, kupowanym kodem SKU i bieżącym znacznikiem czasu. Więcej informacji znajdziesz w artykule Powiązywanie zakupu z danymi wewnętrznymi.

  10. Jakie są wymagania wstępne dotyczące przejścia z rozliczeń Google z OAuth na rozliczenia Google oparte na bibliotece DLL?

    Gry mogą nadal używać logowania OAuth w Google do zarządzania zalogowanym kontem, ale Google zaleca zaprzestanie korzystania ze starszych interfejsów API REST do rozliczeń. Przejście z interfejsów API REST do rozliczeń (z logowaniem OAuth2) na proces SDK może być operacją oznaczoną flagą funkcji, więc oba mogą współistnieć przez pewien czas, gdy gra się przełącza.

  11. Czy wywołanie interfejsu API Launch Purchase Flow jest przetwarzane przez przeglądarkę internetową?

    Nie, proces zakupu jest teraz w całości realizowany w grze za pomocą płynnej nakładki WebView, bez opuszczania klienta gry.

  12. Czy użytkownik musi logować się osobno w każdej grze, aby dokonać zakupu?

    Do każdej sesji gry używane jest konto pierwszoplanowe w Grach Google Play, więc nie musisz się logować ponownie. Konto, którego używasz w Grach Google Play podczas rozpoczynania sesji gry, jest kontem, z którego są wysyłane wywołania interfejsu API. Proces zakupu będzie automatycznie korzystać z tego konta.

  13. Czy gra może jednocześnie obsługiwać pakiet SDK na PC i starsze systemy płatności?

    System płatności działa w modelu dwuetapowym w zależności od wersji binarnej gry. Użytkownicy starszych wersji nadal korzystają z dotychczasowego procesu, a użytkownicy nowych wersji przechodzą na płatności oparte na pakiecie SDK. Użytkownicy korzystający z obu procesów płatności współistnieją w okresie przejściowym.

Windows App Bundle

  1. Czy podczas przesyłania pakietu WAB za pomocą programu uruchamiającego innej firmy wymagany jest pakiet gry do sprawdzenia?

    Możesz przesłać tylko instalator, nie musisz przesyłać całego pakietu gry. Osoba sprawdzająca będzie mogła pobrać pakiet gry za pomocą instalatora.

  2. Czy istnieją jakieś ograniczenia dotyczące rozmiaru pliku WAB?

    Możesz przesłać plik WAB o rozmiarze do 10 GB.

  3. Dlaczego po przesłaniu pakietu WAB moja gra nie instaluje się ani nie wyświetla?

    Jeśli Twoja gra jest wdrażana bez wcześniejszej wersji na PC („pierwszy pakiet WAB”), system może automatycznie umieścić ją w stanie wstrzymania publikacji zarządzanej. Dzieje się tak, ponieważ nie ma istniejącej linii bazowej do zaktualizowania. Aby w pełni opublikować pakiet WAB i udostępnić grę do instalacji, musisz przejść do Konsoli Google Play i ręcznie wykonać wymaganą czynność publikowania (np. kliknąć „Opublikuj zmiany”).

  4. Jak przesłać pakiet WAB do testów wewnętrznych?

    Udostępnij Google konta z listy dozwolonych, aby Google mogło włączyć je do testów wewnętrznych. Gdy Google otrzyma listę, upewni się, że konta są uwzględnione w procesie wdrażania.

  5. Gdzie należy przesłać pakiet WAB?

    Pakiet WAB możesz przesłać w lokalizacji podanej w pierwszym pytaniu. Nie możesz go jednak opublikować ręcznie. Musisz podać pracownikom backendu Google dokładny czas UTC (z dokładnością do godziny). Google skonfiguruje harmonogram publikacji i dopilnuje, aby gra została opublikowana na czas.

SDK na PC

  1. Jakie są różnice między starszym interfejsem API a pakietem SDK Gier Google Play na PC?

    • Starszy interfejs API oferuje tylko funkcje rozliczeniowe.
    • Pakiet SDK na PC obsługuje usługę Google Desktop Service (GDS) i wszystkie funkcje na PC.
    • W przypadku pakietu SDK na PC nie jest wymagane logowanie w Google w przeglądarce.
  2. Czy istnieje alternatywny sposób inicjowania pakietu SDK przez bezpośrednie uruchomienie gry za pomocą programu uruchamiającego, bez korzystania z Gier Google Play na PC?

    Grę należy uruchomić za pomocą klienta Gier Google Play na PC. Więcej informacji znajdziesz w tym dokumencie dla deweloperów.

  3. Czy pakiet SDK na PC obsługuje znaki wielobajtowe w pliku certyfikatu PEM?

    Tak, pakiet SDK obsługuje znaki wielobajtowe w przypadku certyfikacji.

  4. Jak pakiet SDK obsługuje logowanie na konto Google w przypadku wielu instancji lub kont?

    Każde uruchomienie gry w Grach Google Play jest traktowane jako „sesja gry”, a każda „sesja gry” może mieć powiązane z nią konto. Mogą się one różnić. Jeśli więc uruchomisz grę na koncie A, a potem przełączysz się na konto B i ponownie uruchomisz grę, obie mogą działać jednocześnie.

  5. Czy integracja Play Install Referrer działa z pakietem SDK na PC?

    Pakiet SDK na PC (w wersji 25.5.409.0 i nowszej) obsługuje Play Install Referrer API. Więcej informacji znajdziesz w artykule Play Install Referrer API.

Program uruchamiający

  1. Jeśli gracz używa programu uruchamiającego innej firmy zamiast klienta Google Play, czy jego konto w usługach Gier Play będzie się automatycznie synchronizować?

    Aby funkcje pakietu SDK działały, grę należy uruchomić bezpośrednio za pomocą klienta Gier Google Play. Jeśli grę uruchamia inny proces, np. instalator lub program uruchamiający, ten proces musi zostać uruchomiony z poziomu klienta Gier Google Play. Gra musi przekazywać wszystkie parametry otrzymane od klienta do procesu klienta.

  2. Jak obsługiwać inicjowanie, jeśli Gry Google Play uruchamiają program uruchamiający grę innej firmy?

    Nie musisz integrować pakietu SDK bezpośrednio z programem uruchamiającym. Musisz jednak przekazać wszystkie argumenty wiersza poleceń otrzymane przez program uruchamiający od klienta Gier Google Play bezpośrednio do utworzonego procesu podrzędnego (pliku wykonywalnego gry). Jeśli inicjowanie się nie powiedzie (np. przez zwrócenie kActionRequiredShutdownClientProcess), wszystkie procesy, w tym program uruchamiający, muszą zostać zakończone, aby Gry Google Play mogły spróbować automatycznie odzyskać i ponownie uruchomić grę. Więcej informacji znajdziesz w kroku 5 przewodnika po konfiguracji.

  3. Jak mogę obsługiwać aktualizacje i konserwację gry oraz programu uruchamiającego po ich wdrożeniu?

    Kolejne aktualizacje i konserwacja muszą być wdrażane za pomocą programu uruchamiającego. Klient Gier Google Play nie obsługuje funkcji aktualizacji, więc program uruchamiający musi być w stanie aktualizować zarówno grę, jak i sam program uruchamiający.

  4. Jak instalator otrzymuje token sesji GPG do automatycznego odtwarzania?

    GPG przekazuje token sesji do instalatora za pomocą argumentu wiersza poleceń --g_session_token=<token>. Aby to włączyć, musisz ustawić acceptsCommandLineArguments="true" w pliku play_publishing_config.xml.

    Instalator jest odpowiedzialny za wyodrębnienie tego tokena i użycie go do uruchomienia gry. Jeśli generowanie tokena się nie powiedzie, GPG uruchomi instalator bez tokena (rezerwa).

Zdarzenie inicjujące

  1. Czy po uruchomieniu gry za pomocą aplikacji Gry Google Play synchronizują się szczegóły mojego konta Google?

    Po uruchomieniu gry za pomocą klienta Gier Google Play konto jest automatycznie synchronizowane i nie trzeba ponownie logować się za pomocą procesu logowania w Google.

  2. Czy można wielokrotnie używać parametrów inicjowania?

    Jest to możliwe, o ile klient Gier Google Play jest uruchomiony, a informacje logowania są prawidłowe. Jednak w scenariuszach takich jak opisany w przewodniku wszystkie procesy uruchomione przez grę muszą zostać zakończone, gdy użytkownik zamknie grę lub gra zakończy się z powodu błędu inicjowania pakietu SDK, np. kActionRequiredShutdownClientProcess.

  3. Czy można utworzyć skrót do bezpośredniego otwierania gry?

    Aby bezpośrednio otworzyć grę, możesz użyć tego URI:

    googleplaygames://launch/?pid=2&id=com.company.gamename

    URI obsługuje wykrywanie, czy klient Gier Google Play na PC jest otwarty. Jeśli klient nie jest otwarty, przed uruchomieniem gry lub programu uruchamiającego otworzy się klient Gier Google Play. Musisz zarządzać grą lub programem uruchamiającym, aby zapobiec uruchamianiu wielu instancji.

  4. Czy można zweryfikować instalację Gier Google Play na PC bez użycia pakietu SDK?

    Stan instalacji Gier Google Play na PC możesz sprawdzić bez integrowania pakietu SDK, sprawdzając obecność tego klucza rejestru systemu Windows:

    HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Services

    Obecność tego klucza oznacza, że na komputerze są zainstalowane usługi Gier Google Play (wymagane do uruchamiania gier na PC). Jeśli klucz jest nieobecny, należy przekierować użytkownika na stronę instalacji Gier Google Play na PC, aby pobrał i zainstalował klienta.

Testowanie

  1. Czy istnieją środowiska testów otwartych lub zamkniętych podobne do tych na urządzeniach mobilnych?

    Nie mamy dedykowanej piaskownicy typu end-to-end, ale zdajemy sobie sprawę, że deweloperzy potrzebują środowiska testowego podobnego do produkcyjnego. Wkrótce udostępnimy bardziej niezawodne rozwiązanie.

  2. Jak mogę dodać nowych testerów?

    Osoba kontaktowa w Google tworzy grupę e-mailową dla każdego projektu na PC, do której należy dodać konta Google testerów. Tylko członkowie tej grupy e-mailowej mogą pobierać pakiety testowe w Grach Google Play.

Pozostałe postanowienia

  1. Czy mogę używać sieci VPN?

    Deweloperom, którzy chcą testować swoje gry w regionach, w których Gry Google Play na PC nie są obsługiwane, zalecamy używanie sieci VPN do uzyskania adresu IP z obsługiwanego regionu.

    Upewnij się, że masz włączony tryb TUN w sieci VPN. Wskazówki dotyczące włączania trybu TUN i konfigurowania zapory sieciowej znajdziesz w instrukcji obsługi dostawcy sieci VPN.

    Po włączeniu trybu TUN zainstaluj Gry Google Play na PC i emulatora na potrzeby testowania.

  2. Jak mogę zacząć tworzyć gry na PC w Grach Google Play w edytorze Unity lub UE?

  3. Jak prawidłowo używać kluczy rejestru?

    Klucze rejestru należy tworzyć na podstawie gałęzi głównej. Gałąź główną możesz ustawić jako HKEY_LOCAL_MACHINE lub HKEY_CURRENT_USER w zależności od celu i charakteru danych. W wytycznych jako przykład używamy gałęzi HKEY_LOCAL_MACHINE.

  4. Jakie są wymagania dotyczące sprawdzenia pakietów na PC przez Google?

    Pakiety na PC są skanowane pod kątem złośliwego oprogramowania, a następnie osoby sprawdzające testują tylko procesy instalacji, pomyślnego uruchomienia i odinstalowania gry.

  5. Czy muszę zintegrować wszystkie interfejsy API?

    Inne interfejsy API nie są wymagane, ale oferują dodatkowe korzyści. Interfejs google::play::billing jest wymagany w przypadku zakupów w aplikacji i sprzedaży treści cyfrowych. Interfejs google::play::install_referrer jest wymagany do śledzenia danych o poleceniach, aby pomóc Ci zrozumieć, które źródła ruchu wysyłają najwięcej użytkowników do pobrania Twojej aplikacji. Interfejs google::play::games::integrity jest wymagany do ochrony aplikacji przed złośliwymi użytkownikami przez wykrywanie potencjalnie ryzykownych urządzeń i nieznanych emulatorów.

  6. Dlaczego niektóre procesy gry są zamykane po zamknięciu klienta Gier Google Play, a inne nie?

    Google nie ma wpływu na podprocesy ani procesy uruchomionej gry. Zachowanie zależy od tego, czy gra jest emulowaną grą na Androida, czy grą na PC. Emulowane gry są instalowane w swoim środowisku, więc ich zachowanie zależy w dużej mierze od inicjowania i zamykania emulatora.

  7. Czy mam używać funkcji odinstalowywania Gier Google Play, czy niestandardowego dezinstalatora?

    Google zaleca korzystanie z funkcji odinstalowywania Gier Google Play.

Dalsza pomoc

Jeśli potrzebujesz dalszej pomocy, której nie znajdziesz w tym dokumencie z najczęstszymi pytaniami, skontaktuj się z nami pod adresem google-play-games-pc@google.com