Gry Google Play na PC wymagają wprowadzenia zmian w grze pod kątem zgodności z komputerami i optymalizacji. Dzięki tym zmianom gra może działać na komputerze, a wrażenia użytkownika są zoptymalizowane pod kątem platformy.
Dodatkowo Gry Google Play na PC mają wymagania dotyczące grafiki, danych wejściowych urządzenia i gry na różnych urządzeniach. Więcej informacji znajdziesz w przewodniku na temat wdrażania.
Gdy wprowadzasz zmiany dotyczące zgodności z PC i optymalizacji (inne niż obsługa x86-64), możesz skonfigurować grę tak, aby wykryć Gry Google Play na PC, a następnie wyłączyć lub włączyć funkcje związane z konkretną platformą. Dzięki temu możesz używać tego samego pliku APK lub pakietu aplikacji w wersjach na Androida i na PC.
.Oto podsumowanie wymagań i zaleceń na tej stronie:
- Uwzględnij ABI x86-64 (wymagane)
- Wykrywaj Gry Google Play w czasie działania (zalecane)
- Obsługuj zdarzenie onPause (zalecane)
- Zaktualizuj elementy interfejsu (wymagane)
- Wyłączanie okienek z uprawnieniami aplikacji na Androida (wymagane)
- Wyłącz nieobsługiwane funkcje i uprawnienia Androida (wymagane)
- Zastępowanie komponentów WebView intencjami przeglądarki (zalecane)
- Wyłączanie nieobsługiwanych interfejsów API Usług 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 zwalniania
Wszystkie biblioteki zawarte w grze wymagają wersji zgodnych z x86-64 ABI aby zapewnić najlepszą wydajność i stabilność na platformie.
Jeśli z technicznych względów nie możesz udostępnić 64-bitowego pliku wykonywalnego x86, musisz skontaktować się z zespołem ds. sprawdzania, aby uzyskać odstępstwo. Gra nie może uzyskać pełnej certyfikacji z wyjątkiem, ale może zostać umieszczona w katalogu jako „gra do wypróbowania”.
Kompilacja biblioteki
Aby uzyskać największą zgodność z procesorami x86-64, nie używaj Atomów.
instrukcji kompilacji. Na przykład podczas korzystania z funkcji gcc
unikaj użycia -march=atom
i zamiast tego stosuj -march=x86-64
.
Docelowa architektura 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 Android x86-64:
Otwórz Ustawienia odtwarzacza > Inne ustawienia > Konfiguracja > Skrypty Backend i wybierz z menu IL2CPP, aby włączyć Backend skryptów IL2CPP.
Włącz platformy Android x86-64 w swojej wersji Unity:
Unity 2018 i starsze wersje: otwórz Ustawienia odtwarzacza > Inne ustawienia > Architektura docelowa i zaznacz pole wyboru x86. Ponieważ Unity 2018 obsługuje tylko środowiska docelowe x86, nie da się utworzyć x86-64. Ta kompilacja wymaga wyjątku od zespołu weryfikującego. Aby poprosić o wyjątek dla zabezpieczeń x86, skontaktuj się z przedstawicielem Google.
Wersja Unity 2019 Long Term Support (LTS) i nowsze: przejdź do sekcji Odtwarzacz Ustawienia > Inne ustawienia > Architektury docelowe i włącz architekturę 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ć w grze funkcje związane z konkretną platformą.
Sprawdź funkcję systemową com.google.android.play.feature.HPE_EXPERIENCE
do
określić, czy Twoja gra działa 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
Ważne jest, aby obsłużyć zdarzenie onPause
(c++) w środowisku Gier Google Play na PC. Twoja gra jest widoczna
gdy odtwarzacz aktywuje nakładkę emulatora, przez co nie można nasłuchiwać
Zdarzenie onPause
może źle wpływać na wrażenia użytkowników.
Aktualizowanie interfejsu
Niektóre elementy interfejsu i gesty nie są odpowiednie na PC i należy je zaktualizować.
Wymagane:
- Zastąp czynności interfejsu, które wymagają co najmniej 2 palców (gesty wielodotykowe). Na przykład gest powiększania przez zbliżenie i inne gesty wielodotykowe należy zastąpić odpowiednimi poleceniami myszy i klawiatury. Szczegółowe informacje o zmianach dotyczących obsługi urządzeń znajdziesz w artykule Obsługa urządzeń.
Zalecane:
- W przypadku wszystkich tekstów widocznych dla użytkowników należy używać słowa „kliknij”, a nie „dotknij”.
- Przewijane listy powinny zawierać paski przewijania.
- Obszary, które użytkownicy mogą przesuwać, powinny zawierać paski przewijania lub w inny sposób szybko pokonuje duże odległości.
- Nie wyświetlaj na ekranie klikalnej klawiatury do wpisania tekstu.
- Wszystkie wpisy tekstowe powinny mieścić się w ramach pola tekstowego.
- Kliknięcia widocznych elementów powinny:
- Zaakceptuj kliknięcie w dowolnym miejscu w widocznych granicach elementu.
- Nie akceptujemy kliknięcia w obszarze poza widocznym elementem.
- Dialogi powinny mieć widoczny przycisk zamykania. Nie wykrywaj kliknięcia poza granicami okna.
Wyłączanie większości okien z prośbą o uprawnienia
Z wyjątkiem uprawnień do mikrofonu, Google Play Games na PC nie wyświetla żadnych okien z uprawnieniami, więc nie próbuj ich wyświetlać ani prosić o uprawnienia w czasie działania aplikacji. Jeśli w swojej grze wyświetlasz dialogi z prośbą o uprawnienia, zaktualizuj grę, aby nie wyświetlała ich na komputerach.
Nieobsługiwane funkcje i uprawnienia Androida
Wymagane przez proces zwalniania
Niektóre typowe funkcje sprzętowe dostępne na telefonach i tabletach są niedostępne na komputerach. Obejmuje to takie funkcje sprzętowe, jak aparat czy lokalizacja odtwarzacza. Żadna gra, która wymaga brakujących funkcji, nie może być pobrana i zainstalowana na komputerze gracza. Żądania dotyczące brakujących funkcji na komputerze 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, musisz wprowadzić te zmiany:
W manifeście aplikacji oznacz funkcje jako opcjonalne, dodając
android:required="false"
do deklaracji<uses-feature>
. Dotyczy to tylko funkcji już zadeklarowanych w manifeście aplikacji.Nie próbuj używać brakujących funkcji w czasie działania aplikacji. Jeśli używasz tego samego pliku APK na ścieżkach mobilnej i PC, wykrywanie środowiska PC w czasie wykonywania i omijanie odpowiednich ścieżek kodu.
Nie żądaj nieobsługiwanych uprawnień Androida w czasie działania. Jeśli używasz tego samego pliku APK na ścieżkach na urządzenia mobilne i na komputery, wykryj środowisko komputera w czasie wykonywania i unikaj odpowiednich ścieżek kodu. Nie musisz aktualizować pliku manifestu.
Więcej informacji o zgodnosci pliku manifestu aplikacji znajdziesz w przewodniku Zgodność pliku manifestu aplikacji na Chromebooka.
Wymagania dotyczące testów funkcjonalnych
Usuń te funkcje sprzętowe przed przesłaniem pierwszego test kompilacji Konsola Google Play:
android.hardware.wifi
android.hardware.bluetooth
android.hardware.camera
android.hardware.location
Niektóre z tych funkcji mogą być wymienione jako obsługiwane podczas korzystania z wersji pm list features
ze względu na zgodność, ale nie są w pełni zaimplementowane. Dla:
więcej informacji na temat usuwania funkcji android.hardware.wifi
znajdziesz tutaj
Monitorowanie stanu połączeń i pomiaru połączeń. Dla
pełną listę nieobsługiwanych funkcji znajdziesz w przewodniku 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, więc należy je usunąć przed ostateczne przesłanie do Konsola 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
Poniższe często używane uprawnienia nie są obsługiwane na PC, więc 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 WebViews
intencja przeglądarki, jest wczytywana w natywnej przeglądarce komputera PC zamiast w Środowisko Gier Google Play na PC. To idealne rozwiązanie dla graczy w w większości sytuacji.
Aby ułatwić przenoszenie, Gry Google Play na PC obsługują WebView. Od
ale można ją uruchomić w środowisku Gier Google Play na PC,
za pomocą przeglądarki na komputerze. Jeśli wcześniej korzystano z usługi WebView
do udostępniania Warunków
z Usługi, Polityki prywatności lub innych podobnych treści,
wywoływanie intencji przeglądarki
Wyłącz nieobsługiwane interfejsy API usług Google Play
Wymagane przez proces wydania
Gry Google Play na PC mają własny wariant Usług Google Play, zawiera tylko podzbiór interfejsów API Usług Google Play. Musisz potwierdzić, że aplikacja nie jest silnie zależna od modułów, które są pomijane lub nieobsługiwane na komputerach PC. Niektóre moduły mogą być dostępne, ale nie jest obsługiwana przez cały czas. Przykład: Firebase Cloud Po zamknięciu Gier Google Play na PC funkcja przesyłania wiadomości nie będzie działać.
Obsługiwane moduły
Te moduły są obecnie dostępne i obsługiwane przez Gry Google Play na PC. Planujemy dodać obsługę dodatkowych funkcji:
- Logowanie przez Google (bez przenoszenia konta, SmartLock, weryfikacji SMS-em i obliczania złożoności hasła)
- Cronet
- Usługi gier Google Play
- Lista zadań
- Wizja
- Google Pay
Ograniczona obsługa
Poniższe 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 funkcjonalności.
- Google Cloud Messaging (Wycofane, użyj Komunikacji w chmurze Firebase (FCM))
- Uwierzytelnianie Firebase (uwierzytelnianie przez numer telefonu nie działa)
- Komunikacja w chmurze Firebase
- Firebase Common Libraries
- 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ą w Grach Google Play na PC występują problemy:
- Google Analytics (wycofane, 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
- Address API
- Interfejs API aplikacji błyskawicznych
- Location API
- Pakiet SDK Map Google
- W pobliżu
- Panorama
- Miejsca
- Google+
- SafetyNet (wycofane: wypełnij formularz zgłoszenia zainteresowania, aby wyrazić zgodę na udostępnienie nadchodzącego interfejsu Play Integrity API).
- Menedżer tagów Google
- Wear OS
Uszkodzony
Wymagane przez proces zwalniania
Nie należy używać tych modułów na komputerach, ponieważ mogą one powodować nieoczekiwane działanie w Grach Google Play na PC.
Włącz ograniczone miejsce na dane
Wymagane przez proces wydania
Ta sekcja ma zastosowanie, jeśli gra odczytuje lub zapisze dane w pamięci zewnętrznej. Zakres egzekwowanie zasad dotyczących miejsca na dane jest wymagane jako alternatywny sposób odczytu i zapisu pamięci masowej. Dzięki temu nie będzie trzeba prosić odtwarzacza o te poufne uprawnienia:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Więcej informacji o zakresie miejsca na dane znajdziesz w tych artykułach:
Statystyki
Starsze wersje usług Google Analytics nie działają w Grach Google Play na PC. Jeśli dotyczy to Twoich gier, przenieś go na Google Analytics 4.
Problem powinien wpłynąć na Twoją grę tylko wtedy, gdy używasz Google Analytics 360. Jeśli do śledzenia zdarzeń analitycznych w swojej grze używasz pakietu SDK Firebase i widzisz swoją grę jako usługę w konsoli Google Analytics, nie musisz podejmować żadnych dalszych działań.