Zgodność z PC i optymalizacja pod kątem Gier Google Play na PC

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 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:

  1. 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.

  2. 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:

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.

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:

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:

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ć.