Gry Google Play na PC wymagają wprowadzenia w grze zmian związanych ze zgodnością z komputerami i optymalizacją. Dzięki tym zmianom gra będzie działać na komputerze, a wrażenia użytkownika zostaną zoptymalizowane pod kątem tej platformy.
Gry Google Play na PC mają też wymagania dotyczące grafiki, wprowadzania danych na urządzeniu i rozgrywki na różnych urządzeniach. Więcej informacji znajdziesz w przewodniku dla początkujących.
Podczas wprowadzania zmian związanych ze zgodnością z komputerami i optymalizacją (innych niż obsługa x86-64 ) możesz skonfigurować grę tak, aby wykrywała Gry Google Play na PC, a następnie wyłączała lub włączała funkcje specyficzne dla platformy. Dzięki temu możesz używać tego samego pliku APK lub pakietu aplikacji w wersjach na urządzenia mobilne z Androidem i na komputery.
Oto podsumowanie wymagań i zaleceń na tej stronie:
- Uwzględnij ABI x86-64 (zalecane)
- Wykrywaj Gry Google Play w czasie działania (zalecane)
- Obsługuj zdarzenie onPause (zalecane)
- Zaktualizuj elementy interfejsu (wymagane)
- Wyłącz okna uprawnień aplikacji na Androida (wymagane)
- Wyłącz nieobsługiwane funkcje i uprawnienia Androida (wymagane)
- Zastąp widoki WebView intencjami przeglądarki (zalecane)
- Wyłącz nieobsługiwane interfejsy API usług Google Play (wymagane)
- Włącz ograniczony dostęp do miejsca na dane (wymagane)
- Przeprowadź migrację do Google Analytics 4 (zalecane)
Uwzględnij architekturę ABI x86-64
Jeśli to możliwe, upewnij się, że wszystkie biblioteki zawarte w grze są skompilowane pod kątem architektury x86-64. Pozwoli to zapewnić najlepszą wydajność i stabilność, ponieważ nie będzie trzeba używać warstw tłumaczenia.
Kompilacja biblioteki
Aby zapewnić jak największą zgodność z procesorami x86-64, podczas kompilowania bibliotek nie używaj listy instrukcji procesora atom. Na przykład, jeśli używasz gcc, unikaj używania -march=atom, a zamiast tego używaj -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 Unity 2019.4.31f1, 2020.3.19f1 lub nowszej wersji.
Jeśli Twoja gra korzysta ze zgodnej wersji silnika Unity, wykonaj te czynności, aby włączyć docelowe architektury x86-64 na Androidzie:
Otwórz Ustawienia odtwarzacza > Inne ustawienia > Konfiguracja > Środowisko wykonawcze skryptów i w menu kliknij IL2CPP , aby włączyć środowisko wykonawcze skryptów IL2CPP.
Włącz docelowe architektury x86-64 na Androidzie w swojej wersji Unity:
Unity 2018 i starsze: otwórz Ustawienia odtwarzacza > Inne ustawienia > Architektura docelowa i zaznacz pole x86. Ponieważ Unity 2018 obsługuje tylko docelowe architektury x86, nie będzie można utworzyć kompilacji x86-64. Ta kompilacja będzie wymagać wyjątku od zespołu weryfikacyjnego. Aby poprosić o wyjątek dla architektury x86, skontaktuj się z osobą z Google.
Unity 2019 w wersji z długoterminowym wsparciem (LTS) i nowsze: otwórz Ustawienia odtwarzacza > Inne ustawienia > Architektury docelowe i włącz x86-64 (ChromeOS).
Wykrywanie Gier Google Play na PC
Możesz wykrywać platformę Gry Google Play na PC w czasie działania, co pozwoli Ci włączać i wyłączać funkcje specyficzne dla platformy w grze.
Aby sprawdzić, czy gra działa na platformie Gry Google Play na PC, sprawdź, czy jest dostępna funkcja systemowa 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
W środowisku Gier Google Play na PC ważne jest, aby obsługiwać zdarzenie
onPause
(c++)
. Gra jest widoczna, gdy gracz aktywuje nakładkę emulatora, więc brak obsługi zdarzenia onPause może pogorszyć wrażenia użytkownika.
Aktualizowanie interfejsu
Niektóre elementy interfejsu i gesty nie są odpowiednie na komputerze i należy je zaktualizować.
Wymagane:
- Zastąp działania w interfejsie, które wymagają użycia 2 lub więcej palców (gesty wielodotykowe). Na przykład gesty uszczypnięcia i inne gesty wielodotykowe należy zastąpić odpowiednimi działaniami myszy i klawiatury. Więcej informacji o zmianach związanych z wprowadzaniem danych na urządzeniu znajdziesz w sekcji Obsługa wprowadzania danych.
Zalecane:
- Wszystkie teksty widoczne dla użytkownika powinny zawierać słowo „kliknij” zamiast „dotknij”.
- Listy z możliwością przewijania powinny mieć paski przewijania.
- Obszary, które użytkownicy mogą przesuwać, powinny mieć paski przewijania lub inny sposób na szybkie pokonywanie dużych odległości.
- Nie wyświetlaj na ekranie klawiatury, na którą można kliknąć, aby wprowadzić tekst.
- Wszystkie pola tekstowe powinny mieścić się w granicach pola tekstowego.
- Kliknięcia widocznych elementów powinny:
- akceptować kliknięcie w dowolnym miejscu w widocznych granicach elementu;
- nie akceptować kliknięcia w obszarze poza widocznym elementem.
- Okna powinny mieć widoczny przycisk zamknięcia. Nie wykrywaj kliknięcia poza granicami okna.
Wyłączanie większości okien uprawnień
Z wyjątkiem uprawnień do mikrofonu i powiadomień Gry Google Play na PC nie wyświetlają okien uprawnień, więc nie należy próbować ich wyświetlać ani prosić o uprawnienia w czasie działania. Jeśli wcześniej wyświetlałeś(-aś) okna uprawnień, zaktualizuj grę, aby nie wyświetlała ich już na komputerach.
Nieobsługiwane funkcje i uprawnienia Androida
Wymagane w procesie publikowania
Niektóre popularne funkcje sprzętowe telefonów i tabletów nie są dostępne na komputerze. Dotyczy to funkcji sprzętowych, takich jak aparat czy lokalizacja gracza. Żadna gra, która wymaga brakujących funkcji, nie może zostać pobrana i zainstalowana na komputerze gracza. Prośby o brakujące funkcje na komputerze automatycznie kończą się niepowodzeniem.
Pełną listę dostępnych funkcji możesz wyświetlić, wpisując:
adb shell pm list featuresAby gra była zgodna z komputerami, musisz wprowadzić te zmiany:
Zrób to: oznacz funkcje jako opcjonalne w pliku manifestu aplikacji, dodając
android:required="false"do<uses-feature>deklaracji. Dotyczy to tylko funkcji zadeklarowanych już w pliku manifestu aplikacji.Nie rób tego: nie próbuj używać brakujących funkcji w czasie działania. Jeśli używasz tego samego pliku APK w ścieżkach na urządzenia mobilne i na komputery, wykrywaj środowisko komputera w czasie działania i unikaj odpowiednich ścieżek kodu.
Nie rób tego: nie proś o nieobsługiwane uprawnienia Androida w czasie działania. Jeśli używasz tego samego pliku APK w ścieżkach na urządzenia mobilne i na komputery, wykrywaj środowisko komputera w czasie działania i unikaj odpowiednich ścieżek kodu. Nie musisz aktualizować pliku manifestu.
Więcej informacji o zgodności pliku manifestu aplikacji znajdziesz w przewodniku po zgodności pliku manifestu aplikacji z Chromebookami.
Wymagania dotyczące testów funkcjonalnych
Przed przesłaniem pierwszej kompilacji testowej do Konsoli Google Play usuń te funkcje sprzętowe:
android.hardware.wifiandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.location
Niektóre z tych funkcji mogą być wymienione jako obsługiwane podczas uruchamiania pm list features ze względu na zgodność, ale nie są w pełni zaimplementowane. Więcej
informacji o tym, jak usunąć funkcję android.hardware.wifi, znajdziesz w
artykule Monitorowanie stanu połączenia i pomiar połączenia. Pełną listę nieobsługiwanych funkcji znajdziesz w przewodniku po zgodności pliku manifestu aplikacji
z Chromebookami.
Wymagania dotyczące testów jakości
Te powszechnie używane funkcje sprzętowe nie są zgodne z komputerami, więc musisz usunąć je przed ostatecznym przesłaniem do Konsoli Google Play:
android.hardware.audio.proandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.consumerirandroid.hardware.locationandroid.hardware.nfcandroid.hardware.sensor.lightandroid.hardware.sensor.accelerometerandroid.hardware.sensor.barometerandroid.hardware.sensor.compassandroid.hardware.sensor.gyroscopeandroid.hardware.sensor.proximityandroid.hardware.telephonyandroid.hardware.touchscreenandroid.hardware.usb.accessoryandroid.hardware.usb.hostandroid.hardware.wifiandroid.software.midi
Nieobsługiwane uprawnienia
Te powszechnie używane uprawnienia nie są obsługiwane na komputerach, więc Twoja gra musi je wyłączyć w przypadku Gier Google Play na PC:
android.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_WIFI_STATEandroid.permission.BLUETOOTHandroid.permission.CAMERAandroid.permission.FOREGROUND_SERVICEandroid.permission.GET_ACCOUNTSandroid.permission.INSTALL_PACKAGESandroid.permission.READ_CONTACTSandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.READ_PHONE_STATEandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.REQUEST_INSTALL_PACKAGESandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.USE_CREDENTIALSandroid.permission.WRITE_EXTERNAL_STORAGEandroid.permission.WRITE_SETTINGScom.google.android.gms.permission.ACTIVITY_RECOGNITION
Zewnętrzne witryny i widoki WebView
Intencja przeglądarki wczytuje się w natywnej przeglądarce komputera, 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ą
widoki WebView. Ponieważ otwierają się one w środowisku Gier Google Play na PC, nie będą miały typowej przeglądarki na komputery. Jeśli wcześniej używałeś(-aś) 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łączanie nieobsługiwanych interfejsów API usług Google Play
Wymagane w procesie publikowania
Gry Google Play na PC mają własną wersję usług Google Play, która zawiera tylko podzbiór interfejsów API usług Google Play. Musisz potwierdzić, że Twoja aplikacja nie jest silnie zależna od modułów, które są pominięte lub nieobsługiwane na komputerze. Pamiętaj, że niektóre moduły mogą być dostępne, ale ich funkcje nie są obsługiwane przez cały czas. Na przykład Komunikacja w chmurze Firebase nie będzie działać, gdy Gry Google Play na PC są zamknięte.
Obsługiwane moduły
Te moduły są obecnie dostępne i obsługiwane przez Gry Google Play na PC. Planujemy też dodać obsługę dodatkowych funkcji:
- Logowanie przez Google (bez przenoszenia konta, SmartLocka, weryfikacji SMS-em i obliczania złożoności hasła)
- Cronet
- Usługi gier Google Play
- Lista zadań
- Widzenie
- Google Pay
Ograniczony zakres pomocy
Te moduły są częściowo funkcjonalne. Dołożymy wszelkich starań, aby obsługiwać je w Grach Google Play na PC, ale nie możemy zagwarantować ich działania.
- Google Cloud Messaging (wycofane, używaj Komunikacji w chmurze Firebase)
- Uwierzytelnianie Firebase (uwierzytelnianie numeru telefonu nie działa)
- Komunikacja w chmurze Firebase
- Biblioteki wspólne Firebase
- Firebase ML
- Zdalna konfiguracja Firebase
- Firebase Analytics
Nieobsługiwana
Te moduły nie są obsługiwane w Grach Google Play na PC, ale nie powodują problemów, gdy nie działają:
- Google Analytics (wycofane, używaj 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
- Address API
- Instant Apps API
- Interfejs API lokalizacji
- Pakiet SDK Map Google
- w pobliżu
- Panorama
- Miejsca
- Google+
- SafetyNet (wycofane, wypełnij formularz zainteresowania, aby wziąć udział w nadchodzącym interfejsie Play Integrity API)
- Menedżer tagów Google
- Wear OS
Wykryto uszkodzenia
Wymagane w procesie publikowania
Nie wolno używać tych modułów na komputerach, ponieważ mogą one powodować nieoczekiwane działanie Gier Google Play na PC.
Włączanie ograniczonego dostępu do miejsca na dane
Wymagane w procesie publikowania
Ta sekcja dotyczy sytuacji, gdy gra odczytuje lub zapisuje dane w pamięci zewnętrznej. Wymagane jest egzekwowanie ograniczonego dostępu do miejsca na dane jako alternatywnego sposobu odczytywania i zapisywania danych w pamięci. Dzięki temu nie trzeba prosić gracza o te uprawnienia newralgiczne:
android.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
Więcej informacji o ograniczonym dostępie do miejsca na dane znajdziesz w tych artykułach:
Analityka
Starsze usługi Google Analytics nie działają w Grach Google Play na PC. Jeśli dotyczy to Twoich gier, przeprowadź migrację do Google Analytics 4.
Powinno to mieć wpływ na Twoją grę tylko wtedy, gdy obecnie używasz Google Analytics 360. Jeśli używasz pakietu SDK Firebase do śledzenia zdarzeń analitycznych w grze i widzisz grę jako usługę w Konsoli Google Analytics, nie musisz podejmować żadnych dodatkowych działań.