Novedades sobre productos

Novedades de Wear OS 7

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

Hoy nos complace presentar Wear OS 7, una actualización importante que trae 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 actualicen 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.

Además, como parte de un lanzamiento más amplio para el ecosistema de Android, algunos relojes que llegarán más adelante este año incluirán Gemini Intelligence, que brindará 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 para desarrolladores mejoradas. Las nuevas funciones para el usuario, como las Actualizaciones en vivo, y los controles multimedia mejorados brindan una experiencia más inteligente y más 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 para 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 verificas la compatibilidad de tu app 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 brindan a los usuarios acceso instantáneo y de un vistazo a sus actualizaciones esenciales. A medida que el ecosistema de Android avanza hacia una visión unificada de 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 los Tiles: los widgets de Wear flexibles y dinámicos. 

Gracias a Jetpack Glance y el nuevo framework RemoteCompose, los widgets para Wear ofrecen mayor expresividad y coherencia con Compose que las bibliotecas de ProtoLayout de tarjetas. Los widgets para Wear admiten dos nuevos diseños de tarjetas, pequeños y grandes, que se alinean perfectamente con los formatos de 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 del mainSlot de tu mosaico de pantalla completa a un widget de 2x2. Disfrútalo.

widgets code (1).png

Consulta la charla sobre widgets de I/O más adelante esta semana para obtener todos los detalles sobre las nuevas funciones y prueba nuestra guía de introducción a los widgets para agregar uno 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 las Notificaciones en tiempo real a los relojes.

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

En la app para relojes, 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 OEM compatibles, las Actualizaciones en vivo que publique la app de teléfono también se transferirán a los relojes de los usuarios.

Arriba, puedes ver cómo Just Eat proporciona actualizaciones a sus usuarios.

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 basadas en 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 completa para desarrolladores que te ayudará a elegir la adecuada y crear una implementación sólida. Por ahora, aquí tienes un vistazo rápido.

AppFunctions

Watch_IO26_Samsung_App_Functions (1).gif

La API de AppFunctions permite que los desarrolladores integren sus apps con agentes y asistentes, como Google Gemini, lo que permite que los usuarios completen tareas con la voz y, a menudo, reemplaza la necesidad de navegar manualmente paso a paso por tu IU.  

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

Actualmente, estamos ejecutando un programa de acceso anticipado para 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, próximamente, sin ningún esfuerzo de desarrollo, los usuarios podrán invocar y hacer un seguimiento de las tareas automatizadas de la app, para apps de teléfono seleccionadas, directamente desde su reloj, como hacer un pedido con DoorDash.

Mantente atento a estas opciones flexibles para 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 desde cero una experiencia de monitoreo del estado físico de alta calidad y con todas las funciones en Wear OS requiere muchos recursos, por lo que creamos la nueva experiencia de Wear Workout Tracker para las apps de ejercicios. Se incluirá en Wear OS más adelante este año. 

El monitor de entrenamiento proporciona una experiencia de monitoreo de entrenamiento estandarizada y enriquecida que incluye la supervisión de la frecuencia cardíaca, el control de medios 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 ofrecerla a sus usuarios. ¡Échale un vistazo!

Controles multimedia del sistema mejorados en Wear OS 7

Wear OS 7 mejora los Controles 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 la experiencia de inicio automático de contenido multimedia por app directamente desde los controles multimedia del sistema en el reloj.

En el caso de las apps en las que el usuario haya activado el parámetro de configuración de inicio automático, los controles multimedia aparecerán automáticamente en el reloj cuando se inicie el contenido multimedia en el teléfono. 

Los desarrolladores que ya implementaron apps de medios que se extienden en el reloj pueden beneficiarse de esta función sin esfuerzo adicional.

Enrutamiento de audio fluido con el Selector de salida remoto

Remote Output Switcher (1).png

Ahora es más fácil que nunca administrar la salida de audio con el nuevo selector de salida remota integrado en los controles 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 su muñeca.

Actualizaciones de la biblioteca de IU

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

Compose para Wear OS 1.6

Llegó Compose para Wear OS 1.6, la base del desarrollo para Wear OS.

Incluye actualizaciones potentes, como las siguientes:

Navegación optimizada con Navigation 3

Los desarrolladores pueden realizar la integración con 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 realizaron mejoras significativas en 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") }
        }
    }
}

Cómo optimizar las experiencias de Modo ambiente con LocalAmbientModeManager

El nuevo LocalAmbientModeManager se optimizó para controlar los flujos del Modo ambiente, lo que les brinda a los desarrolladores un mayor control sobre cómo se presentan sus experiencias del Modo 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 Tiles

Si bien alentamos a los desarrolladores a adoptar los nuevos widgets para Wear, seguiremos admitiendo nuestras bibliotecas de Protolayout y Tiles durante un tiempo, y tenemos nuevas versiones estables de ambas.

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

  • Recursos de imágenes 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 la asignación manual de recursos y la división en métodos separados. Además de mejorar la calidad del código, esto reduce la latencia de carga de las tarjetas, ya que se consolida en una sola llamada del sistema al servicio del proveedor.
  • Material3TileService: Las tarjetas se pueden implementar como un Material3TileService, una función de suspensión integral que devuelve el diseño y los recursos de la tarjeta, mientras administra automáticamente el MaterialScope y el ProtoLayoutScope para simplificar la experiencia de desarrollo.
  • Cambio dinámico de servicios: 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 gran cantidad 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, incluida verticalAlign en la misma línea de base para varios elementos de texto.
  • Mejoras en el ajuste de tamaño automático: Ahora se puede usar isAutoSize en TextCircular, y se agregó un nuevo atributo, minSize, al elemento Font para limitar el tamaño mínimo cuando se habilita el ajuste de tamaño automático.
  • Modos de fusión: Los elementos Group y ComplicationSlot ahora admiten el modo de fusión, además de la compatibilidad existente en los elementos Part*.
  • Uniones de trazo: Los elementos Stroke y WeightedStroke ahora incluyen un atributo de unión.
  • Configuración jerárquica: Ahora, los diseños del usuario se pueden estructurar como una jerarquía, en la que algunos parámetros de configuración solo son visibles cuando otros tienen valores específicos. Los diseños de usuario ahora también pueden habilitar o inhabilitar ranuras de complicaciones. Estos se pueden configurar con childSettingIds y complicationSlotIds en User Style Options.

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

Comienza a crear para Wear OS 7 ahora

Con estas actualizaciones, nunca hubo 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 crearás en Wear OS.

Escrito por:
Continuar leyendo