Android TV con Google Cast

Con el lanzamiento de Android 5.0, viene Android TV, que es compatible con Google Cast. En este documento, se describe lo que debes hacer para configurar y probar en Android TV cuando desarrollas aplicaciones de Cast. Tu aplicación de Cast existente se ejecuta en Android TV sin ningún esfuerzo adicional. Si estás desarrollando una aplicación de Cast por primera vez, consulta la documentación de Google Cast y desarrolla tu aplicación de Cast para que se ejecute en un dispositivo Chromecast antes de desarrollarla y probarla con Android TV.

Configuración para desarrollo

  1. Configura el dispositivo Android TV:
    1. Conecta el dispositivo Android TV a la red local.
    2. Accede a tu Cuenta de Google.
  2. En la sección Configuración de la fila Dispositivo, selecciona Acerca de.
  3. Desplázate hacia abajo y haz clic en Build varias veces hasta que aparezca un diálogo con el mensaje "You are now a developer" (Ahora eres desarrollador).
  4. Si se trata de una depuración por USB:
    1. Instala el cable USB, pero todavía no conectes el extremo principal del cable USB a tu computadora.
    2. En la fila Preferences, selecciona Developer options y USB debugging y, luego, On.
  5. Regresa a la pantalla principal. Debes hacerlo para aplicar la configuración que acabas de seleccionar. Esta configuración persistirá a menos que restablezcas la configuración de fábrica.
  6. Registra tu dispositivo Android TV en la Consola para desarrolladores del SDK de Google Cast, como se describe en Registro del dispositivo.

Depuración

Para probar y depurar tu aplicación receptor web en tu dispositivo Android TV, haz lo siguiente:

  1. Registra tu dispositivo Android TV y tu aplicación en la Play Console del SDK de Google Cast. Consulta Registro para obtener más información sobre el registro de dispositivos y aplicaciones.
  2. Inicia la aplicación emisora y transmite contenido al dispositivo Android TV.
  3. Conéctate a tu dispositivo Android TV a través de ADB, como se describe en Cómo usar Android Debug Bridge.
  4. En tu máquina de desarrollo, abre una ventana del navegador Chrome y ve a chrome://inspect.
  5. Haz clic en el vínculo inspect para llevar Web Receiver al depurador.
  6. En la consola del Depurador remoto de Chrome, ingresa lo siguiente para habilitar el registro de depuración:

    cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
    

Consulta Depuración para obtener más información.

Lineamientos para la compatibilidad con Android TV

Hacer que la aplicación de Cast sea compatible con Android TV requiere muy poco trabajo adicional. A continuación, se incluyen algunas recomendaciones y errores comunes que debes evitar para asegurarte de que tu aplicación sea compatible con Android TV:

  • Ten en cuenta que la string usuario-agente contiene "Android" y "CrKey"; algunos sitios pueden redireccionar a un sitio solo para dispositivos móviles porque detectan la etiqueta "Android". No des por sentado que "Android" en la string de usuario-agente siempre indica un usuario de dispositivo móvil.
  • La pila de medios de Android puede usar GZIP transparente para obtener datos. Asegúrate de que los datos multimedia puedan responder a Accept-Encoding: gzip.
  • Es posible que los eventos multimedia HTML5 de Android TV se activen en tiempos diferentes a los de Chromecast. Esto podría revelar problemas que estaban ocultos en el Chromecast.
  • Cuando actualices el contenido multimedia, usa eventos relacionados que activen los elementos <audio>/<video>, como timeupdate, pause y waiting. Evita usar eventos relacionados con herramientas de redes, como progress, suspend y stalled, ya que dependen de la plataforma.
  • Cuando configures los certificados HTTPS del sitio del receptor web, asegúrate de incluir certificados de CA intermedios. Consulta la página de prueba de SSL de Qualsys para verificar si la ruta de certificación de confianza de tu sitio incluye un certificado de CA con la etiqueta "descarga adicional", es posible que no se cargue en plataformas basadas en Android.
  • Si bien Chromecast muestra la página del receptor web en un plano de gráficos de 720p, otras plataformas de transmisión, como Android TV, pueden mostrar la página en hasta 1080p. Asegúrate de que la página del Receptor web se ajuste correctamente a diferentes resoluciones.

