Тестируйте и отлаживайте свое приложение
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Мы рекомендуем сначала создать локальное приложение для выполнения заказов, используя описанные ранее шаги, а затем протестировать интеграцию с системой «умный дом» в вашей собственной среде хостинга, выполнив следующие действия:
В вашей собственной среде хостинга разместите HTML-страницу, на которой работает ваше локальное приложение для обработки заказов. Следующий фрагмент кода показывает пример статического HTML-файла, который запускает ваше локальное приложение для обработки заказов.
<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>
Отладка из Chrome . Используйте точки останова и журналы для устранения неполадок в вашей интеграции.
Измените и скомпилируйте свой код на TypeScript, затем повторите эти шаги.
Повторяя этот процесс сборки и тестирования, вы сможете быстро увидеть результаты своих изменений в действии, что поможет вам отлаживать ошибки в коде.
Тестирование управления устройством
В Google Home Developer Console необходимо указать URL-адрес вашего веб-приложения, который отображает HTML-код, загружаемый на устройство Google Home или Google Nest во время локальной обработки.
Для проверки возможности управления устройством с помощью локального выполнения заказов выполните следующие действия:
Хром
На странице «Настройка и конфигурация» вашей облачной интеграции в Google Home Developer Console прокрутите до раздела «Локальное выполнение» и включите соответствующую настройку.
В разделе «Тестовые URL-адреса» > «Тестовый URL для Chrome» укажите URL-адрес сервера разработки, который предоставляет HTML-код для запуска вашего локального приложения обработки заказов.
Нажмите «Сохранить» . Для распространения изменений в консоли Google может потребоваться до 30 минут.
Перезагрузите тестовое устройство Google Home или Google Nest.
Отдайте команду своему смарт-устройству. Например, если ваше устройство поддерживает функцию включения/выключения , вы можете сказать: «Привет, Google, включи свет».
Node.js
На странице «Настройка и конфигурация» в Google Home Developer Console прокрутите до раздела «Локальное выполнение» и включите соответствующую настройку.
В разделе «Тестовые URL-адреса» > «Тестовый URL для Node» укажите URL-адрес сервера разработки, который обслуживает JavaScript-код, используемый для запуска вашего локального приложения обработки заказов.
Нажмите «Сохранить» . Для распространения изменений в консоли Google может потребоваться до 30 минут.
Перезагрузите тестовое устройство Google Home или Google Nest.
Отдайте команду своему смарт-устройству. Например, если ваше устройство поддерживает функцию включения/выключения , вы можете сказать: «Привет, Google, включи свет».
Для получения более подробной информации о том, какая среда выполнения используется вашим устройством, см. раздел «Поддерживаемые устройства» .
Отладка из Chrome
Вы можете отлаживать локальное приложение для выполнения заказов с помощью инструментов разработчика Chrome . Прежде чем начать отладку, убедитесь, что ваша среда правильно настроена:
В консоли вы указали URL-адрес для разработки, доступный для устройств Google Home или Google Nest (как в локальной сети, так и через Интернет).
Ваше устройство подключено к той же локальной сети, что и тестируемое вами устройство Google Home или Google Nest.
Ваша сеть не блокирует передачу пакетов между устройствами.
Вы вошли в систему с помощью одной и той же учетной записи Google как в Google Home Developer Console так и на устройстве Google Home или Google Nest.
В адресной строке браузера Chrome откройте инспектор Chrome, введя: chrome://inspect#devices . На странице должен отобразиться список устройств, а ваш HTML-файл должен быть указан под именем тестируемого устройства Google Home или Google Nest.
Нажмите на синюю ссылку «Просмотреть код элемента» под вашим HTML-кодом, чтобы запустить инструменты разработчика Chrome. Перейдите на вкладку «Консоль» . Платформа Local Home выводит версию вашего приложения и версию SDK Local Home в журнал консоли. Если вы видите этот журнал, это означает, что Google успешно загрузил ваше приложение и может к нему подключиться. В противном случае перезагрузите ваше устройство Google Home или Google Nest.
Рисунок 1: Приложение для локального выполнения заказов в chrome://inspect.
Выберите «Настроить...» , чтобы открыть параметры обнаружения целевых устройств .
Рисунок 2: Настройки обнаружения целей в chrome://inspect.
Введите DEVICE_IP_ADDRESS :9222 в список и нажмите «Готово» .
Нажмите на синюю ссылку «Проверить код элемента» под вашим скриптом, чтобы запустить инструменты разработчика Chrome. Перейдите на вкладку «Консоль» . Платформа Local Home выводит версию вашего приложения и версию SDK Local Home в журнал консоли. Если вы видите этот журнал, это означает, что Google успешно загрузил ваше приложение и может к нему подключиться. В противном случае перезагрузите устройство Google Home или Google Nest.
Для получения более подробной информации о том, какая среда выполнения используется вашим устройством, см. раздел «Поддерживаемые устройства» .
Советы по отладке
В процессе отладки следует также учитывать несколько дополнительных моментов:
Не подключайте несколько устройств Google Home или Google Nest к своей тестовой учетной записи в одной локальной сети. В этом случае вы не сможете контролировать, какое именно устройство Google Home или Google Nest будет использоваться для выполнения локальных команд.
Обновите страницу в инструментах разработчика Chrome, чтобы перезагрузить локальный контейнер приложения для выполнения заказов с последним кодом с вашего URL-адреса для разработки. Это не сбрасывает платформу Local Home, которая может потребоваться для повторного запуска намерений платформы (например, IDENTIFY ) в вашем локальном приложении для выполнения заказов. Чтобы сбросить платформу Local Home, перезагрузите устройство Google Home или Google Nest.
Убедитесь, что ваше JavaScript-приложение загружается без ошибок. Для этого проверьте раздел консоли на странице инструментов разработчика. Если возникнет проблема, вы увидите сообщение примерно такого вида: 'Uncaught TypeError: Cannot read property 'open' of null'.
verificationId из ответа IDENTIFY должен совпадать с одним из otherDeviceIds из ответа SYNC .
Для обработчика EXECUTE убедитесь, что ваши команды HTTP, TCP или UDP принимаются вашим устройством и работают должным образом.
Ошибки, возникающие в локальном приложении для обработки заказов, будут отображаться в журналах ошибок вашего проекта.
Подготовка и запуск в производство
Когда вы будете готовы запустить функцию «Умный дом», выполните следующие шаги:
Откройте терминал. В каталоге вашего проекта выполните команду npm run build . Эта команда сгенерирует следующие JavaScript-пакеты для вашего приложения в каталоге dist :
На странице «Настройка и конфигурация» в Google Home Developer Console прокрутите до раздела «Локальное выполнение» и включите соответствующую настройку.
С помощью кнопок «Загрузить JavaScript» загрузите ранее сгенерированные файлы пакета. Рисунок 3: Загрузите ваше JavaScript-приложение. Убедитесь, что вы загрузили обе версии файлов пакета (Node, Web), чтобы ваше действие было настроено для корректной работы во всех средах выполнения, поддерживаемых локальным выполнением.
Загрузите свой JavaScript-код для Node.js : загрузите файл bundle.js из каталога dist/node .
Загрузите JavaScript-код для Chrome (браузера) : Загрузите файл bundle.js из каталога dist/web .
Протестируйте свое действие на устройстве с поддержкой Google Assistant, чтобы убедиться, что оно работает должным образом в рабочей среде. Для получения дополнительной информации см. раздел «Тестирование и отправка действий умного дома» .
Когда вы убедитесь, что ваше действие работает корректно, отправьте его в Google для развертывания в производственной среде, следуя инструкциям в разделе «Запуск действия для умного дома» . Это включает в себя выполнение шагов самотестирования и запроса на сертификацию.