Cómo extender tu app de música a Wear OS

Wear OS es una plataforma excelente para que los usuarios de Android interactúen con una variedad de contenido de audio, como audiolibros, música, podcasts y radio, estén donde estén. Wear OS by Google te permite escribir apps para una variedad de categorías, incluido el contenido de audio, que ayudan a los usuarios a mantenerse conectados, mantenerse saludables y expresarse.

Si desarrollaste para Android en otras ocasiones, es posible que algunas funciones, como las apps y las notificaciones te resulten familiares. Puedes usar tus conocimientos sobre el Modern Android Development cuando desarrollas contenido para Wear OS.

Principios del desarrollo para Wear OS

Wear OS se basa en Android, por lo que muchas de las prácticas recomendadas para Android también se aplican a Wear OS. Para optimizar el tiempo de desarrollo, consulta estos principios antes de comenzar a compilar tu app para Wear OS.

Cómo crear y ejecutar una app en Wear OS

La mejor manera de comenzar es ver una app para Wear OS por tu cuenta. Puedes compilar tu primera app para Wear OS con una plantilla de Android Studio. En la app, se muestran las diferentes formas de ver información de un vistazo en dispositivos Wear OS y se presentan algunas prácticas recomendadas para desarrollar apps en la plataforma.

Si deseas obtener una guía paso a paso, consulta Cómo crear y ejecutar una app en Wear OS.

Diferencias entre el desarrollo para Wear OS y el desarrollo para dispositivos móviles

Hay algunas diferencias entre cómo se diseña una app para dispositivos móviles y una app para Wear OS. Si quieres saber en qué se diferencia una función, una API o una práctica recomendada específica en el desarrollo de apps para Wear OS en comparación con el desarrollo para dispositivos móviles Android, consulta la tabla de funciones.

Casos de uso comunes para apps de música en Wear OS

Compila una app de música en Wear OS para permitir que los usuarios transmitan y reproduzcan el contenido descargado desde el reloj. Para ofrecer la mejor experiencia del usuario, considera implementar los siguientes casos de uso de contenido multimedia, que funcionan especialmente bien en dispositivos Wear OS.

Reproducir contenido descargado

Los usuarios pueden escuchar contenido mientras hacen ejercicio, sin necesidad de contar con una conexión de red. Si bien un dispositivo Wear OS en general admite Bluetooth y Wi-Fi, es posible que no sea compatible con LTE. Diseña para conexiones inestables y casos de uso sin conexión, como hacer ejercicio y viajar ida y vuelta al trabajo, cuando un usuario puede dejar su dispositivo móvil en casa. Para obtener más información, consulta Cómo trabajar con contenido descargado.

Reproduce contenido en cualquier red disponible

Los usuarios pueden escuchar música, podcasts o una estación de radio transmitiendo desde el reloj, pero la transmisión puede agotar la batería del reloj. Prioriza el contenido descargado cuando los usuarios elijan escuchar en el reloj mostrando las descargas usadas recientemente en la lista de exploración. Considera agregar un botón que los lleve a una lista completa de descargas, como se muestra en las siguientes imágenes.

Esta es una lista de las bibliotecas de audio Una lista de bibliotecas de audio, que incluye una playlist y un audiolibro

Cómo compilar con Compose para Wear OS

Compose para Wear OS es parte de Android Jetpack y, al igual que las otras bibliotecas de Wear Jetpack que usas, te ayuda a escribir mejor código más rápido. Este es el enfoque que recomienda Google para compilar interfaces de usuario de apps para Wear OS.

Muchos de los principios de desarrollo de Jetpack Compose en dispositivos móviles se aplican a Compose para Wear OS. Sin embargo, existen algunas diferencias clave. A medida que compilas con Compose para Wear OS, es importante diseñar apps que les permitan a los usuarios acceder al contenido multimedia de manera conveniente y rápida en su reloj. El reloj es una plataforma única en la que la facilidad y velocidad de las interacciones es una prioridad alta, ya que los usuarios pasan mucho menos tiempo interactuando con su reloj que con su teléfono o tablet.

Para obtener más información sobre las ventajas generales de un framework de IU declarativo, consulta Por qué Compose. Si nunca usaste el kit de herramientas de Jetpack Compose, consulta la ruta de aprendizaje de Compose. Si deseas obtener más información sobre Compose para Wear OS, consulta la ruta de aprendizaje de Compose para Wear OS y el repositorio de muestras de Wear OS en GitHub.

Kit de herramientas multimedia para Wear OS

El kit de herramientas de contenido multimedia para Wear OS es un conjunto de bibliotecas que acelera el desarrollo de apps multimedia de alta calidad para Wear OS. El kit de herramientas es parte del proyecto Horologist. Horologist es una biblioteca adicional que ayuda a acelerar el desarrollo de tu app.

