Novedades sobre productos

¿Qué novedades incorpora Wear OS 7?

Lectura de 9 min
John Zoeller
Ingeniero de Relaciones con Desarrolladores, Wear OS

Hoy, nos complace presentar Wear OS 7, una actualización importante que ofrece una nueva era de eficiencia energética e inteligencia para usuarios y desarrolladores.

Reconocemos que los relojes son compañeros esenciales para tus usuarios durante todo el día. Por eso, seguimos invirtiendo en optimizaciones de energía para que los usuarios puedan hacer más con sus apps favoritas. En el caso de los relojes que se actualizan de Wear OS 6 a Wear OS 7, los usuarios promedio pueden esperar una mejora de hasta el 10% en la duración de la batería.

Como parte de un lanzamiento más amplio al ecosistema de Android, algunos relojes que llegarán más adelante este año incluirán Gemini Intelligence, que proporciona ayuda proactiva y personalizada a los usuarios para que puedan enfocarse en lo que importa. 

Con Wear OS 7, presentamos nuevas capacidades del sistema y herramientas mejoradas para desarrolladores. Las nuevas funciones orientadas al usuario, como las Actualizaciones en tiempo real y los controles de contenido multimedia mejorados, ofrecen una experiencia más inteligente e intuitiva en la muñeca. Además, con las mejoras en nuestro kit de herramientas para desarrolladores, como Wear Compose 1.6 y AppFunctions, los desarrolladores podrán optimizar las experiencias de sus apps para la muñeca.  

Comencemos.

Wear OS 7 Canary

Ahora puedes probar la próxima versión de la plataforma de relojes inteligentes de Google, Wear OS 7 Canary Emulator, basada en Android 17, que llegará más adelante este año.  

El nuevo emulador te permite probar las funciones y herramientas para desarrolladores mencionadas anteriormente mientras pruebas tu app para verificar su compatibilidad con la próxima plataforma.  

Consulta qué cambió y comienza a probar tu app hoy mismo.

Explora las nuevas funciones de Wear OS

Widgets de Wear OS

Widgets (1).png

Las tarjetas de pantalla completa han sido una superficie de referencia en Wear OS, ya que proporcionan a los usuarios acceso instantáneo y rápido a sus actualizaciones esenciales. A medida que el ecosistema de Android avanza hacia una visión unificada para los widgets, acercamos el reloj al resto de la familia de Android con el objetivo de minimizar los esfuerzos de los desarrolladores.

Hoy, nos complace presentar el siguiente paso en la evolución de las tarjetas: los widgets de Wear flexibles y dinámicos. 

Con tecnología de Jetpack Glance y el nuevo framework RemoteCompose, los widgets de Wear ofrecen mayor expresividad y coherencia con Compose que las bibliotecas de tarjetas ProtoLayout. Los widgets de Wear admiten dos nuevos diseños de tarjetas (pequeños y grandes) que se alinean perfectamente con los formatos 2x1 y 2x2 en dispositivos móviles, lo que garantiza que tus diseños se sientan cohesivos en todos los dispositivos y, al mismo tiempo, te permite optimizar tus diseños para la muñeca.

Es fácil adaptar la IU de mainSlot de tu tarjeta de pantalla completa a un widget de 2x2. Disfrútalo.

widgets code (1).png

Consulta la charla de I/O sobre widgets más adelante esta semana para obtener detalles completos sobre las nuevas funciones y prueba nuestra Guía de introducción a los widgets para agregar un widget a tu experiencia de Wear OS.

Actualizaciones en tiempo real

Publicación de blog sobre las Actualizaciones en tiempo real (1).png

Wear OS 7 incorpora Actualizaciones en tiempo real a los relojes.

Puedes usar las Actualizaciones en tiempo real para mostrar información importante en tiempo real desde tu reloj o app para dispositivos móviles, lo que les proporciona a los usuarios actualizaciones oportunas de un vistazo.

En tu app de reloj, usa las Actualizaciones en tiempo real en lugar de la API de Ongoing Activities para proporcionar la publicación de actualizaciones locales en todos los dispositivos Wear 7. En el caso de los OEMs compatibles, las Actualizaciones en tiempo real publicadas por tu app para teléfonos también se transferirán a los relojes de los usuarios.

Consulta cómo Just Eat proporciona actualizaciones a sus usuarios más arriba.

Para obtener más información, consulta Notificaciones en Wear OS.

Conecta tu app al sistema de inteligencia

Estamos trabajando en varias formas para que los desarrolladores proporcionen experiencias de agentes en el reloj, desde AppFunctions hasta herramientas de automatización de tareas.

Anunciaremos estas funciones en nuestro blog para desarrolladores cuando estén listas y proporcionaremos una guía para desarrolladores integral que te ayudará a elegir la adecuada y crear una implementación sólida. Por ahora, aquí tienes un resumen.

AppFunctions

Watch_IO26_Samsung_App_Functions (1).gif

