Cómo probar y depurar tu app

Te recomendamos que compiles tu app de entrega local con los pasos descritos anteriormente y, luego, pruebes la integración de la casa inteligente en tu propio entorno de hosting con los siguientes pasos:

  1. En tu propio entorno de hosting, entrega la página HTML que ejecuta tu app de entrega local. En el siguiente fragmento, se muestra un ejemplo de un archivo HTML estático que ejecuta tu app de entrega local.

    <html>
      <head>
        <!-- Local Home SDK -->
        <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
        <!-- Local app under development -->
        <script src="local_execution.js"></script>
      </head>
    
    </html>
  2. Prueba el control de dispositivos.

  3. Depurar desde Chrome. Usa puntos de interrupción y registros para solucionar problemas de integración.

  4. Modifica y compila tu código TypeScript y, luego, repite estos pasos.

Si repites este proceso de compilación y prueba, puedes ver tus cambios en acción con rapidez para ayudarte a depurar problemas con tu código.

Prueba el control de dispositivos

En Google Home Developer Console, debes especificar la URL de tu app web, que entrega el código HTML que se carga en el dispositivo Google Home o Google Nest durante la entrega local.

Para probar el control de dispositivos con la entrega local, sigue estos pasos:

Chrome

  1. En la página Configuración de tu integración de nube a nube en Google Home Developer Console, desplázate hasta Cumplimiento local y activa el parámetro de configuración.
  2. En Testing URLs > Testing URL for Chrome, especifica la URL del servidor de desarrollo que entrega el HTML que ejecuta tu app de entrega local.
  3. Haz clic en Guardar. Google puede tardar hasta 30 minutos en propagarlos.
  4. Reinicia el dispositivo Google Home o Google Nest de prueba.
  5. Envía un comando a tu dispositivo inteligente. Por ejemplo, si tu dispositivo implementa el atributo OnOff, puedes decir "Hey Google, enciende las luces".

Node.js

  1. En la página Configuración de Google Home Developer Console, desplázate hasta Local fulfillment y activa el parámetro de configuración.
  2. En Testing URLs > Testing URL for Node, especifica la URL del servidor de desarrollo que entrega el código JavaScript que ejecuta tu app de entrega local.
  3. Haz clic en Guardar. Google puede tardar hasta 30 minutos en propagarlos.
  4. Reinicia el dispositivo Google Home o Google Nest de prueba.
  5. Envía un comando a tu dispositivo inteligente. Por ejemplo, si tu dispositivo implementa el atributo OnOff, puedes decir "Hey Google, enciende las luces".

Para obtener más detalles sobre el entorno de ejecución que usa tu dispositivo, consulta Dispositivos compatibles.

Cómo depurar desde Chrome

Puedes depurar tu app de entrega local con las Herramientas para desarrolladores de Chrome. Antes de depurar, asegúrate de que tu entorno esté configurado correctamente:

Para conectar tu app de entrega local al depurador de las Herramientas para desarrolladores de Chrome, sigue estos pasos:

Chrome

  1. En tu máquina de desarrollo local, instala y, luego, inicia el navegador Google Chrome.
  2. En el campo de dirección del navegador Chrome, ingresa chrome://inspect#devices para iniciar el inspector de Chrome. Deberías ver una lista de dispositivos en la página, y tu archivo HTML debería aparecer debajo del nombre de tu dispositivo Google Home o Google Nest de prueba.
  3. Haz clic en el vínculo azul de inspección debajo del código HTML para iniciar las Herramientas para desarrolladores de Chrome. Cambia a la pestaña Consola. La plataforma de Local Home muestra la versión de tu app y la versión del SDK de Local Home en el registro de la consola. Si ves el registro, significa que Google cargó correctamente tu app y puede conectarse a ella. De lo contrario, reinicia el dispositivo Google Home o Google Nest.
  4. Figura 1: App de entrega local en chrome://inspect.

