Najczęstsze pytania

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

Zarabianie

  1. Dlaczego po dodaniu nowego klucza rozliczeniowego lub licencyjnego proces zakupu kończy się niepowodzeniem i wyświetla się kod błędu 6?

    Nowo wygenerowane klucze licencyjne w Konsoli Google Play podlegają wielogodzinnemu buforowaniu i opóźnieniu w propagacji w backendzie handlowym, zanim wewnętrzne pamięci podręczne Google Play zsynchronizują się we wszystkich środowiskach obsługi. Nawet jeśli klient gry może prawidłowo wysyłać zapytania o szczegóły produktu, żądania zakupu będą kończyć się niepowodzeniem z kodem błędu 6 do czasu zakończenia synchronizacji. Zanim przetestujesz zakupy, odczekaj kilka godzin po przesłaniu lub zaktualizowaniu klucza licencyjnego.

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

    Ze względów bezpieczeństwa zalecamy korzystanie z serwera backendu.

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

  3. Czy po zintegrowaniu pakietu SDK Gier Google Play na PC można nadal 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 przy użyciu Płatności w Google Play. Nie możesz używać w tej samej grze dotychczasowej formy płatności opartej na interfejsie API.

  4. Jak możemy korzystać z zakupów w trybie deweloperskim?

    W trybie deweloperskim skonsumuj zakup w ciągu 3 minut. W przeciwnym razie środki zostaną zwrócone.

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

  6. Co oznacza błąd rozliczeniowy w moich połączeniach dotyczących zakupu?

    BillingError to odpowiedź na wynik płatności. Funkcja LaunchPurchaseFlow zwraca wartość natychmiast, nie blokując działania, ale musisz nasłuchiwać wywołania zwrotnego , aby wiedzieć, kiedy się zakończyło, i uzyskać wynik.

  7. Jak korzystać z weryfikacji zakupów po stronie klienta?

    Zalecamy korzystanie z zakupów po stronie serwera i procesu weryfikacji. Przetwarzanie zakupów w aplikacji klienta wymaga, aby gra znajdowała się na liście dozwolonych. Jeśli Twoja gra wymaga dostępu, skontaktuj się z partnerem Google. Więcej informacji znajdziesz w artykule Przetwarzanie bez serwera backendu.

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

    Maksymalna liczba produktów, o które można zapytać w ramach jednego wywołania interfejsu QueryProductDetails API, to 50. Jeśli przekroczysz ten limit, musisz podzielić żądanie na kilka wywołań.

  9. Jakie parametry są wymagane podczas wywoływania funkcji Query Purchases lub Launch Purchase Flow w Billing Client?

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

    Wynikowy obiekt launch_purchase_flow_result ma funkcje ok() i code(). Funkcja ok() zwraca informację o tym, czy automatyzacja została uruchomiona. 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.

  10. Czy w przypadku funkcji Launch Purchase Flow w BillingClient obsługiwane jest niestandardowe zamawianie?

    W obecnej wersji pakietu SDK nie ma możliwości przekazania własnego ładunku. Możesz jednak podać dowolną kombinację obfuscated_account_id i obfuscated_profile_id. Możesz nie podawać żadnej z tych informacji, tylko jedną z nich lub obie.

    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 PLN). W przyszłości zespół ds. płatności w Google Play będzie obsługiwać wiele ofert.

    Aby mieć pewność, że metadane są powiązane w przypadku przerw w procesie zakupu, przed wyświetleniem okna zakupu zapisz metadane na serwerze backendu i powiąż je z identyfikatorem konta użytkownika, kupowanym kodem SKU i bieżącą sygnaturą czasową. Więcej informacji znajdziesz w artykule Łączenie zakupu z danymi wewnętrznymi.

  11. Jakie warunki trzeba spełnić, aby przejść z rozliczeń Google z autoryzacją OAuth na rozliczenia Google oparte na bibliotece DLL?

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

  12. Czy wywołanie interfejsu Launch Purchase Flow API jest przetwarzane w przeglądarce?

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

  13. Czy użytkownik musi logować się osobno w przypadku każdej gry, aby dokonać zakupu?

    Konto pierwszoplanowe w Grach Google Play jest używane w przypadku każdej sesji gry, więc nie musisz się logować ponownie. Konto, którego używasz w Grach Google Play, gdy rozpoczyna się sesja gry, to konto, z którego są wysyłane wywołania interfejsu API. Proces zakupu automatycznie użyje tego konta.

  14. 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 dwukierunkowym w zależności od wersji binarnej gry. Użytkownicy korzystający ze starszych wersji nadal będą korzystać z dotychczasowego procesu, a użytkownicy korzystający z nowych wersji przejdą na płatności oparte na pakiecie SDK. W okresie przejściowym użytkownicy korzystają z obu ścieżek płatności.

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, a nie cały pakiet gry. Osoba sprawdzająca będzie mogła pobrać pakiet gry za pomocą instalatora.

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

    W przypadku publikowania instalatora możesz przesłać plik WAB o rozmiarze do 10 GB. W przypadku zarządzanego publikowania w Google Play maksymalny rozmiar pliku WAB to 200 GB.

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

    Jeśli Twoja gra jest wprowadzana bez wcześniejszej wersji na PC („pierwsze WAB”), system może automatycznie umieścić ją w stanie wstrzymania publikacji zarządzanej. Dzieje się tak, ponieważ nie ma istniejącej wartości bazowej, którą można by zaktualizować. Aby w pełni opublikować WAB i umożliwić instalację gry, musisz przejść do Konsoli Google Play i ręcznie wykonać wymagane działanie związane z publikowaniem (np. kliknąć „Opublikuj zmiany”).

  4. Jak przesłać plik WAB na potrzeby testów wewnętrznych?

    Udostępnij konta z listy dozwolonych Google, aby umożliwić Google włączenie ich na potrzeby testów wewnętrznych. Gdy Google otrzyma listę, upewni się, że zostaną one uwzględnione w procesie wprowadzającym.

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

    Pakiet WAB możesz przesłać w lokalizacji podanej w odpowiedzi na pierwsze pytanie. Nie możesz jednak opublikować go ręcznie. Musisz podać pracownikom zaplecza Google dokładny czas UTC (z dokładnością do godziny). Google następnie konfiguruje harmonogram publikacji i pilnuje, aby został on opublikowany na czas.