La API de AppFunctions permite a los desarrolladores integrar sus apps con agentes y asistentes, como Google Gemini, lo que permite a los usuarios completar tareas con la voz y, a menudo, reemplaza la necesidad de navegación manual paso a paso con tu IU.  

Por ejemplo, para iniciar una carrera con la app de Samsung Health, los usuarios pueden decirle a Gemini: "Comienza a hacer un seguimiento de mi carrera".

Actualmente, ejecutamos un Programa de acceso anticipado para todos los desarrolladores interesados. Regístrate en nuestro formulario para expresar tu interés.

Automatización de tareas

Watch_IO26_RemoteBonobo_Doordash_onBG_a22_GIF (1).gif

Además, muy pronto, sin ningún esfuerzo de desarrollo, los usuarios podrán invocar y hacer un seguimiento de tareas automatizadas de la app para apps de teléfono seleccionadas directamente desde su reloj, como hacer un pedido con DoorDash.

No te pierdas estas opciones flexibles sobre cómo preparar y conectar tu app al sistema de inteligencia de Android en nuestro blog para desarrolladores.

Monitor de entrenamiento de Wear

Watch_IO26_SystemFitnessTracker_onBG_a05 (1).gif

Sabemos que crear una experiencia de seguimiento de actividad física completa y de alta calidad en Wear OS desde cero requiere muchos recursos, por lo que creamos la nueva experiencia de Monitor de entrenamiento de Wear para apps de ejercicio. Se incluirá en Wear OS más adelante este año. 

El monitor de entrenamiento proporciona una experiencia de seguimiento de entrenamiento estandarizada y enriquecida que incluye la supervisión de la frecuencia cardíaca, los controles multimedia y una colección de otras funciones útiles para ayudarte a reducir la inversión en desarrollo y garantizar una experiencia de alta calidad para tus usuarios.

Trabajamos en estrecha colaboración con ASICS Runkeeper para ofrecerlo a sus usuarios. ¡Échale un vistazo!

Controles de contenido multimedia del sistema mejorados en Wear OS 7

Wear OS 7 mejora los controles de contenido multimedia del sistema, lo que les brinda a los usuarios más control y experiencias fluidas para su contenido multimedia.

Controles de inicio automático de contenido multimedia por app

Watch_IO26_AutoLaunch_Media_onBG_a05 (1).gif

Ahora, los usuarios pueden personalizar su experiencia de inicio automático de contenido multimedia por app directamente desde los controles de contenido multimedia del sistema en el reloj.

En cualquier app en la que el usuario tenga activada la opción "Configuración de inicio automático", los controles de contenido multimedia aparecerán automáticamente en el reloj cuando se inicie el contenido multimedia en el teléfono. 

Los desarrolladores con una implementación existente de apps de contenido multimedia que se extienden en el reloj pueden beneficiarse de esta función sin esfuerzo adicional.

Enrutamiento de audio fluido con el selector de salida remota

Remote Output Switcher (1).png

Administrar la salida de audio ahora es más fácil que nunca con el nuevo selector de salida remota integrado en los controles de contenido multimedia del sistema. 

Cuando escuchan contenido multimedia en un teléfono vinculado, los usuarios pueden cambiar sin esfuerzo el dispositivo en el que se reproduce el contenido multimedia directamente desde la muñeca.

Actualizaciones de la biblioteca de la IU

Junto con todas estas funciones nuevas para los usuarios, presentamos algunas mejoras potentes en nuestros kits de herramientas para desarrolladores para ayudarlos a prepararse para el futuro de Wear OS.

Compose para Wear OS 1.6

Como base para el desarrollo de Wear OS, llegó Compose para Wear OS 1.6.

Incluye actualizaciones potentes, como las siguientes:

Navegación optimizada con Navigation 3

Los desarrolladores pueden integrar Navigation 3 para proporcionar una forma más flexible y idiomática de Compose para controlar la navegación en Wear OS.

@Composable
fun WearApp() {
    val backStack = rememberNavBackStack(MenuScreen)

    WearAppTheme {
        AppScaffold {
            val entryProvider = remember {
                entryProvider<NavKey> {
                    entry<MenuScreen> { GreetingScreen() }
                    entry<ListNavScreen> { ListScreen() }
                }
            }

            val swipeDismissableSceneStrategy = 
                rememberSwipeDismissableSceneStrategy<NavKey>()

            NavDisplay(
                backStack = backStack,
                entryProvider = entryProvider,
                sceneStrategies = listOf(swipeDismissableSceneStrategy)
            )
        }
    }
}

Mejoras en la administración de listas para TransformingLazyColumn

Se incluyen mejoras significativas para la administración avanzada de listas con TransformingLazyColumn, incluida la compatibilidad mejorada con el padding a través del nuevo modificador minimumVerticalContentPadding y otras funciones nuevas, como el ajuste y el diseño inverso.

val listState = rememberTransformingLazyColumnState()
val transformationSpec = rememberTransformationSpec()

