Пример приложения Google Home для Matter

Пример приложения Google Home для Matter

Google Home Sample App for Matter использует Google Home Mobile SDK, чтобы создать приложение для Android, похожее на Google Home app (GHA). В этом примере приложения доступны следующие функции:

  • Добавьте физические и виртуальные устройства Matter в локальную сеть Android.
  • Ввод в эксплуатацию физических и виртуальных устройств в сети разработки
  • Управлять устройствами в сети разработки, например включать свет.
  • Функции Multi-Admin позволяют делиться устройствами в сети разработки с другими приложениями и наоборот – включать в сеть разработки устройства, которыми поделились другие приложения.
  • Инструменты разработчика

В этом руководстве описано, как установить APK-файл Sample App for Matter и использовать его для ввода в эксплуатацию устройств Matter, управления ими и предоставления доступа к ним.

Чтобы скачать исходный код, узнать, как интегрировать Mobile SDK, и настроить экраны в Android Studio, попробуйте выполнить Sample App for Matter практическую работу.

Перейти к практической работе Sample App for Matter

Требования

  • Устройство с Android O (8.1, уровень API 27) или более поздней версии для тестирования. Чтобы убедиться, что на вашем устройстве установлена последняя версия Matter, ознакомьтесь с руководством Как проверить модули и сервисы Matter.
  • Создайте устройство типа Matter с возможностью включения и выключения. Это пример приложения, которое работает с виртуальным устройством и ESP32.

Для ввода в эксплуатацию и управления устройствами с помощью Sample App for Matter не требуется контроллер, например Google Nest Hub (2nd gen).

Установить

  1. Перейдите в раздел Releases (Выпуски) в репозитории Sample App for Matter GitHub. Для последнего выпуска найдите в разделе Assets APK-файл с названием GHSAFM-version-default-debug.apk. Не выбирайте targetcommissioner.

  2. Установите Android Debug Bridge (adb):

    Установите adb

  3. Подключите устройство Android через USB, включите Передачу файлов и установите APK-файл.

    $ adb unroot && adb install GHSAFM-version-default-debug.apk
    

Ввод устройств в эксплуатацию

При первом запуске примера приложения вы увидите диалоговое окно со ссылкой на практическую работу по Sample App for Matter. Если вы выберете Больше не показывать это сообщение, то сможете снова включить его в разделе "Администратор".

На следующих шагах вы добавите устройство Matter в локальную сеть Android и сеть разработки, которая является локальной только для примера приложения.

Что такое сети Matter?

Пример приложения Google Home для Matter

Сеть Matter – это общий домен доверия между устройствами в домашней сети, который позволяет им взаимодействовать друг с другом.

Устройства могут иметь одну или несколько структур, которые соответствуют платформе, приложению или группе взаимодействующих устройств. У каждой сети есть уникальный идентификатор, а у устройств – общий набор учетных данных и центр сертификации (ЦС). Эти учетные данные назначаются во время ввода в эксплуатацию Matter.

Чтобы ввести устройство Matter в эксплуатацию, выполните следующие действия:

  1. Нажмите кнопку "Добавить устройство", чтобы начать процесс ввода в эксплуатацию.

    Добавить устройство

  2. Затем управление передается Google Play services, который запускается вызовом Mobile SDK. Чтобы подтвердить владение, нажмите Отсканировать QR-код или Использовать код подключения.

    Сканировать QR-код

  3. Когда ввод в эксплуатацию завершится, введите название устройства и нажмите Готово.

Теперь ваше устройство подключено к локальной сети Android и сети разработки.

Всю работу по вводу в эксплуатацию и связанные с ней экраны обрабатывает Play services. Это обеспечивает единообразный пользовательский интерфейс и устраняет необходимость обрабатывать конфиденциальные разрешения, например учетные данные Wi-Fi и Thread.

Управление устройствами

Среда разработки создает учетные данные для управления устройствами Matter прямо из примера приложения.

На главном экране можно включить или выключить устройство. Чтобы посмотреть информацию о нем, нажмите на его карточку.

Устройство добавлено

Предоставить доступ к устройствам

В спецификации Matter совместное использование устройства называется процессом с несколькими администраторами. После того как устройство будет введено в эксплуатацию в примере приложения, вы сможете легко поделиться им с другими экосистемами.

Чтобы предоставить доступ к устройству Matter другим экосистемам, на вашем устройстве Android должна быть установлена другая платформа. Эта внешняя платформа становится целевым комиссионером. Мы создали ещё один экземпляр примера приложения, который можно использовать в качестве целевого контроллера.

  1. Перейдите в раздел Releases (Выпуски) в репозитории Sample App for Matter GitHub. Для последнего выпуска найдите в разделе Assets APK-файл с названием GHSAFM-version-targetcommissioner-debug.apk. Не выбирайте default.

  2. Установите целевой уполномоченный узел.

    $ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
    
  3. На главном экране нажмите на устройство, чтобы посмотреть информацию о нем. Нажмите Поделиться.

    Предоставление доступа к устройству

Пример приложения вызывает Mobile SDK Share API, и управление снова передается Play services.

Откроется меню, в котором можно выбрать приложение или платформу для подключения устройства. На этом экране вы можете выбрать один из двух способов поделиться устройством:

  1. Вручную с помощью кода настройки, который нужно передать целевому приложению-контроллеру.
  2. С помощью локального приложения Android, зарегистрированного как Matter-комиссионер.

Целевое приложение-комиссионер помечено как GHSAFM-TC. Нажмите на этот экземпляр примера приложения, чтобы поделиться устройством.

Затем внешнее приложение (целевой комиссионер) завершает ввод устройства в эксплуатацию в своей сети.

Настройки

На главном экране нажмите на значок настроек . Здесь вы можете изменить настройки пользователя, получить помощь и узнать больше о приложении.

Настройки

Уведомление на пол-экрана

В настройках можно отключить уведомления о поиске устройств Matter, которые можно ввести в эксплуатацию.

Если в вашем приложении есть собственный процесс обнаружения или ввода в эксплуатацию устройств Matter, вы можете отключить эти уведомления, чтобы они не мешали пользователям. Подробнее о том, как отключить уведомления о комиссионных вознаграждениях…

Утилиты для разработчиков

На экране настроек также можно перейти к инструментам разработчика.

Чтобы посмотреть содержимое хранилищ данных Device и User Preferences в Logcat, выполните следующие действия:

  1. Нажмите Записать содержимое хранилищ в журнал.

  2. Нажмите ОК в диалоговом окне и проверьте Logcat.

Обратная связь и помощь

Чтобы поделиться своими мыслями или отзывами о том, как мы можем улучшить процесс разработки с помощью Sample App for Matter, заполните нашу форму обратной связи.

Отправить отзыв

Если у вас возникли проблемы с Sample App for Matter, попробуйте выполнить следующие действия, чтобы проверить среду:

Если у вас есть вопросы об использовании примера приложения или вы обнаружили ошибку в коде, вы можете сообщить о проблеме в системе отслеживания ошибок в хранилище GitHub:

Чтобы получить официальные рекомендации от Google по техническим вопросам, используйте форум разработчиков умного дома:

Чтобы получить техническую поддержку от сообщества, используйте тег google-smart-home на сайте Stack Overflow: