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

  1. Otwórz Ustawienia odtwarzacza > Inne ustawienia > Konfiguracja > Skrypty Backend i wybierz z menu IL2CPP, aby włączyć Backend skryptów IL2CPP.

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

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.

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:

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