Ten dokument zawiera odpowiedzi na najczęstsze pytania dotyczące pakietów SDK i publikowania w Grach Google Play na PC.
Zarabianie
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.
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.
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.
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.
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.
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.
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ń.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 elementamiProductPurchaseDetails. Te informacje są dostępne w plikach nagłówkowych pakietu SDK w plikuincludes/billing/models.h.Wynikowy element
launch_purchase_flow_resultma funkcjeok()icode(). Funkcjaok()zwraca informację, czy proces zakończył się pomyślnie. Funkcjacode()zwraca wyliczenieBillingError(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 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_idiobfuscated_profile_id. Możesz nie podać żadnego z nich, tylko jeden lub oba.Pole
offer_tokenjest 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.
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.
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.
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.
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
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.
Czy istnieją jakieś ograniczenia dotyczące rozmiaru pliku WAB?
Możesz przesłać plik WAB o rozmiarze do 10 GB.
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”).
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.
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
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.
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.
Czy pakiet SDK na PC obsługuje znaki wielobajtowe w pliku certyfikatu PEM?
Tak, pakiet SDK obsługuje znaki wielobajtowe w przypadku certyfikacji.
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.
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
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.
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.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.
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 plikuplay_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
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.
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.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.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 Gier Google Play. Musisz zarządzać grą lub programem uruchamiającym, aby zapobiec uruchamianiu wielu instancji.
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 ServicesObecność 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
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.
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
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.
Jak mogę zacząć tworzyć gry na PC w Grach Google Play w edytorze Unity lub UE?
- Włącz tryb programisty i rozpocznij testowanie.
- 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 testowania.
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_MACHINElubHKEY_CURRENT_USERw zależności od celu i charakteru danych. W wytycznych jako przykład używamy gałęziHKEY_LOCAL_MACHINE.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.
Czy muszę zintegrować wszystkie interfejsy API?
Inne interfejsy API nie są wymagane, ale oferują dodatkowe korzyści. Interfejs
google::play::billingjest wymagany w przypadku zakupów w aplikacji i sprzedaży treści cyfrowych. Interfejsgoogle::play::install_referrerjest 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. Interfejsgoogle::play::games::integrityjest wymagany do ochrony aplikacji przed złośliwymi użytkownikami przez 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 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.
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