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. Czy mogę korzystać z procesu zakupu bez serwera backendu?

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

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

  2. Czy po zintegrowaniu pakietu SDK do 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 za pomocą Płatności w Google Play. Nie możesz używać dotychczasowej formy płatności opartej na interfejsie API w tej samej grze.

  3. Jak mogę korzystać z zakupów w trybie deweloperskim?

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

  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. Co oznacza błąd rozliczeniowy w przypadku połączeń w ramach zakupu?

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

  6. Jak mogę korzystać z weryfikacji zakupu 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 do tej funkcji, skontaktuj się z partnerem Google. Więcej informacji znajdziesz w artykule Przetwarzanie 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 zapytać w ramach jednego wywołania interfejsu QueryProductDetails API, to 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 Billing Client?

    Funkcja akceptuje QueryPurchasesContinuation, czyli wywołanie zwrotne funkcji o sygnaturze std::function<void(QueryPurchasesResult)>. Funkcja zwrotna przekazuje Ci wynik ze wszystkimi 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()code(). Funkcja ok() zwraca informację, czy automatyzacja została uruchomiona. Funkcja code() zwraca wyliczenie BillingError enum (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 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_idobfuscated_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 numer 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 numerem SKU i bieżącą sygnaturą czasową. Więcej informacji znajdziesz w artykule Powiązywanie zakupu z danymi wewnętrznymi.

  10. Czy błąd przekroczenia limitu czasu jest zamierzony, jeśli użytkownik zamknie przeglądarkę bez płacenia podczas procesu zakupu?

    Tak, jest to znany problem i zamierzone działanie w przypadku procesu w przeglądarce. Pracujemy nad funkcją płynnego zakupu (opartą na WebView), która utrzyma proces płatności w grze i rozwiąże problem z limitem czasu.

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

    Gry mogą nadal używać logowania przez Google za pomocą protokołu OAuth do zarządzania zalogowanym kontem, ale Google zaleca zaprzestanie korzystania ze starszych interfejsów API REST do obsługi płatności. 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?

    Tak, na razie jest przetwarzana w przeglądarce. Google planuje umożliwić przeprowadzenie całego procesu bez wychodzenia z gry za pomocą pakietu SDK.

  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 logować się 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. Gdy uruchamiasz proces zakupu w przeglądarce, musisz być zalogowany(-a) i używać tego samego konta co w sesji gry. Jeśli użytkownik jest zalogowany na inne konto, kreator internetowy poprosi go o przełączenie kont.

  14. Czy gra może jednocześnie obsługiwać pakiet SDK do aplikacji natywnych i starsze systemy płatności?

    System płatności działa w ramach modelu dwukierunkowego w zależności od wersji binarnej gry. Użytkownicy starszych wersji nadal korzystają z dotychczasowego modelu, a użytkownicy nowych wersji przechodzą na płatności oparte na pakiecie SDK. W okresie przejściowym użytkownicy korzystają z obu modeli 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 aplikacji WAB możesz przesłać plik o rozmiarze do 10 GB.

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

    Jeśli gra jest wprowadzana bez wcześniejszej wersji na PC („pierwsza WAB”), system może automatycznie umieścić ją w stanie wstrzymania publikowania zaplanowanego. Dzieje się tak, ponieważ nie ma istniejącej wersji bazowej, którą można zaktualizować. Aby w pełni opublikować WAB i udostępnić grę do zainstalowania, musisz przejść do Konsoli Google Play i ręcznie wykonać wymagane działanie publikowania (np. kliknąć „Opublikuj zmiany”).

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

    Udostępnij konta z listy dozwolonych Google, abyśmy mogli włączyć je do testów wewnętrznych. Po otrzymaniu listy zadbamy o to, aby zostały one uwzględnione w procesie rejestracji.

  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 Grami Google Play na PC

    SDK?

    • Starsza wersja interfejsu 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ę w 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 natywny pakiet SDK na PC 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 z każdą „sesją gry” może być powiązane konto. 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. Jeśli gracz używa launchera innej firmy zamiast klienta Google Play, czy 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 Gry 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 programem uruchamiającym. Musisz jednak przekazywać 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 wartości 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 konfiguracji.

  3. Jak po wprowadzeniu gry na rynek zarządzać aktualizacjami i konserwacją gry oraz programu uruchamiającego?

    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 pliku 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 zastępcza).

Inicjowanie

  1. Czy gdy uruchamiam grę za pomocą aplikacji Gry Google Play, synchronizują się dane 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 umożliwia wykrywanie, czy klient Gier Google Play na PC jest otwarty. Jeśli nie jest, klient Gier Google Play otworzy się przed uruchomieniem gry lub programu uruchamiającego. 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 integracji pakietu SDK, wyszukując 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 klucza nie ma, 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 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ą 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 sieci VPN.

    Po włączeniu trybu TUN zainstaluj Gry Google Play na PC i emulator na potrzeby testów.

  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ładu używamy HKEY_LOCAL_MACHINE hive.

  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 wymagany do śledzenia danych o skierowaniach, aby pomóc Ci określić, które źródła ruchu kierują najwięcej użytkowników do pobrania Twojej aplikacji. google::play::games::integrity jest wymagany do ochrony aplikacji przed nieuczciwymi podmiotami 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 kontroli nad podprocesami ani procesami działającej gry. Działanie zależy od tego, czy gra jest emulowaną grą na Androida, czy natywną grą na PC. Emulowane gry są instalowane w swoim ś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