Ten dokument zawiera odpowiedzi na najczęstsze pytania dotyczące pakietów SDK i publikowania gier w Gry Google Play na PC.
Zarabianie
Czy mogę korzystać z procesu zakupu bez serwera backendu?
Z punktu widzenia bezpieczeństwa przetwarzanie bez serwera backendu nie jest zalecane.
Więcej informacji znajdziesz w artykule Przetwarzanie bez serwera backendu.
Czy po zintegrowaniu pakietu SDK Gier Google Play na PC można nadal korzystać z dotychczasowych systemów płatności opartych na interfejsach 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.
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.
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.
Co oznacza błąd rozliczeniowy w przypadku połączeń w ramach zakupu?
BillingError to odpowiedź na wynik płatności. Funkcja LaunchPurchaseFlow zwróci wartość natychmiast, nie blokując działania aplikacji, ale musisz nasłuchiwać wywołania zwrotnego , aby wiedzieć, kiedy zakończy się działanie funkcji, i uzyskać wynik.
Jak mogę korzystać z weryfikacji zakupu po stronie klienta?
Zalecamy korzystanie z zakupów po stronie serwera i ich 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.
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
QueryProductDetailsAPI, to 50. Jeśli przekroczysz ten limit, musisz podzielić żądanie na kilka wywołań.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 sygnaturzestd::function<void(QueryPurchasesResult)>. Funkcja zwrotna przekazuje Ci wynik ze wszystkimiProductPurchaseDetails. Te informacje są dostępne w plikach nagłówkowych pakietu SDK w plikuincludes/billing/models.h.Wynikowy obiekt
launch_purchase_flow_resultma funkcjeok()icode(). Funkcjaok()zwraca informację, czy automatyzacja została uruchomiona. Funkcjacode()zwraca wyliczenieBillingErrorenum (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.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_idiobfuscated_profile_id. Możesz nie podawać żadnej z nich, tylko jedną lub obie.Pole
offer_tokenjest 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 kodem SKU i bieżącą sygnaturą czasową. Więcej informacji znajdziesz w artykule Łączenie zakupu z danymi wewnętrznymi.
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 opartego na przeglądarce. Pracujemy nad funkcją płynnego zakupu (opartą na WebView), która pozwoli dokonywać płatności w grze i rozwiąże problem z limitem czasu.
Jakie są wymagania wstępne dotyczące przejścia z rozliczeń Google z OAuth na natywne rozliczenia Google z 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 REST API 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ć.
Czy wywołanie interfejsu Launch Purchase Flow API jest przetwarzane w przeglądarce internetowej?
Tak, na razie jest przetwarzana w przeglądarce. Google planuje umożliwić przeprowadzenie całego procesu bez opuszczania gry za pomocą pakietu SDK.
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 po rozpoczęciu sesji 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 korzystać z tego samego konta co w sesji gry. Jeśli użytkownik zaloguje się na inne konto, w procesie internetowym pojawi się prośba o przełączenie kont.
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 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
Czy podczas przesyłania WAB za pomocą launchera 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.
Czy istnieją jakieś ograniczenia rozmiaru pliku WAB?
W przypadku aplikacji WAB możesz przesłać plik o rozmiarze do 10 GB.
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 publikowania (np. kliknąć „Opublikuj zmiany”).
Jak przesłać WAB na potrzeby testów wewnętrznych?
Udostępnij konta z listy dozwolonych Google, aby umożliwić nam włączenie ich na potrzeby testów wewnętrznych. Gdy Google otrzyma listę, upewni się, że zostaną one uwzględnione w procesie wprowadzającym.
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
Jakie są różnice między starszym interfejsem API a pakietem SDK do Gier Google Play na PC?
- 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.
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.
Czy natywny pakiet SDK na PC obsługuje znaki wielobajtowe w pliku certyfikatu PEM?
Tak, pakiet SDK obsługuje znaki wielobajtowe na potrzeby certyfikacji.
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.
Czy integracja interfejsu 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 dokumentacji interfejsu Play Install Referrer API.
Program uruchamiający
Jeśli gracz używa launchera 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 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.
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 w przewodniku konfiguracji.Jak po wprowadzeniu gry i programu uruchamiającego do produkcji przeprowadzać aktualizacje i konserwację?
Kolejne aktualizacje i konserwacje muszą być przeprowadzane 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.
Inicjowanie
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.
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 gra zakończy się z powodu błędu inicjowania pakietu SDK, np.
kActionRequiredShutdownClientProcess.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.gamenameURI 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.
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 ServicesObecność tego klucza oznacza, że na urządzeniu są zainstalowane usługi Gier Google Play (wymagane do uruchamiania gier na PC). Jeśli klucz nie jest dostępny, przekieruj użytkownika na stronę instalacji Gier Google Play na PC, aby pobrać i zainstalować klienta.
Testowanie
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.
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 mogą pobierać pakiety testowe w aplikacji Gry Google Play.
Pozostałe postanowienia
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 do celów testowych.
Jak zacząć tworzyć gry na PC w Unity lub UE Editor?
- Włącz tryb programisty i przeprowadź testy.
- Dodaj pliki
manifest.xmli.dll. Więcej informacji znajdziesz w dokumencie dla deweloperów. - Zarejestruj identyfikator GUID partnera w ramach wcześniejszego dostępu na potrzeby testów.
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_MACHINElubHKEY_CURRENT_USERw zależności od celu i rodzaju danych. W wytycznych jako przykładu używamyHKEY_LOCAL_MACHINEhive.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.
Czy muszę zintegrować wszystkie interfejsy API?
Inne interfejsy API nie są wymagane, ale oferują dodatkowe korzyści.
google::play::billingjest wymagane w przypadku zakupów w aplikacji i sprzedaży treści cyfrowych.google::play::install_referrerjest wymagany do śledzenia danych o skierowaniach, 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::integrityjest wymagany do ochrony aplikacji przed nieuczciwymi podmiotami poprzez wykrywanie potencjalnie ryzykownych urządzeń i nieznanych emulatorów.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 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 osobnym środowisku, więc ich działanie zależy w dużej mierze od inicjowania i zamykania emulatora.
Czy mam używać 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.