Criar apps de vídeo para o Android Automotive OS

Além das diretrizes descritas em Criar apps do Android Automotive OS para carros estacionados, há alguns requisitos específicos para apps de vídeo.

Marcar como um app de vídeo

Para indicar que o app oferece suporte a vídeo, adicione um arquivo XML chamado automotive_app_desc.xml ao diretório res/xml/ no projeto. Nesse arquivo, inclua o seguinte conteúdo:

<automotiveApp>
  <uses name="video"/>
</automotiveApp>

Em seguida, no elemento <application> do manifesto, adicione o elemento <meta-data> abaixo, que referencia o arquivo XML:

<meta-data
  android:name="com.android.automotive"
  android:resource="@xml/automotive_app_desc"/>

Suporte a áudio enquanto dirige

O áudio enquanto dirige é um recurso Beta
A publicação de apps com suporte a áudio ao dirigir está limitada aos parceiros com acesso antecipado. Enquanto esse recurso estiver na versão Beta, siga as orientações desta seção para preparar seu app para oferecer suporte.

Em geral, todos os apps de vídeo precisam pausar a reprodução quando as restrições de experiência do usuário estão ativas, conforme descrito em Evitar atividades otimizadas para distração.

No entanto, alguns veículos têm a capacidade de mostrar controles de reprodução otimizados para direção enquanto as restrições de experiência do usuário estão ativas, permitindo continuar a reprodução de áudio.

Controles de reprodução otimizados para um app que oferece suporte a áudio ao dirigir.
Figura 1: controles de reprodução otimizados para um app compatível com áudio enquanto dirige.

Declarar que o app oferece suporte a áudio enquanto o carro está em movimento

Para indicar que o app oferece suporte a áudio enquanto o usuário dirige, adicione o seguinte elemento <uses-feature> ao manifesto:

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

Oferecer suporte à reprodução em segundo plano

Como as atividades do app estão ocultas pelas restrições de UX do sistema, ele precisa oferecer suporte à reprodução em segundo plano para continuar reproduzindo áudio enquanto você dirige. Consulte Reprodução em segundo plano com uma MediaSessionService para saber como fazer isso usando a biblioteca Media3.

O app precisa postar uma notificação MediaStyle que inclua o MediaSession. Se você estiver usando MediaSessionService, isso será gerenciado por padrão.

Determinar o suporte

Para determinar se um dispositivo oferece suporte a áudio enquanto o usuário dirige, use a classe CarFeatures da biblioteca androidx.car.app:app.

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

Use essas informações para modificar o comportamento do app de acordo com os recursos do dispositivo em que ele está sendo executado. Em dispositivos que não oferecem suporte a áudio enquanto dirigem, seu app ainda precisa atender à diretriz DD-2.

Testar o áudio enquanto dirige

Para testar a implementação, você pode simular a direção usando uma imagem do emulador que oferece suporte a áudio enquanto dirige.

Perguntas frequentes

Há suporte para o DRM da Widevine?

Sim, o Android Automotive OS oferece suporte ao Widevine DRM L3.