Node.js

  1. En tu máquina de desarrollo local, instala y, luego, inicia el navegador Google Chrome.
  2. Determina la dirección IP local de tu dispositivo de prueba.
  3. En el campo de dirección del navegador Chrome, ingresa chrome://inspect#devices para iniciar el inspector de Chrome.
  4. Selecciona Configurar… para abrir la configuración de descubrimiento de objetivos.
  5. Figura 2: Configuración de descubrimiento de objetivos en chrome://inspect.
  6. Ingresa DEVICE_IP_ADDRESS:9222 en la lista y haz clic en Listo.
  7. Haz clic en el vínculo azul de inspección debajo de la secuencia de comandos para iniciar las herramientas para desarrolladores de Chrome. Cambia a la pestaña Consola. La plataforma de Local Home muestra la versión de tu app y la versión del SDK de Local Home en el registro de la consola. Si ves el registro, significa que Google cargó correctamente tu app y puede conectarse a ella. De lo contrario, reinicia el dispositivo Google Home o Google Nest.

Para obtener más detalles sobre el entorno de ejecución que usa tu dispositivo, consulta Dispositivos compatibles.

Sugerencias de depuración

Estos son algunos aspectos adicionales que debes tener en cuenta durante la depuración:

  • No vincules varios dispositivos Google Home o Google Nest a tu cuenta de prueba en la misma red local. No podrás controlar a qué dispositivo Google Home o Google Nest se segmenta con los comandos de entrega local.
  • Actualiza la página en Chrome DevTools para volver a cargar el contenedor de la app de entrega local con el código más reciente de tu URL de desarrollo. Esto no restablece la plataforma de Local Home, que puede ser necesaria para volver a activar los intents de la plataforma (como IDENTIFY) en tu app de entrega local. Para restablecer la plataforma de Local Home, reinicia tu dispositivo Google Home o Google Nest.
  • Verifica que tu app de JavaScript se cargue sin errores. Para ello, consulta la sección de la consola de la página de DevTools. Si hay un problema, verás un mensaje como el siguiente: "Uncaught TypeError: Cannot read property 'open' of null."
  • El verificationId de la respuesta IDENTIFY debe coincidir con uno de los otherDeviceIds de la respuesta SYNC.
  • En el caso del controlador EXECUTE, asegúrate de que el dispositivo pueda recibir tus comandos HTTP, TCP o UDP y que funcionen como se espera.
  • Asegúrate de mostrar un Promise de los controladores.
  • Evita mantener el estado global en la memoria. Consulta Ciclo de vida de la aplicación.
  • Los errores que genera tu app de entrega local aparecerán en los registros de errores de tu proyecto.

Preparación y lanzamiento a producción

Cuando tengas todo listo para lanzar tu Acción de casa inteligente, sigue estos pasos:

  1. Abre una terminal. En el directorio de tu proyecto, ejecuta el comando npm run build. Con este comando, se generan los siguientes paquetes de JavaScript para tu app en el directorio dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. En la página Configuración de Google Home Developer Console, desplázate hasta Local fulfillment y activa el parámetro de configuración.
  3. Con los botones Upload JavaScript, sube los archivos del paquete que generaste antes.
    Figura 3: Sube tu app de JavaScript.
    Asegúrate de subir ambas versiones de los archivos del paquete (Node y Web) para que tu Action esté configurada para funcionar correctamente en todos los entornos de ejecución que admita la entrega local.
    1. Sube tu código JavaScript segmentado para Node.js: Sube el archivo bundle.js desde el directorio dist/node.
    2. Sube tu código JavaScript segmentado para Chrome (navegador): Sube el archivo bundle.js del directorio dist/web.
  4. Prueba tu Acción en un dispositivo compatible con el Asistente para verificar que se comporte como se espera en un entorno de producción. Para obtener más información, consulta Cómo probar y compartir tu Acción de casa inteligente.
  5. Cuando estés conforme con el funcionamiento de tu Acción, envíala a Google para su implementación en producción. Para ello, sigue las instrucciones que se indican en Cómo lanzar tu Acción de casa inteligente. Esto incluye completar los pasos de autoprueba y solicitud de certificación.