/*
 * TransformingLazyColumn takes care of the horizontal and vertical
 * padding for the list and handles scrolling.
 */
ScreenScaffold(scrollState = listState) { contentPadding ->
    TransformingLazyColumn(
        state = listState,
        contentPadding = contentPadding
    ) {
        item {
            ListHeader(
                modifier = Modifier
                    .fillMaxWidth()
                    .transformedHeight(this, transformationSpec)
                    .minimumVerticalContentPadding(
                        ListHeaderDefaults.minimumTopListContentPadding
                    ),
                    transformation = SurfaceTransformation(transformationSpec)
            ) { Text(text = "Header") }
        }
    }
}

Optimiza las experiencias ambiente con LocalAmbientModeManager

El nuevo LocalAmbientModeManager está optimizado para controlar los flujos ambiente, lo que les brinda a los desarrolladores un mayor control sobre cómo se presentan sus experiencias ambiente a los usuarios. 

 
override fun onCreate(savedInstanceState: Bundle?) {
    setContent {
        val ambientModeManager = rememberAmbientModeManager()
        CompositionLocalProvider(LocalAmbientModeManager provides ambientModeManager) {
            val localAmbientModeManager = LocalAmbientModeManager.current
            val ambientMode = localAmbientModeManager?.currentAmbientMode

            Column(
                verticalArrangement = Arrangement.Center,
                horizontalAlignment = Alignment.CenterHorizontally,
                modifier = Modifier.fillMaxSize(),
            ) {
                val ambientModeName =
                    when (ambientMode) {
                        is AmbientMode.Interactive -> "Interactive"
                        is AmbientMode.Ambient -> "Ambient"
                        else -> "Unknown"
                    }

                val color = if (ambientMode is AmbientMode.Ambient) Color.Gray
                    else Color.Yellow
                Text(text = "$ambientModeName Mode", color = color)
            }
        }
    }
}

Actualizaciones de Protolayout y tarjetas

Si bien recomendamos a los desarrolladores que adopten los nuevos widgets de Wear, seguiremos admitiendo nuestras bibliotecas de Protolayout y tarjetas durante un tiempo, y tenemos nuevas versiones estables de ambas.

Protolayout 1.4Tarjetas 1.6 funcionan en conjunto para proporcionar varias funciones nuevas notables, incluidas las siguientes:

  • Recursos de imagen intercalados: ImageResource ahora se puede intercalar directamente dentro de un diseño, y las tarjetas ahora admiten la recopilación automática de recursos a través de ProtoLayoutScope, lo que elimina la necesidad de asignar y dividir recursos de forma manual en métodos separados. Además de una mejor calidad del código, esto mejora la latencia de carga de las tarjetas a través de la consolidación en una sola llamada de vinculador del sistema al servicio de proveedor.
  • Material3TileService: Las tarjetas se pueden implementar como Material3TileService, una función de suspensión integral que muestra el diseño y los recursos de la tarjeta, mientras administra automáticamente MaterialScope y ProtoLayoutScope para simplificar la experiencia de desarrollo.
  • Cambio de servicio dinámico: En Wear 7, ahora se pueden agrupar varias instancias de TileService en el manifiesto para habilitar el cambio dinámico entre diferentes servicios que representan la misma tarjeta.

Consulta la nueva muestra de tarjetas aquí.

WFF 5

La versión 5 del Formato de Caras de Relojes (WFF5) ya está disponible con una serie de funciones nuevas para facilitar la creación de caras de reloj, incluidas las siguientes:

  • Opciones de alineación mejoradas: Los elementos de texto, como TextCircular, ahora tendrán opciones de alineación adicionales, incluido verticalAlign en la misma línea de base para varios elementos de texto.
  • Mejoras en el ajuste automático de tamaño: isAutoSize ahora se puede usar en TextCircular, y se agregó un atributo nuevo, minSize, al elemento Font para limitar el tamaño mínimo cuando está habilitado el ajuste automático de tamaño.
  • Modos de combinación: Los elementos Group y ComplicationSlot ahora admiten el modo de combinación, además de la compatibilidad existente con los elementos Part*.
  • Uniones de trazo: Los elementos Stroke y WeightedStroke ahora incluyen un atributo de unión.
  • Configuración jerárquica: Los estilos de usuario ahora se pueden estructurar como una jerarquía, en la que algunos parámetros de configuración solo son visibles cuando otros parámetros de configuración tienen valores específicos. Los estilos de usuario ahora también pueden habilitar o inhabilitar ranuras de complicaciones. Se pueden configurar con childSettingIds y complicationSlotIds en las opciones de estilo de usuario.

Consulta nuestra nueva guía para desarrolladores para obtener más información sobre WFF 5.

Comienza a compilar para Wear OS 7 ahora

Con estas actualizaciones, nunca fue un mejor momento para desarrollar una app en Wear OS. Estos recursos técnicos son un excelente lugar para obtener más información sobre cómo comenzar:

Esperamos ver las experiencias que crees en Wear OS.

Escrito por:

Seguir leyendo