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 będą zoptymalizowane pod kątem tej platformy.
Gry Google Play na PC mają też wymagania dotyczące grafiki, wprowadzania danych na urządzeniu 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 komputerami i optymalizacji (inne niż obsługa x86-64), możesz skonfigurować grę tak, aby wykrywała Gry Google Play na PC, a następnie włączała lub wyłą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 komputery.
Oto podsumowanie wymagań i rekomendacji na tej stronie:
- Uwzględnij interfejs ABI x86-64 (wymagany)
- Wykrywanie Gier Google Play w czasie działania (zalecane)
- Obsługa zdarzenia onPause (zalecane)
- Aktualizowanie elementów interfejsu (wymagane)
- Wyłączanie okien dialogowych z prośbą o uprawnienia aplikacji na Androida (wymagane)
- Wyłączanie nieobsługiwanych funkcji i uprawnień Androida (wymagane)
- Zastąp WebViews intencjami przeglądarki (zalecane)
- Wyłącz nieobsługiwane interfejsy API usług Google Play (wymagane)
- Włącz pamięć o ograniczonym zakresie (wymagane)
- Przejście na Google Analytics 4 (zalecane)
Uwzględnij architekturę ABI x86-64
Wymagane w procesie publikowania
Wszystkie biblioteki zawarte w grze wymagają wersji zgodnych z interfejsem x86-64 ABI, aby zapewnić najlepszą wydajność i stabilność na platformie.
Jeśli technicznie nie jest możliwe dostarczenie w przypadku Twojej gry pliku wykonywalnego w architekturze 64-bitowej x86, musisz skontaktować się z zespołem weryfikacyjnym, aby uzyskać wyjątek. Twoja gra nie może uzyskać pełnego certyfikatu z wyjątkiem, ale może zostać umieszczona w katalogu jako „grywalna”.
Kompilacja biblioteki
Aby zapewnić jak największą zgodność z procesorami x86-64, podczas kompilowania bibliotek nie używaj zestawu instrukcji atom. Na przykład podczas korzystania z zasady gcc unikaj używania zasady -march=atom i zamiast niej używaj zasady -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 w wersji 2019.4.31f1, 2020.3.19f1 lub nowszej.
Jeśli Twoja gra korzysta z kompatybilnej wersji silnika gier Unity, wykonaj te czynności, aby włączyć platformy docelowe Androida x86-64:
Kliknij Player Settings (Ustawienia odtwarzacza) > Other Settings (Inne ustawienia) > Configuration (Konfiguracja) > Scripting (Skrypty) > Backend (Backend) i z menu wybierz IL2CPP, aby włączyć backend skryptów IL2CPP.
Włącz docelowe platformy Androida x86-64 w swojej wersji Unity:
Unity 2018 i starsze wersje: otwórz Player Settings > Other Settings > Target Architecture (Ustawienia odtwarzacza > Inne ustawienia > Architektura docelowa) i zaznacz pole wyboru x86. Unity 2018 obsługuje tylko platformy x86, więc nie możesz tworzyć wersji x86-64. Ta kompilacja będzie wymagać wyjątku od zespołu weryfikacyjnego. Aby poprosić o wyjątek dotyczący architektury x86, skontaktuj się z przedstawicielem Google.
Unity 2019 w wersji LTS lub nowszej: otwórz Player Settings > Other Settings > Target Architectures 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 pozwala włączać i wyłączać w grze funkcje specyficzne dla tej platformy.
Sprawdź funkcję systemową com.google.android.play.feature.HPE_EXPERIENCE, aby określić, czy Twoja gra jest uruchomiona na platformie Gry Google Play na PC:
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++). Twoja gra jest widoczna, gdy gracz aktywuje nakładkę emulatora, więc brak nasłuchiwania 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 interfejsu, które wymagają użycia co najmniej 2 palców (gesty wielodotykowe). Na przykład gesty szczypania i inne gesty wielodotykowe należy zastąpić odpowiednimi działaniami myszy i klawiatury. Więcej informacji o zmianach dotyczących wprowadzania danych na urządzeniu znajdziesz w sekcji Obsługa wprowadzania danych.
Zalecane:
- W całym tekście widocznym dla użytkowników powinno być używane słowo „kliknij” zamiast „kliknij”.
- Przewijane listy powinny mieć paski przewijania.
- Obszary, po których użytkownicy mogą się przesuwać, powinny mieć paski przewijania lub inny sposób szybkiego pokonywania dużych odległości.
- Nie wyświetlaj na ekranie klawiatury, na której można klikać, aby wprowadzać tekst.
- Wszystkie wpisy tekstowe powinny mieścić się w polu tekstowym.
- Kliknięcia widocznych elementów powinny:
- Akceptuj kliknięcie w dowolnym miejscu w widocznych granicach elementu.
- nie akceptować kliknięcia w obszarze poza widocznym elementem;
- Okna dialogowe powinny mieć widoczny przycisk zamykania. Nie wykrywaj kliknięć poza granicami okna.
Wyłączanie większości okien z prośbami o uprawnienia
Z wyjątkiem uprawnień do mikrofonu i powiadomień Gry Google Play na PC nie wyświetlają okien dialogowych z prośbą o przyznanie uprawnień, więc nie należy próbować ich wyświetlać ani prosić o uprawnienia w czasie działania programu. Jeśli wcześniej wyświetlałeś(-aś) okna z prośbą o przyznanie 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 na telefonach komórkowych i tabletach są niedostępne na komputerach. Obejmuje to funkcje sprzętowe, takie jak kamera czy lokalizacja gracza. Gry, które wymagają brakujących funkcji, nie mogą być pobierane i instalowane na komputerze gracza. Żądania dotyczące brakujących funkcji 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:
Oznacz funkcje jako opcjonalne w pliku manifestu aplikacji, dodając
android:required="false"do deklaracji<uses-feature>. Dotyczy to tylko funkcji zadeklarowanych już w manifeście aplikacji.Nie próbuj używać brakujących funkcji w czasie działania programu. Jeśli używasz tego samego pliku APK na ścieżkach mobilnych i na PC, wykrywaj środowisko PC w czasie działania i unikaj odpowiednich ścieżek kodu.
Nie proś o nieobsługiwane uprawnienia Androida w czasie działania. Jeśli używasz tego samego pliku APK na ścieżkach mobilnej 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 Zgodność pliku manifestu aplikacji na Chromebooka.
Wymagania dotyczące testów funkcjonalnych
Przed przesłaniem pierwszej wersji 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 usuwaniu funkcji android.hardware.wifi znajdziesz w artykule Monitorowanie stanu połączenia i pomiaru połączenia. Pełną listę nieobsługiwanych funkcji znajdziesz w przewodniku po zgodności manifestu aplikacji na Chromebookach.
Wymagania dotyczące testów jakości
Te powszechnie używane funkcje sprzętowe nie są zgodne z komputerami, więc musisz je usunąć 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 często 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 internetowe
Intencja przeglądarki wczytuje się w natywnej przeglądarce internetowej na PC, a nie w środowisku Gier Google Play na PC. To idealne rozwiązanie dla graczy w większości sytuacji.
Aby ułatwić przenoszenie gier, Gry Google Play na PC obsługują WebView. Ponieważ otwiera się w środowisku Gier Google Play na PC, nie będzie mieć typowej przeglądarki na komputer. Jeśli wcześniej używałeś(-aś) WebView do udostępniania warunków korzystania z usług, 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 zawierają 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 w dużym stopniu zależna od modułów, które są pomijane lub nie są obsługiwane na komputerze. Pamiętaj, że niektóre moduły mogą być dostępne, ale ich funkcje nie zawsze są obsługiwane. Na przykład Komunikacja w chmurze Firebase nie będzie działać, gdy Gry Google Play na PC będą zamknięte.
Obsługiwane moduły
Te moduły są obecnie dostępne i obsługiwane przez Gry Google Play na PC, a w przyszłości planujemy dodać obsługę kolejnych funkcji:
- Logowanie przez Google (z wyłączeniem przenoszenia konta, SmartLock, 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 Gry Google Play na PC, ale nie możemy zagwarantować ich działania.
- Google Cloud Messaging (wycofana, używaj Komunikacji w chmurze Firebase)
- Uwierzytelnianie Firebase (uwierzytelnianie numerem telefonu nie działa)
- Komunikacja w chmurze Firebase
- Biblioteki wspólne Firebase
- Firebase ML
- Zdalna konfiguracja Firebase
- Firebase Analytics
Nieobsługiwane
Te moduły nie są obsługiwane w Grach Google Play na PC, ale nie powodują problemów w Grach Google Play na PC, 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
- Location API
- Pakiet SDK Map Google
- W pobliżu
- Panorama
- Miejsca
- Google+
- SafetyNet (wycofany, wypełnij formularz zainteresowania, aby wziąć udział w testach nadchodzącego interfejsu Play Integrity API)
- Menedżer tagów Google
- Wear OS
Wadliwe
Wymagane w procesie publikowania
Nie używaj tych modułów na komputerach, ponieważ mogą one powodować nieoczekiwane działanie Gier Google Play na PC.
Włączanie pamięci o ograniczonym zakresie
Wymagane w procesie publikowania
Ta sekcja dotyczy sytuacji, gdy gra odczytuje dane z pamięci zewnętrznej lub zapisuje w niej dane. Wymagane jest egzekwowanie zakresu pamięci masowej jako alternatywnego sposobu odczytywania i zapisywania danych w pamięci masowej. Dzięki temu nie musisz prosić gracza o przyznanie tych uprawnień:
android.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
Więcej informacji o pamięci o ograniczonym zakresie znajdziesz w tych artykułach:
Statystyki
Starsze usługi Google Analytics nie działają w Grach Google Play na PC. Jeśli dotyczy to Twoich gier, przenieś je do Google Analytics 4.
Powinno to mieć wpływ na Twoją grę tylko wtedy, gdy obecnie korzystasz z Google Analytics 360. Jeśli do śledzenia zdarzeń analitycznych w grze używasz pakietu SDK Firebase i widzisz swoją grę jako usługę w konsoli Google Analytics, nie musisz podejmować żadnych dodatkowych działań.