Cómo usar Android Debug Bridge

La plataforma de Android TV se presenta en muchos tipos de dispositivos electrónicos de consumo: televisiones, decodificadores, consolas de juegos, etcétera. Cada uno puede configurarse de manera diferente. Si tienes dificultades para acceder a los recursos del sistema Android TV mediante la interfaz de usuario del dispositivo, puedes usar Android Debug Bridge (ADB) a fin de obtener el número de serie del dispositivo para el registro y depurar la aplicación. Consulta Android Debug Bridge para obtener más información.

Cómo usar ADB con Wi-Fi

Para conectarte a tu dispositivo mediante ADB con una conexión Wi-Fi, haz lo siguiente:

  1. En tu dispositivo Android TV, habilita las opciones para desarrolladores como se describe en Configuración para desarrollo.
  2. Asegúrate de que la computadora esté conectada a la misma red que el dispositivo Android TV.
  3. Abre una terminal e ingresa lo siguiente:

    adb connect Android TV device IP address:4321
    
  4. En tu computadora, abre una terminal y escribe los comandos de ADB. Puedes verificar que se haya establecido la conexión y que el dispositivo Android TV se esté comunicando a través de la red con el siguiente comando:

    adb logcat

Cómo usar ADB con un cable USB

Para conectarte al dispositivo mediante ADB con una conexión por cable USB, haz lo siguiente:

  1. Configura tu dispositivo Android TV para el desarrollo como se describe en Configuración para desarrollo.
  2. Conecta el extremo principal del cable USB a tu computadora.
  3. En el diálogo ¿Permitir depuración por USB? (Allow USB debugging?), selecciona Always (Permitir siempre) desde esta computadora y elige OK.
  4. En tu computadora, abre una terminal y escribe los comandos de ADB. Puedes verificar que se haya establecido la conexión y que el dispositivo Android TV se esté comunicando a través de la red con el siguiente comando:

    adb logcat

Cómo usar ADB sobre TCP/IP

ADB funciona sin un cable USB a través de TCP/IP, pero primero debes obtener la dirección IP del dispositivo Android TV. Los dispositivos emitidos por desarrolladores detectan las conexiones del puerto ADB automáticamente y se pueden conectar sin inicializar el puerto. Los dispositivos Android TV estándar para la venta minorista no detectan las conexiones ADB automáticamente. Para esos dispositivos, primero debes conectarte a ADB con un cable USB e inicializar el puerto.

  1. Configura tu dispositivo Android TV para el desarrollo como se describe en Configuración para desarrollo.
  2. En Android TV, en la fila Dispositivo, selecciona Red > Wi-Fi y elige la red conectada.
  3. Selecciona Información de estado y anota la dirección IP.
  4. Si tu dispositivo es Android TV estándar para la venta minorista, haz lo siguiente:

    1. Sigue los pasos que se indican en Cómo usar ADB con un cable USB.
    2. Asegúrate de que la computadora esté conectada a la misma red que el dispositivo Android TV.
    3. En tu computadora, ingresa lo siguiente en una terminal y inicializa el puerto para TCP/IP:

      adb tcpip 5555
    4. Quita el cable USB y, luego, ingresa lo siguiente en la terminal:

      adb connect Android TV device IP address:5555
      
  5. Si tu dispositivo es un Android TV de un desarrollador, haz lo siguiente:

    1. Asegúrate de que la computadora esté conectada a la misma red que el dispositivo Android TV.
    2. Abre una terminal e ingresa lo siguiente:

      adb connect Android TV device IP address:4321
      
  6. En Android TV, en el diálogo ¿Quieres permitir la depuración por USB?, selecciona Permitir siempre desde esta computadora y elige Aceptar. Puedes verificar que se haya establecido la conexión y que el dispositivo Android TV se esté comunicando por la red con el siguiente comando:

    adb logcat