Tworzenie aplikacji wideo na system operacyjny Android Automotive

Oprócz wytycznych opisanych na stronie Tworzenie aplikacji na system operacyjny Android Automotive do użytku po zaparkowaniu istnieją pewne wymagania dotyczące aplikacji wideo.

Oznaczanie aplikacji jako aplikacji wideo

Aby wskazać, że Twoja aplikacja jest aplikacją wideo, dodaj atrybut android:appCategory="video" do elementu <application> w pliku manifestu.

<manifest ...>
    ...
    <application
      ...
      android:appCategory="video">
        ...
    </application>
</manifest>

Wsparcie audio podczas jazdy

Dźwięk podczas jazdy to funkcja beta
Publikowanie aplikacji obsługujących dźwięk podczas jazdy jest ograniczone do partnerów z wcześniejszym dostępem. Podczas gdy ta funkcja jest w wersji beta, możesz przygotować aplikację do obsługi, postępując zgodnie z wskazówkami w tej sekcji.

Ogólnie wszystkie aplikacje wideo muszą wstrzymywać odtwarzanie, gdy aktywne są ograniczenia dotyczące wrażeń użytkownika, zgodnie z opisem w artykule Spełnianie wymagań dotyczących rozpraszania uwagi kierowcy.

Niektóre pojazdy mogą jednak wyświetlać elementy sterujące odtwarzaniem zoptymalizowane pod kątem jazdy, gdy ograniczenia dotyczące wrażeń użytkownika są aktywne, co umożliwia kontynuowanie odtwarzania dźwięku.

Elementy sterujące odtwarzaniem zoptymalizowane pod kątem jazdy w przypadku aplikacji, która obsługuje dźwięk podczas jazdy.
Rysunek 1. Optymalizacja elementów sterujących odtwarzaniem w aplikacji obsługującej dźwięk podczas jazdy.

Potwierdź, że Twoja aplikacja obsługuje dźwięk podczas jazdy

Aby wskazać, że Twoja aplikacja obsługuje dźwięk podczas jazdy, dodaj do manifestu ten element:<uses-feature>

<application ...>
    ...
    <uses-feature android:name="com.android.car.background_audio_while_driving" android:required="false">
    ....
</application>

Obsługa odtwarzania w tle

Działania aplikacji są ukryte przez ograniczenia interfejsu systemu, więc aplikacja musi obsługiwać odtwarzanie w tle, aby odtwarzać dźwięk podczas jazdy. Więcej informacji o tym, jak to zrobić za pomocą biblioteki Media3, znajdziesz w artykule Odtwarzanie w tle za pomocą MediaSessionService.

Aplikacja musi wysyłać powiadomienie MediaStyle, które zawiera MediaSession. Jeśli używasz MediaSessionService, jest to domyślnie obsługiwane.

Określanie pomocy

Aby sprawdzić, czy urządzenie obsługuje dźwięk podczas jazdy, możesz użyć klasy CarFeatures z biblioteki androidx.car.app:app.

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

Używaj tych informacji, aby modyfikować działanie aplikacji w zależności od możliwości urządzenia, na którym jest ona uruchomiona. Na urządzeniach, które nie obsługują dźwięku podczas jazdy, aplikacja musi nadal spełniać wytyczne DD-2.

Sprawdzanie dźwięku podczas jazdy

Aby przetestować implementację, możesz symulować jazdę za pomocą obrazu emulatora, który obsługuje dźwięk podczas jazdy.

Najczęstsze pytania

Czy DRM Widevine jest obsługiwany?

Tak, Widevine DRM L3 jest obsługiwany w systemie Android Automotive OS.