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

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

  1. Otwórz Ustawienia odtwarzacza > Inne ustawienia > Konfiguracja > Środowisko wykonawcze skryptów i w menu kliknij IL2CPP , aby włączyć środowisko wykonawcze skryptów IL2CPP.

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

Aby gra była zgodna z komputerami, musisz wprowadzić te zmiany:

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.wifi
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.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.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 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_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 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:

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.

Nieobsługiwana

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

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_STORAGE
  • android.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ń.