Wiadomości o usługach

Wyświetlaj gry na Androida na ekranie samochodu

Czas czytania: 3 minuty
Wyświetl profil Jana Kleinerta
Jan Kleinert Inżynier ds. relacji z programistami

Dziś kategoria gier na Androida Auto i samochody z systemem operacyjnym Android Automotive z wbudowanymi usługami Google oficjalnie wychodzi z wersji beta i staje się ogólnodostępna. Nasi partnerzy z programu wczesnego dostępu już udostępniają gry w wersji przeznaczonej do użytku tylko na postoju. Możesz je przeglądać w naszych najnowszych kolekcjach gier na Androida Auto i gier na system operacyjny Android Automotive.

Quote-black-bg.png

Udostępnienie gry w samochodach pozwala docierać do użytkowników w ich pojazdach w naturalnych momentach przestoju, np. podczas oczekiwania na stacji ładowania lub na odbiór zamówienia przy krawężniku. Dzisiejszy dzień to ważny krok, ponieważ otwieramy dostęp, aby deweloperzy mogli teraz publikować gry w Google Play w ramach testów otwartych i wersji produkcyjnych. W tym poście omówimy, jak dostosować istniejącą grę na Androida do ekranu samochodu, skupiając się na kluczowych wymaganiach technicznych i kryteriach publikowania.

Wdrażanie obsługi samochodu w grze

Jeśli stosujesz już sprawdzone metody tworzenia aplikacji adaptacyjnych, przeniesienie istniejącej gry na Androida do samochodów wymaga przede wszystkim skonfigurowania pliku manifestu aplikacji i zapewnienia, że gra uwzględnia stan zaparkowania pojazdu.

Oznaczanie aplikacji jako gry

Aby dystrybuować aplikację w kategorii gier, musisz wyraźnie zadeklarować jej kategorię. Dodaj atrybut android:appCategory="game" do elementu <application> w pliku manifestu:

<application ... 
    android:appCategory="game">
    ...
</application>

Deklarowanie obsługi Androida Auto

Gry są obsługiwane w Androidzie Auto na urządzeniach z Androidem 15 lub nowszym. Aby zadeklarować, że Twoja gra obsługuje Androida Auto, dodaj ten element <category> do filtra intencji aktywności w pliku manifestu:

<activity ... 
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        ...
        <category android:name="android.intent.category.CAR_LAUNCHER" />
    </intent-filter>
</activity>

Zwykle element kategorii android.intent.category.CAR_LAUNCHER jest umieszczany w tym samym filtrze intencji co element android.intent.category.LAUNCHER, ale może się znajdować w filtrze intencji innej aktywności, jeśli wolisz uruchamiać inną aktywność.

Deklarowanie obsługi systemu operacyjnego Android Automotive

Aby zadeklarować, że gra obsługuje system operacyjny Android Automotive, dodaj element android.hardware.type.automotive <uses-feature> do pliku manifestu.

<manifest ... 
    ...
    <uses-feature android:name="android.hardware.type.automotive"
                  android:required="false" />
    ...
</manifest>

Wartość android:required ma różne ograniczenia w zależności od tego, którą ścieżkę wybierzesz do dystrybucji aplikacji na system operacyjny Android Automotive. Jeśli rozpowszechniasz aplikację na system operacyjny Android Automotive na ścieżce mobilnej, wartość android:required musi być ustawiona na "false". Jeśli jednak rozpowszechniasz aplikację na osobnej ścieżce systemu operacyjnego Android Automotive, możesz ustawić wartość android:required na "true", "false" lub pozostawić to pole bez zmian. Pozostawienie tego pola bez ustawionej wartości jest równoznaczne z ustawieniem wartości android:required na "true", co oznacza, że aplikacja jest dostępna tylko na urządzeniach z systemem operacyjnym Android Automotive.

Obsługa stanu zaparkowania

