W przypadku Gier Google Play na PC musisz wprowadzić zmiany dotyczące zgodności z PC i optymalizacji gry. Dzięki tym zmianom gra będzie można uruchamiać ją również na komputerze, a wygoda użytkowników będzie optymalizowana pod kątem platformy.
Gry Google Play na PC mają też wymagania dotyczące grafiki, obsługi wejściowej urządzeń i gry na różnych urządzeniach. Więcej informacji znajdziesz w przewodniku dla początkujących.
Wprowadzając zmiany dotyczące zgodności z PC i optymalizacji (inne niż obsługa procesorów x86-64), możesz skonfigurować grę tak, by wykrywała Gry Google Play na PC, a potem wyłączać lub włączać funkcje związane z platformą. Dzięki temu możesz używać tego samego pliku APK lub pakietu aplikacji na urządzeniach mobilnych i komputerach z Androidem.
Oto podsumowanie wymagań i zaleceń na tej stronie:
- Uwzględnij interfejs ABI x86-64 (wymagane)
- Wykrywanie Gier Google Play w czasie działania (zalecane)
- Obsługuj zdarzenie onPause (zalecane)
- Aktualizuj elementy interfejsu (wymagane)
- Wyłącz okna uprawnień aplikacji na Androida (wymagane)
- Wyłącz nieobsługiwane funkcje i uprawnienia Androida (wymagane)
- Zastępuj komponenty WebView intencjami przeglądarki (zalecane)
- Wyłącz nieobsługiwane interfejsy API usługi Google Play (wymagane)
- Włącz ograniczone miejsce na dane (wymagane)
- Przejdź na Google Analytics 4 (zalecane)
Uwzględnij architekturę x86-64 ABI
Wymagane przez proces udostępniania
Aby zapewnić najwyższą wydajność i stabilność platformy, wszystkie biblioteki dołączone do gry wymagają wersji zgodnych z interfejsem ABI x86–64.
Jeśli technicznie nie da się udostępnić Twojej gry 64-bitowego pliku wykonywalnego x86, musisz skontaktować się z zespołem sprawdzającym, żeby uzyskać wyjątek. Gra nie może uzyskać pełnego certyfikatu z wyjątkiem, ale może zostać umieszczona w katalogu jako gra, w którą można grać.
Kompilacja biblioteki
Aby zapewnić jak największą zgodność z procesorami x86-64, podczas kompilowania bibliotek nie używaj zestawu instrukcji atom. Na przykład jeśli używasz gcc
, unikaj używania -march=atom
i zamiast tego używaj właściwości -march=x86-64
.
Architektura docelowa w Unity
Niektóre wersje Unity 2019 i 2020 nie obsługują architektury x86-64 na Androidzie. Upewnij się, że używasz środowiska Unity 2019.4.31f1, 2020.3.19f1 lub nowszej wersji.
Jeśli Twoja gra korzysta ze zgodnej wersji silnika gry Unity, wykonaj te czynności, by włączyć docelowe systemy Android x86–64:
Wybierz Ustawienia odtwarzacza > Inne ustawienia > Konfiguracja > Backendy obsługi skryptów i z menu wybierz IL2CPP, aby włączyć backend obsługi skryptów IL2CPP.
Włącz kierowanie na Androida x86-64 w swojej wersji Unity:
Unity 2018 i wcześniejsze: otwórz Ustawienia odtwarzacza > Inne ustawienia > Docelowa architektura i zaznacz pole wyboru x86. Ponieważ Unity 2018 obsługuje tylko cele x86, nie możesz skompilować x86-64. Ta kompilacja będzie wymagać wyjątku od zespołu weryfikacyjnego. Skontaktuj się ze swoją osobą kontaktową w Google, aby poprosić o wyjątek x86.
Wersja Unity 2019 Long Term Support (LTS) i nowsza: otwórz Ustawienia odtwarzacza > Inne ustawienia > Docelowe architektury i włącz x86-64 (ChromeOS).
Wykrywaj Gry Google Play na PC
Platformę Gry Google Play na PC możesz wykrywać w czasie działania, dzięki czemu możesz włączać i wyłączać w swojej grze funkcje związane z tą platformą.
Aby określić, czy Twoja gra działa na platformie Gry Google Play na PC, sprawdź funkcję systemową com.google.android.play.feature.HPE_EXPERIENCE
:
Kotlin
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
Obsługa zdarzeń cyklu życia Androida
Ważne jest obsługę zdarzenia onPause
(c++) w środowisku Gier Google Play na PC. Gra jest widoczna, gdy gracz aktywuje nakładkę emulatora, więc brak odsłuchania zdarzenia onPause
może źle wpływać na wrażenia użytkownika.
Aktualizowanie interfejsu użytkownika
Niektóre elementy interfejsu i gesty nie są odpowiednie na PC i należy je zaktualizować.
Wymagane:
- Zastąp działania interfejsu, które wymagają co najmniej 2 palców (gesty wielodotykowe). Na przykład musisz zastąpić gest ściągnięcia palcami, aby powiększyć obraz, i inne gesty polegające na wielodotknięciu odpowiednimi myszkami i klawiaturą. Szczegółowe informacje o zmianach danych wejściowych urządzenia znajdziesz w sekcji Obsługa wprowadzania danych.
Zalecane:
- W przypadku tekstów widocznych dla użytkowników powinno być słowo „kliknij”, a nie „dotknij”.
- Listy przewijane powinny mieć paski przewijania.
- Obszary, które użytkownicy mogą przesuwać, powinny mieć paski przewijania lub inne sposoby szybkiego przemierzania dużych odległości.
- Nie wyświetlaj na ekranie klawiatury, którą można kliknąć, przy wpisywaniu tekstu.
- Wszystkie wpisy tekstowe powinny mieścić się w granicach pola tekstowego.
- Kliknięcia widocznych elementów powinny:
- Zaakceptuj kliknięcie w dowolnym miejscu w widocznych granicach elementu.
- Nie akceptują kliknięć w obszarze poza widocznym elementem.
- Okna powinny mieć widoczny przycisk zamykania. Nie wykrywaj kliknięć poza granicami okna dialogowego.
Wyłącz większość okien dialogowych uprawnień
Gry Google Play na PC nie wyświetlają okien uprawnień (z wyjątkiem uprawnień do korzystania z mikrofonu) – nie próbuj ich więc wyświetlać ani prosić o uprawnienia w czasie działania. Jeśli okna z uprawnieniami były już wyświetlane, zaktualizuj grę, by nie pojawiała się już na komputerach.
Nieobsługiwane funkcje i uprawnienia Androida
Wymagane przez proces udostępniania
Niektóre typowe funkcje sprzętowe telefonów i tabletów nie są dostępne na komputerach. Obejmuje to takie funkcje sprzętowe jak kamera czy lokalizacja gracza. Gry, które wymagają brakujących funkcji, nie mogą zostać pobrane ani zainstalowane na komputerze gracza. Prośby o brakujące funkcje na komputerze PC automatycznie kończą się niepowodzeniem.
Aby wyświetlić pełną listę dostępnych funkcji, wpisz:
adb shell pm list features
Aby Twoja gra była zgodna z komputerami PC, musisz wprowadzić te zmiany:
Oznacz funkcje jako opcjonalne w manifeście aplikacji, dodając parametr
android:required="false"
do deklaracji<uses-feature>
. Odnosi się to tylko do funkcji już zadeklarowanych w manifeście aplikacji.Nie próbuj korzystać z brakujących funkcji w czasie działania. Jeśli używasz tego samego pakietu APK zarówno na ścieżce mobilnej, jak i komputerowej, wykryj środowisko PC w czasie działania i unikaj wpisywania odpowiednich ścieżek kodu.
Nie proś o nieobsługiwane uprawnienia Androida w czasie działania. Jeśli używasz tego samego pakietu APK zarówno na ścieżce mobilnej, jak i komputerowej, wykryj środowisko PC w czasie działania i unikaj wpisywania odpowiednich ścieżek kodu. Nie musisz aktualizować pliku manifestu.
Więcej informacji o zgodności pliku manifestu aplikacji znajdziesz w przewodniku na temat zgodności pliku manifestu aplikacji na Chromebooka.
Wymagania dotyczące testów funkcjonalnych
Przed przesłaniem pierwszej kompilacji testowej do Konsoli Google Play usuń te funkcje sprzętowe:
android.hardware.wifi
android.hardware.bluetooth
android.hardware.camera
android.hardware.location
Ze względu na zgodność niektóre z tych funkcji mogą być wymienione jako obsługiwane podczas uruchamiania pm list features
, ale nie zostały w pełni zaimplementowane. Więcej informacji o usuwaniu funkcji android.hardware.wifi
znajdziesz w artykule na temat monitorowania stanu połączenia i pomiaru wykorzystania połączenia. Pełną listę nieobsługiwanych funkcji znajdziesz w przewodniku po zgodności pliku manifestu aplikacji na Chromebookach.
Wymagania dotyczące testowania jakości
Te często używane funkcje sprzętowe nie są zgodne z komputerami PC, dlatego musisz je usunąć przed ostatecznym przesłaniem aplikacji do Konsoli Google Play:
android.hardware.audio.pro
android.hardware.bluetooth
android.hardware.camera
android.hardware.consumerir
android.hardware.location
android.hardware.nfc
android.hardware.sensor.light
android.hardware.sensor.accelerometer
android.hardware.sensor.barometer
android.hardware.sensor.compass
android.hardware.sensor.gyroscope
android.hardware.sensor.proximity
android.hardware.telephony
android.hardware.touchscreen
android.hardware.usb.accessory
android.hardware.usb.host
android.hardware.wifi
android.software.midi
Nieobsługiwane uprawnienia
Te często używane uprawnienia nie są obsługiwane na komputerze, dlatego Twoja gra musi wyłączyć je w Grach Google Play na PC:
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_WIFI_STATE
android.permission.BLUETOOTH
android.permission.CAMERA
android.permission.FOREGROUND_SERVICE
android.permission.GET_ACCOUNTS
android.permission.INSTALL_PACKAGES
android.permission.READ_CONTACTS
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SYSTEM_ALERT_WINDOW
android.permission.USE_CREDENTIALS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_SETTINGS
com.google.android.gms.permission.ACTIVITY_RECOGNITION
Zewnętrzne witryny i komponenty WebView
Intencja przeglądarki wczytuje się w natywnej przeglądarce na komputerze, a nie w środowisku Gier Google Play na PC. W większości sytuacji jest to idealne rozwiązanie dla graczy.
Aby ułatwić przenoszenie, Gry Google Play na PC obsługują WebView. Ta opcja uruchamia się w środowisku Gier Google Play na PC, dlatego nie ma w niej typowej przeglądarki na komputery. Jeśli wcześniej zdarzyło Ci się używać usługi WebView
do udostępniania Warunków korzystania z usługi, Polityki prywatności lub innych podobnych treści, zamiast tego wywołaj intencję przeglądarki.
Wyłącz nieobsługiwane interfejsy API usługi Google Play
Wymagane przez proces udostępniania
Gry Google Play na PC udostępniają własny wariant Usług Google Play, który zawiera tylko część interfejsów API Usług Google Play. Musisz potwierdzić, że Twoja aplikacja nie zależy w dużym stopniu od modułów, które zostały pominięte lub nie są obsługiwane na komputerze PC. Niektóre moduły mogą być dostępne, ale ich funkcje nie zawsze są obsługiwane. Na przykład po zamknięciu Gier Google Play na PC nie będzie działać Komunikacja w chmurze Firebase.
Obsługiwane moduły
Te moduły są obecnie dostępne i obsługiwane w Grach Google Play na PC, ale planujemy dodać do nich dodatkowe funkcje:
- Logowanie przez Google (bez przenoszenia konta, SmartLock, weryfikacji za pomocą SMS-ów i obliczania złożoności haseł);
- Cronet
- Usługi gier Google Play
- Lista zadań
- Wizja
- Google Pay
Ograniczona pomoc
Poniższe moduły są częściowo funkcjonalne. Dołożymy wszelkich starań, aby wspierać je w Grach Google Play na PC, ale nie możemy zagwarantować ich funkcjonalności.
- Google Cloud Messaging (wycofane, użyj Komunikacji w chmurze Firebase)
- Uwierzytelnianie Firebase (uwierzytelnianie numeru telefonu nie działa)
- Komunikacja w chmurze Firebase
- Typowe biblioteki Firebase
- Systemy uczące się Firebase
- Zdalna konfiguracja Firebase
- Firebase Analytics.
Nieobsługiwany
Te moduły nie są obsługiwane w Grach Google Play na PC, ale nie powodują problemów w Grach Google Play na PC:
- Google Analytics (wycofano, użyj Firebase Analytics)
- Google Cast
- Awareness API
- Dysk (wycofany, wkrótce zostanie usunięty)
- FIDO
- Baza danych czasu rzeczywistego Firebase
- Firestore
- Testy A/B Firebase
- Google Fit
- Adres API
- Interfejs API aplikacji błyskawicznych
- Location API
- Pakiet SDK Map Google
- W pobliżu
- Panorama
- Miejsca
- Google+
- SafetyNet (wycofano. Wypełnij formularz zgłoszenia zainteresowania, aby wyrazić zgodę na udział w nowym interfejsie Play Integrity API.
- Menedżer tagów Google
- Wear OS
Uszkodzony
Wymagane przez proces udostępniania
Nie możesz używać tych modułów na komputerach, ponieważ mogą one powodować nieoczekiwane działanie w Grach Google Play na PC.
Włącz miejsce na dane ograniczone
Wymagane przez proces udostępniania
Ta sekcja dotyczy, jeśli gra odczytuje lub zapisuje dane w pamięci zewnętrznej. Alternatywnym sposobem odczytu i zapisu w pamięci masowej jest wymuszanie zakresu miejsca na dane. Dzięki temu nie będzie trzeba prosić gracza o te poufne uprawnienia:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Więcej informacji o ograniczonym miejscu na dane znajdziesz w tych artykułach:
- Jak włączyć ograniczone miejsce na dane
- Sprawdzone metody postępowania z plikami innymi niż multimedialne
Statystyki
Starsze wersje usług Google Analytics nie działają w Grach Google Play na PC. Jeśli dotyczy to Twoich gier, przenieś je do Google Analytics 4.
Będzie to miało wpływ na Twoją grę tylko wtedy, gdy korzystasz obecnie z Google Analytics 360. Jeśli do śledzenia zdarzeń analitycznych w grze używasz pakietu SDK Firebase, a Twoja gra jest widoczna jako usługa w konsoli Google Analytics, nie musisz nic robić.