PC SDK

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

    • Starszy interfejs API oferuje tylko funkcje rozliczeń.
    • Pakiet SDK na komputery obsługuje usługę Google Desktop Service (GDS) i pełne funkcje komputerów.
    • Pakiet SDK na komputery nie wymaga logowania się przez Google w przeglądarce.
  2. Czy istnieje alternatywny sposób inicjowania pakietu SDK przez uruchomienie gry bezpośrednio za pomocą programu uruchamiającego gry, bez korzystania z Gier Google Play na PC?

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

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

    Tak, pakiet SDK obsługuje znaki wielobajtowe na potrzeby certyfikacji.

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

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

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

    Pakiet SDK na PC (wersja 25.5.409.0 i nowsze) obsługuje interfejs Play Install Referrer API. Więcej informacji znajdziesz w artykule Interfejs Play Install Referrer API.

Program uruchamiający

  1. Czy jeśli gracz używa launchera innej firmy zamiast klienta Google Play, jego konto w usługach gier Play będzie synchronizowane automatycznie?

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

  2. Jak przeprowadzić inicjację, jeśli Gry Google Play uruchamiają program do uruchamiania gier innej firmy?

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

  3. Jak mogę obsługiwać aktualizacje i konserwację gry oraz programu uruchamiającego po rozpoczęciu produkcji?

    Kolejne aktualizacje i konserwacje muszą być wdrażane za pomocą launchera. Klient Gier Google Play nie obsługuje funkcji aktualizacji, więc program uruchamiający musi mieć możliwość aktualizowania zarówno gry, jak i samego siebie.

  4. Jak instalator otrzymuje token sesji GPG na potrzeby autoodtwarzania?

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

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

Inicjowanie

  1. Czy gdy uruchamiam grę za pomocą aplikacji Gry Google Play, synchronizują się szczegóły mojego konta Google?

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

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

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

  3. Czy można utworzyć skrót, aby bezpośrednio otwierać grę?

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

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

    Identyfikator 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 Gry Google Play. Aby zapobiec uruchamianiu wielu instancji, musisz zarządzać grą lub programem uruchamiającym.

  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 integracji pakietu SDK, sprawdzając, czy występuje ten klucz 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 niedostępny, przekieruj 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 środowiska mobilnego?

    Nie udostępniamy piaskownicy do kompleksowego testowania, ale zdajemy sobie sprawę, że deweloperzy potrzebują środowiska testowego podobnego do środowiska produkcyjnego. Wkrótce zaproponujemy bardziej zaawansowane rozwiązanie.

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

    Osoba kontaktowa w Google tworzy grupę e-mailową dla każdego projektu PC, do której należy dodać konta Google testerów. Tylko członkowie tej grupy e-mailowej mają uprawnienia do pobierania pakietów testowych w aplikacji Gry Google Play.

Pozostałe postanowienia

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

    Deweloperom, którzy chcą przetestować swoją grę w regionach, w których Gry Google Play na PC nie są obsługiwane, zalecamy użycie sieci VPN, aby uzyskać adres IP z obsługiwanego regionu.

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

    Po włączeniu trybu TUN zainstaluj Gry Google Play na PC i emulator do celów testowych.

  2. Jak zacząć tworzyć gry na PC w usłudze Gry Google Play w Unity lub UE Editor?

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

    Klucze rejestru należy tworzyć na podstawie gałęzi głównej. Możesz ustawić katalog główny jako HKEY_LOCAL_MACHINE lub HKEY_CURRENT_USER w zależności od celu i rodzaju danych. W wytycznych jako przykład użyto HKEY_LOCAL_MACHINE.

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

    Pakiety na PC są skanowane pod kątem złośliwego oprogramowania, a następnie testerzy sprawdzają tylko instalację gry, jej uruchomienie i odinstalowanie.

  5. Czy muszę zintegrować wszystkie interfejsy API?

    Inne interfejsy API nie są wymagane, ale oferują dodatkowe korzyści. google::play::billing jest wymagane w przypadku zakupów w aplikacji i sprzedaży treści cyfrowych. google::play::install_referrer jest wymagane 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. google::play::games::integrity jest wymagane do ochrony aplikacji przed nieuczciwymi podmiotami poprzez 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 kontroluje podprocesów ani procesów uruchomionej gry. Zachowanie zależy od tego, czy gra jest emulowaną grą na Androida, czy grą na PC. Emulowane gry są instalowane w osobnym środowisku, więc ich działanie zależy w dużej mierze od inicjowania i zamykania emulatora.

  7. Czy mam użyć funkcji odinstalowywania Gier Google Play czy niestandardowego instalatora?

    Google zaleca korzystanie z funkcji odinstalowywania Gier Google Play.

Dalsza pomoc

Jeśli potrzebujesz dodatkowej pomocy, której nie znajdziesz w tym artykule, napisz na adres google-play-games-pc@google.com