Compilación de apps de video para el SO Android Automotive

Además de los lineamientos que se describen en Cómo compilar apps para usar en el SO Android Automotive con el vehículo estacionado, hay algunos requisitos específicos de las apps de video.

Marca tu app como app de video

Para indicar que tu app es una app de video, agrega el atributo android:appCategory="video" al elemento <application> de tu manifiesto.

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

Compatibilidad con audio mientras conduces

El audio mientras conduces es una función beta
La publicación de apps que admiten audio mientras conduces se limita a los socios con acceso anticipado. Mientras esta función esté en versión beta, puedes preparar tu app para que sea compatible con ella siguiendo las instrucciones de esta sección.

En general, todas las apps de video deben pausar la reproducción cuando las restricciones de la experiencia del usuario estén activas, como se describe en Cumple con los requisitos de distracción del conductor.

Sin embargo, algunos vehículos pueden mostrar controles de reproducción optimizados para la conducción mientras las restricciones de la experiencia del usuario están activas, lo que permite seguir reproduciendo audio.

Controles de reproducción optimizados para la conducción en una app que admite audio mientras conduces.
Figura 1: Controles de reproducción optimizados para la conducción en una app que admite audio mientras se conduce.

Declara que tu app admite audio mientras se conduce

Para indicar que tu app admite audio mientras se conduce, agrega el siguiente elemento <uses-feature> al manifiesto:

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

Cómo admitir la reproducción en segundo plano

Debido a que las restricciones de UX del sistema ocultan las actividades de tu app, esta debe admitir la reproducción en segundo plano para seguir reproduciendo audio mientras conduces. Consulta Cómo reproducir contenido en segundo plano con un MediaSessionService para obtener detalles sobre cómo lograr esto con la biblioteca de Media3.

Tu app debe publicar una notificación MediaStyle que incluya el MediaSession de la app. Si usas MediaSessionService, se controla de forma predeterminada.

Determina la asistencia

Para determinar si un dispositivo admite audio mientras se conduce, puedes usar la clase CarFeatures de la biblioteca androidx.car.app:app.

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

Usa esta información para modificar el comportamiento de tu app según las capacidades del dispositivo en el que se ejecuta. En los dispositivos que no admiten audio mientras se conduce, tu app debe cumplir con el lineamiento DD-2.

Prueba el audio mientras conduces

Para probar tu implementación, puedes simular la conducción con una imagen del emulador que admita audio mientras conduces.

Preguntas frecuentes

¿Widevine DRM es compatible?

Sí, Widevine DRM L3 es compatible con el SO Android Automotive.