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

Gry Google Play na PC wymagają wprowadzenia zmian w grze pod kątem zgodności z komputerami i optymalizacji. Dzięki tym zmianom gra będzie działać na komputerze PC, a wrażenia użytkownika będą zoptymalizowane pod kątem tej platformy.

Dodatkowo w Grach Google Play na PC obowiązują wymagania dotyczące grafiki, danych wejściowych i gry na różnych urządzeniach. Więcej informacji znajdziesz w przewodniku Pierwsze kroki.

Gdy wprowadzasz zmiany dotyczące zgodności z PC i optymalizacji (inne niż obsługa x86-64), możesz skonfigurować grę tak, aby wykrywała 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 urządzenia mobilne z Androidem i na komputery.

.

Oto podsumowanie wymagań i zaleceń na tej stronie:

Uwzględnij architekturę ABI x86-64

Wymagany przez proces wydania

Wszystkie biblioteki zawarte w grze wymagają wersji zgodnych z interfejsem ABI x86-64, aby zapewnić najlepszą wydajność i stabilność na platformie.

Jeśli z technicznego punktu widzenia nie jest możliwe, aby gra była dostarczana jako plik wykonywalny 64-bitowy x86, musisz skontaktować się z zespołem ds. sprawdzania, aby uzyskać odstępstwo. Twoja 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 zapewnić najlepszą zgodność z procesorami x86-64, podczas kompilowania bibliotek nie używaj zestawu instrukcji atom. Na przykład, gdy używasz właściwości gcc, nie używaj właściwości -march=atom, tylko -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 Android x86-64:

  1. Aby włączyć środowisko programistyczne do skryptowania IL2CPP, kliknij Ustawienia gracza > Inne ustawienia > Konfiguracja > Środowisko programistyczne do skryptowania i w menu kliknij IL2CPP.

  2. Włącz platformy Android x86-64 w swojej wersji Unity:

    • Unity 2018 lub starsza wersja: otwórz Ustawienia odtwarzacza > Inne ustawienia > Architektura docelowa i zaznacz pole wyboru x86. Unity 2018 obsługuje tylko platformy x86, więc nie będzie można skompilować wersji x86-64. Ta kompilacja wymaga wyjątku od zespołu weryfikującego. Aby poprosić o wyjątek dla procesora x86, skontaktuj się z przedstawicielem Google.

    • Wersja Unity 2019 z wsparciem długoterminowym (LTS) lub nowsza: 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ć w grze funkcje związane z konkretną platformą.

Aby sprawdzić, czy gra działa na platformie Gry Google Play na PC, sprawdź, czy jest dostępna funkcja 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, aby obsłużyć zdarzenie onPause(c++) w środowisku Gier Google Play na PC. Gra jest widoczna, gdy gracz aktywuje nakładkę emulatora, więc brak odbierania zdarzenia onPause może pogorszyć wrażenia użytkownika.

Aktualizowanie interfejsu

Niektóre elementy interfejsu i gesty nie są odpowiednie na komputerze i powinny zostać zaktualizowane.

Wymagane:

  • Zastąpić działania w interfejsie, które wymagają użycia 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” zamiast „dotknij”.
  • Lista, którą można przewijać, powinna mieć paski przewijania.
  • Obszary, które użytkownicy mogą przesuwać, powinny mieć paski przewijania lub inny sposób szybkiego przemieszczania się na duże odległości.
  • Nie wyświetlaj na ekranie klawiatury, na której można kliknąć, aby wpisać tekst.
  • Wszystkie wpisy tekstowe powinny mieścić się w ramach pola tekstowego.
  • Kliknięcia widocznych elementów powinny:
    • Akceptowanie kliknięcia w dowolnym miejscu w widocznych granicach elementu.
    • Nie akceptuje 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 uprawnieniami

Z wyjątkiem uprawnień do mikrofonu i powiadomień Gry Google Play na PC nie wyświetlają żadnych okien z uprawnieniami, więc nie próbuj ich wyświetlać ani prosić o uprawnienia w czasie działania. Jeśli wcześniej wyświetlałeś okna z prośbą o przyznanie uprawnień, zaktualizuj grę, aby nie wyświetlała ich już na komputerach.

Nieobsługiwane funkcje i uprawnienia Androida

Wymagany przez proces wydania

Niektóre typowe funkcje sprzętowe dostępne na telefonach i tabletach są niedostępne na komputerach PC. Obejmuje to funkcje sprzętowe, takie jak kamera czy lokalizacja gracza. Żadna gra, która wymaga brakujących funkcji, nie może zostać pobrana i zainstalowana na komputerze gracza. Prośby o funkcje, których brakuje na komputerze, są automatycznie odrzucane.

Aby wyświetlić pełną listę dostępnych funkcji, wpisz:

adb shell pm list features

Aby zapewnić zgodność gry z PC, musisz wprowadzić te zmiany:

  • Zrób: oznaczysz funkcje jako opcjonalne w pliku manifestu aplikacji, 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 wykonywania. 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, wykrywanie środowiska 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

Przed przesłaniem pierwszego kompilacji testowej do Konsoli Google Play usuń te funkcje sprzętowe:

  • 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. Więcej informacji o usuwaniu funkcji android.hardware.wifi znajdziesz w artykule Monitorowanie stanu połączenia i pomiaru połączenia. Pełną listę funkcji niedostępnych na Chromebookach znajdziesz w przewodniku po zgodności pliku manifestu aplikacji na Chromebooki.

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

Na komputerach nie są obsługiwane te często używane uprawnienia, dlatego Twoja gra musi je wyłączyć 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 wczytuje się w natywnym programie przeglądarki na komputerze, a nie w środowisku Gier Google Play na PC. Jest to idealna opcja dla graczy w większości sytuacji.

Aby ułatwić przenoszenie, Gry Google Play na PC obsługują WebView. Ponieważ aplikacja otwiera się w Gry Google Play na PC, nie będzie w niej 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, powinieneś(-aś) zamiast tego wywoływać zamiar przeglądarki.

Wyłączanie nieobsługiwanych interfejsów API Usług Google Play

Wymagany przez proces wydania

Google Play Games na PC dostarcza własny wariant usług Google Play, który 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. 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 dodać obsługę dodatkowych funkcji:

Ograniczony zakres pomocy

Te moduły działają częściowo. Dołożymy wszelkich starań, aby obsługiwać je w Grach Google Play na PC, ale nie możemy zagwarantować ich funkcjonalności.

Nieobsługiwane

Te moduły nie są obsługiwane w Grach Google Play na PC, ale ich awarie nie powodują problemów w Grach Google Play na PC:

Uszkodzony

Wymagany przez proces wydania

Nie używaj tych modułów na komputerach, ponieważ mogą one powodować nieoczekiwane działanie Gier Google Play na PC.

Włączanie ograniczonego miejsca na dane

Wymagany przez proces wydania

Ta sekcja ma zastosowanie, jeśli gra odczytuje lub zapisze dane w pamięci zewnętrznej. Wymóg stosowania magazynu jest wymagany jako alternatywny sposób odczytu i zapisu do magazynu. Dzięki temu nie musisz prosić gracza o te uprawnienia:

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

Więcej informacji o ograniczonym miejscu na dane:

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.

Ta zmiana powinna mieć wpływ na Twoją grę tylko wtedy, gdy obecnie używasz Google Analytics 360. Jeśli do śledzenia zdarzeń analitycznych w grze używasz pakietu SDK Firebase i możesz zobaczyć swoją grę jako usługę w konsoli Google Analytics, nie musisz podejmować żadnych dalszych działań.