Samochody wprowadzają unikalny kontekst fizyczny ze stanem jazdy i stanem parkowania. Niektóre typy aplikacji, np. gry, są uznawane za aplikacje przeznaczone do obsługi na postoju i nie mogą być uruchamiane podczas jazdy, aby nie rozpraszać kierowcy. Domyślnie Android Auto i system operacyjny Android Automotive blokują możliwość używania i uruchamiania aktywności, gdy pojazd jest w ruchu lub gdy aktywne są ograniczenia dotyczące wrażeń użytkownika. Aby mieć pewność, że gra jest zgodna z wytycznymi dotyczącymi rozpraszania uwagi kierowcy, nie umieszczaj elementu metadanych distractionOptimized w żadnej aktywności w pliku manifestu. Musisz też zadbać o to, aby dźwięk w grze wyłączał się, gdy użytkownik zaczyna prowadzić samochód, i nie można było go ponownie włączyć, gdy pojazd jest w ruchu.

TrivialKartSample.png
Przykładowa aplikacja TrivialKart for Unity uruchomiona na jednostce głównej na desce rozdzielczej w zaparkowanym samochodzie.
UXRestrictionsActive.png
Zachowanie zaparkowanej aplikacji, gdy aktywne są ograniczenia UX.

Gdy użytkownik ponownie uruchomi aplikację z ekranu głównego, gra musi przywrócić stan aplikacji jak najbardziej zbliżony do poprzedniego. Sprawdź, czy gra działa płynnie i nie zawiesza się ani nie zacina podczas rozgrywki.

Deklarowanie obsługi kontrolera do gier

Ekrany samochodowe obsługują sterowanie dotykowe, ale wielu użytkowników woli grać za pomocą podłączonego gamepada. Jeśli Twoja gra obsługuje sterowanie za pomocą kontrolera, zadeklaruj funkcję android.hardware.gamepad w pliku manifestu, aby zwiększyć widoczność aplikacji w Sklepie Google Play dla użytkowników, którzy szukają gier obsługujących kontrolery.

<uses-feature android:name="android.hardware.gamepad" android:required="false"/>

Ustaw atrybut android:required na false, aby wskazać, że aplikacja obsługuje kontrolery, ale ich używanie jest opcjonalne. Nie ustawiaj atrybutu android:required na true, chyba że kontroler jest wymagany w Twojej grze.

obsługiwać typowe rozmiary ekranu i formaty obrazu;

Wyświetlacze samochodowe mają różne kształty i formaty obrazu, w tym ekrany pionowe i szerokie ekrany poziome. Aby zapewnić użytkownikom jak najlepsze wrażenia, dostosuj grę do różnych rozmiarów ekranu, tak aby działała w trybie pełnoekranowym bez letterboxingu i pillarboxingu. W przypadku Androida Auto zapoznaj się ze wskazówkami dotyczącymi testowania na kanonicznych rozmiarach ekranu i używaj dołączonych profili sprzętowych podczas testowania w emulatorze systemu operacyjnego Android Automotive.

Publikowanie gry na potrzeby samochodów

Po wprowadzeniu niezbędnych zmian możesz wyrazić zgodę na formaty Android Auto i system operacyjny Android Automotive w Konsoli Google Play. Przed przesłaniem gry do wersji produkcyjnej przetestuj ją pod kątem zgodności ze wskazówkami dotyczącymi jakości aplikacji samochodowych.

Użyj jednostki głównej na komputer, aby przetestować zgodność aplikacji z Androidem Auto, a emulatora systemu operacyjnego Android Automotive, aby sprawdzić działanie aplikacji w tym systemie. Zanim gra zostanie zatwierdzona do testów otwartych lub wdrożenia w wersji produkcyjnej, sprawdzimy ją pod kątem wskazówek dotyczących jakości aplikacji samochodowych w kategorii gier.

Graj w gry w podróży

Kategoria gier jest już ogólnie dostępna, więc to idealny moment, aby zoptymalizować swoje tytuły pod kątem samochodów. Więcej informacji o szczegółach implementacji znajdziesz w dokumentacji na stronie Tworzenie gier na samochody.

Autorzy:
Czytaj dalej