El kit de herramientas usa las mejores bibliotecas para casos de uso de contenido multimedia, desde una IU implementada con Compose para Wear OS hasta capacidades de reproducción implementadas con Media3. Si tu app tiene requisitos específicos, puedes adoptar la implementación de la IU desde el kit de herramientas sin dejar de depender del reproductor existente.

El kit de herramientas multimedia puede ayudarte a resolver desafíos, como evitar la reproducción de contenido multimedia en las bocinas integradas del reloj, habilitar la descarga de audio y evitar la necesidad de hacer ping a la red innecesariamente.

En Cómo diseñar apps de música, se proporciona orientación para implementar con Horologist, así como información sobre la arquitectura y los casos de uso de Wear OS.

Prácticas recomendadas para desafíos específicos de Wear OS

Cuando crees una app de música en Wear OS, ten en cuenta cómo la experiencia del usuario es diferente en los relojes y en los dispositivos móviles, especialmente en lo siguiente:

  • Las bocinas integradas no están diseñadas para reproducir música. Por lo tanto, usa bocinas o auriculares Bluetooth.
  • La conectividad de la red es limitada o variada, por lo que debes optimizar tu app para diferentes condiciones de red y minimizar su uso.
  • Las baterías más pequeñas tienen energía limitada. La batería se consume más rápido cuando el dispositivo realiza el procesamiento de audio en la CPU principal y cuando tiene una señal de LTE deficiente. Agrega compatibilidad con la descarga de audio para ahorrar energía.
  • El dispositivo ofrece varias plataformas de IU para permitir que los usuarios vuelvan a interactuar con tu app. Muestra las capacidades de tu app en esas plataformas.

Cómo usar bocinas o auriculares Bluetooth

Aunque las bocinas del reloj se pueden usar para llamadas y actividades guiadas, no ofrecen la mejor experiencia para escuchar contenido multimedia.

Para brindar la mejor experiencia del usuario, tu app puede usar el kit de herramientas de contenido multimedia para asegurarse de que reproduzca audio cuando los auriculares o las bocinas Bluetooth estén conectados al reloj.

El kit de herramientas multimedia proporciona una extensión Media3 específica que decora la instancia de ExoPlayer y detiene de forma proactiva la reproducción accidental antes de que emita sonido.

Optimizar según las condiciones de red

Para que tu app de música funcione bien en un reloj, debes tomar decisiones sobre las siguientes consideraciones de transmisión y condiciones de red:

  • Para optimizar el contenido, elige una tasa de bits baja para la transmisión, como 48 Kbps y códecs como AAC y MP3.
  • Optimiza la estrategia de carga previa de las imágenes y las pistas para permitir la continuidad de la reproducción cuando pierdas una conexión de manera temporal.
  • Prueba tu app en todas las configuraciones de red: Wi-Fi, LTE y el reloj conectado al teléfono mediante Bluetooth. También prueba lo que sucede cuando el reloj cambia de red.

El kit de herramientas multimedia de Wear OS ayuda a crear la base de una app de buen rendimiento, como proporcionar el módulo de Reconocimiento de red para elegir la mejor conexión para una operación específica.

Habilitar descarga de audio

Si deseas obtener un mejor rendimiento y un menor consumo de energía para las apps en Wear OS, usa la descarga de audio. Permite que el procesamiento de audio se descargue de la CPU a un procesador de señal dedicado. El kit de herramientas multimedia proporciona asistencia con AudioOffloadManager

Si no sabes con certeza si la descarga de audio es compatible con un formato determinado, usa el método AudioManager.isOffloadedPlaybackSupported(). Para obtener más información, consulta la documentación de Exoplayer.

Evita las conexiones de red, a menos que sea absolutamente necesarias

Cuando desarrollas contenido para Wear OS, puedes esperar que los usuarios tengan una conectividad de red limitada. Cuando usas MediaDownloadService, permites que los usuarios tengan descargas confiables y eficaces para que puedan reproducir contenido multimedia sobre la marcha.

El kit de herramientas te permite optimizar las descargas de contenido multimedia de manera más eficiente con DownloadManager de Media3 y WorkManager de AndroidX para programar descargas.

Media3 inicia todas las notificaciones y los servicios en primer plano necesarios. El código de la app de ejemplo configura WorkManager para que ejecute las descargas cuando la conexión Wi-Fi esté disponible para proporcionar un mejor rendimiento. El uso del módulo de Reconocimiento de red permite a los desarrolladores asignar operaciones de red con el tipo de red.

Mantén a los usuarios al tanto de la reproducción de contenido multimedia en curso

En Wear OS 3 y versiones posteriores, una notificación continua puede aparecer en varias plataformas dentro de la interfaz de usuario de Wear OS. Cuando se presiona la notificación de la actividad en curso, la app abre la pantalla del reproductor.

Con Media3, Wear OS se encarga automáticamente de crear actividades en curso para apps de música con el intent de abrir la app. De esta manera, los usuarios pueden mantener una mayor participación con las actividades prolongadas, como la reproducción de contenido multimedia.