El SO Android Automotive es una versión de Android optimizada para el uso en el automóvil que se basa en la plataforma principal de Android. Los vehículos con Google integrado ejecutan el SO Android Automotive y vienen con apps y servicios de Google, incluidos Google Play, Gemini, Asistente de Google y Google Maps.
Obtén información sobre el hardware del SO Android Automotive
Para obtener más información sobre las especificaciones de hardware mínimas para los dispositivos con el SO Android Automotive, consulta la sección Requisitos automotrices del Documento de definición de compatibilidad (CDD) de Android para las versiones de Android que admite tu app.
Cortes de pantalla
Al igual que con otros factores de forma de Android, los dispositivos con el SO Android Automotive con pantallas no rectangulares admiten cortes de pantalla. Sin embargo, el tamaño y la forma de los cortes que se encuentran en los automóviles pueden ser muy diferentes de los que se encuentran en otros factores de forma. Consulta Cómo trabajar con inserciones de ventana y cortes de pantalla para obtener instrucciones detalladas.
Audio
Los dispositivos con el SO Android Automotive suelen ser dispositivos de volumen fijo. Para obtener más información sobre cómo esto puede afectar a tu app, consulta Cómo trabajar con dispositivos de volumen fijo.
Comprende el software del SO Android Automotive
Si bien el SO Android Automotive se basa en el mismo sistema operativo principal que usan otros factores de forma, tiene algunas funciones adicionales exclusivas que pueden afectar la forma en que se pueden desarrollar y usar las apps.
IU del sistema
Hay algunas diferencias en el funcionamiento de estos elementos de la IU del sistema en los automóviles que debes conocer.
Navegación
A diferencia de otros factores de forma, no es necesario que los dispositivos con el SO Android Automotive tengan una función de hardware o software para volver atrás. Cuando no se ejecutan en
el modo de compatibilidad, las actividades implementadas por tu app deben incluir funciones de la IU
para habilitar la navegación en la app y cumplir con el AN-1 lineamiento de calidad.
Diseño de la barra del sistema
Al igual que con otros factores de forma, el SO Android Automotive incluye barras del sistema como barras de estado y barras de navegación. En los automóviles, estas barras pueden tener un tamaño y una posición diferentes que en otros factores de forma. Por ejemplo, las barras de navegación pueden colocarse a la izquierda, a la derecha o en la parte inferior de la pantalla. Incluso en el caso de que haya una barra de estado en la parte superior y una barra de navegación en la parte inferior (como sucede con la mayoría de los teléfonos y tablets), es probable que el tamaño de estos elementos sea mucho mayor en los automóviles.
Además, si bien los cortes de pantalla en dispositivos móviles suelen estar contenidos dentro de los límites de las barras del sistema, este no es el caso en los automóviles.
Consulta Cómo trabajar con inserciones de ventana y cortes de pantalla para obtener instrucciones detalladas.
Modo envolvente
El SO Android Automotive permite a los OEM controlar si las apps pueden mostrar u ocultar las barras del sistema para ingresar al modo envolvente y salir de él. Al evitar que las apps oculten las barras del sistema, los OEM pueden asegurarse de que siempre se pueda acceder a los controles del vehículo, como los de climatización, en la pantalla.
Restricciones de la experiencia del usuario
Las restricciones de la experiencia del usuario (UX) son la capacidad integrada en el SO Android Automotive para abordar las consideraciones de distracción del conductor. Las restricciones de UX son responsables de evitar automáticamente el uso de apps que no se optimizaron para usarse mientras se conduce.
El conjunto exacto de reglas que determinan cómo y cuándo están activas las restricciones de UX lo determinan los fabricantes de vehículos. Estas reglas pueden variar según la ubicación geográfica. Por ejemplo, el mismo vehículo que se vende en Europa puede tener reglas diferentes a las que se venden en Estados Unidos.
Las reglas de restricción de UX también pueden variar según la pantalla dentro de un vehículo. Por ejemplo, es posible que una pantalla central en la línea de visión del conductor esté restringida mientras el vehículo está en movimiento, mientras que una pantalla del pasajero permanecería sin restricciones.
Si tu app necesita adaptarse a las restricciones de UX, haz referencia a ellas directamente. No intentes aplicar ingeniería inversa a su implementación. Por ejemplo, si supones que las restricciones de UX están activas cuando la marcha no está en estacionamiento, es posible que restrinjas innecesariamente una app que se ejecuta en una pantalla del pasajero.
Optimización de distracciones
De forma predeterminada, las actividades no se pueden ejecutar mientras las restricciones de UX están activas para limitar las distracciones del conductor. Para indicarle al sistema que una actividad
debe seguir ejecutándose mientras el vehículo está en movimiento, se puede agregar el siguiente <meta-data>
elemento dentro del elemento <activity> correspondiente.
<activity ...>
<meta-data android:name="distractionOptimized" android:value="true">
</activity>
Cuando desarrolles apps para el SO Android Automotive, la única vez que estos metadatos
deben estar presentes en tu manifiesto es cuando declaras el <activity> elemento de manifiesto
para el CarAppActivity de una app compilada con la Biblioteca de apps para vehículos.
Ninguna otra actividad debe marcarse como optimizada para distracciones. Si lo haces, se rechazará tu app cuando la envíes a Google Play Store.
Accesibilidad
La compatibilidad con la accesibilidad para el SO Android Automotive no es tan amplia como en otros factores de forma. TalkBack, Accesibilidad con interruptores y Acceso por voz no están disponibles en dispositivos con el SO Android Automotive.
Las preferencias de subtítulos se admiten en dispositivos con el SO Android Automotive. Consulta Adopta la configuración de subtítulos del sistema para obtener detalles de la integración.
Selección de red
El SO Android Automotive admite la selección de red por aplicación (PANS), que permite a los OEM enrutar el tráfico de red móvil a diferentes redes según cada aplicación.
La mayoría de las apps usan solo la red predeterminada que se les asignó y solo se benefician de esta función. Por ejemplo, el OEM puede pagar el tráfico de red de tu app, incluso si el usuario no tiene su propio plan de datos. Si tu app (o una de sus dependencias) depende de redes que no sean la predeterminada, es posible que no se beneficie de las preferencias establecidas por el OEM. Consulta Lee el estado de la red para obtener más instrucciones sobre el uso de redes que no sean la predeterminada.
Funciones del sistema
Puedes detectar si una función determinada está disponible con
PackageManager::hasSystemFeature y ajustar el comportamiento de tu app
en consecuencia.
Funciones de hardware
Al igual que con otros factores de forma que no son para dispositivos móviles, las funciones de hardware disponibles en los automóviles pueden diferir de las que se encuentran en los dispositivos móviles.
Orientación de la pantalla
Al igual que las TVs, los automóviles son dispositivos de orientación fija. A diferencia de las TVs, vienen en orientación vertical y horizontal. Para garantizar que las apps compiladas para el SO Android Automotive se puedan distribuir a todos los vehículos, las apps deben asegurarse de que no tengan ningún requisito de función explícito o implícito para las funciones android.hardware.screen.landscape o android.hardware.screen.portrait.
Ubicación de red
Muchos dispositivos con el SO Android Automotive no implementan la pila de telefonía que se usa
para proporcionar la ubicación de red y, por lo tanto, no informan la
android.hardware.location.network función del sistema. Aunque es posible que la ubicación de red
no esté disponible, aún se admite el acceso a la ubicación aproximada.
Consulta Ubicación aproximada en el SO Android Automotive.
Funciones de software
Es posible que algunas funciones de software que se encuentran comúnmente en otros factores de forma no sean compatibles con dispositivos con el SO Android Automotive. Por ejemplo, las siguientes funciones no están disponibles en muchos vehículos con el SO Android Automotive:
Cumple con los requisitos de funciones de Google Play
Para distribuirse a los automóviles a través de Google Play, las apps compiladas para el SO Android Automotive
deben incluir un elemento <uses-feature> en el archivo
AndroidManifest.xml para la función android.hardware.type.automotive:
<manifest ...>
...
<!--
See Choose a track for Android Automotive OS
for details on how to choose which value to use for the android:required attribute.
-->
<uses-feature
android:name="android.hardware.type.automotive"
android:required="[true|false]">
...
</manifest>
Además, si tu app tiene alguna declaración de función explícita con
android:required="true" o un requisito de función implícito para cualquiera de las
siguientes funciones, debes actualizarlas o quitarlas para que los requisitos de funciones de tu app no impidan su distribución a vehículos compatibles:
android.hardware.wifiandroid.hardware.screen.portraitandroid.hardware.screen.landscapeandroid.hardware.camera
Para las funciones declaradas explícitamente con android:required="true", puedes hacer
una de las siguientes acciones:
- Borra el
<uses-feature>elemento si la función no es necesaria de forma implícita. - Declara explícitamente la función con
android:required="false".
Para las funciones requeridas de forma implícita, puedes hacer una de las siguientes acciones:
- Declara explícitamente la función con
android:required="false". - Quita o actualiza los valores del manifiesto que introducen el requisito implícito en la función.
Cambiar las declaraciones de funciones en tu manifiesto no afecta el funcionamiento real de tu app, por lo que debes verificar que tu app siga funcionando correctamente sin estas funciones.
Preguntas frecuentes
¿Qué vehículos vienen con Google integrado?
Consulta el sitio Vehículos con Google integrado para obtener una lista de los OEM que tienen modelos con Google integrado. Las especificaciones de hardware y otros detalles del dispositivo se pueden obtener con el Catálogo de dispositivos de Play Console.