
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.
- Виртуальное устройство Matter (MVD). Чтобы минимизировать проблемы со средой, мы настоятельно рекомендуем начать с MVD. Если у вас возникнут проблемы, их будет намного проще исследовать, если пример приложения используется с виртуальным устройством Matter.
- Создайте виртуальное устройство Matter
с помощью приложения
rootnode_dimmablelight_bCwGYSDpoe. Когда вы будете создавать интеграцию Matter в Google Home Developer Console, используйте0xFFF1в качестве идентификатора поставщика и0x8000в качестве идентификатора товара. - Создайте устройство Espressif
с помощью
all-clusters-app. Когда вы будете создавать интеграцию с Matter в Developer Console, используйте0xFFF1в качестве идентификатора поставщика и0x8001в качестве идентификатора товара.
Для ввода в эксплуатацию и управления устройствами с помощью Sample App for Matter не требуется контроллер, например Google Nest Hub (2nd gen).
Установить
Перейдите в раздел Releases (Выпуски) в репозитории Sample App for Matter GitHub. Для последнего выпуска найдите в разделе Assets APK-файл с названием
GHSAFM-version-default-debug.apk. Не выбирайтеtargetcommissioner.Установите Android Debug Bridge (adb):
Подключите устройство Android через USB, включите Передачу файлов и установите APK-файл.
$ adb unroot && adb install GHSAFM-version-default-debug.apk
Ввод устройств в эксплуатацию
При первом запуске примера приложения вы увидите диалоговое окно со ссылкой на практическую работу по Sample App for Matter. Если вы выберете Больше не показывать это сообщение, то сможете снова включить его в разделе "Администратор".
На следующих шагах вы добавите устройство Matter в локальную сеть Android и сеть разработки, которая является локальной только для примера приложения.
Что такое сети Matter?

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

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

Когда ввод в эксплуатацию завершится, введите название устройства и нажмите Готово.
Теперь ваше устройство подключено к локальной сети Android и сети разработки.
Всю работу по вводу в эксплуатацию и связанные с ней экраны обрабатывает Play services. Это обеспечивает единообразный пользовательский интерфейс и устраняет необходимость обрабатывать конфиденциальные разрешения, например учетные данные Wi-Fi и Thread.
Управление устройствами
Среда разработки создает учетные данные для управления устройствами Matter прямо из примера приложения.
На главном экране можно включить или выключить устройство. Чтобы посмотреть информацию о нем, нажмите на его карточку.

Предоставить доступ к устройствам
В спецификации Matter совместное использование устройства называется процессом с несколькими администраторами. После того как устройство будет введено в эксплуатацию в примере приложения, вы сможете легко поделиться им с другими экосистемами.
Чтобы предоставить доступ к устройству Matter другим экосистемам, на вашем устройстве Android должна быть установлена другая платформа. Эта внешняя платформа становится целевым комиссионером. Мы создали ещё один экземпляр примера приложения, который можно использовать в качестве целевого контроллера.
Перейдите в раздел Releases (Выпуски) в репозитории Sample App for Matter GitHub. Для последнего выпуска найдите в разделе Assets APK-файл с названием
GHSAFM-version-targetcommissioner-debug.apk. Не выбирайтеdefault.Установите целевой уполномоченный узел.
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apkНа главном экране нажмите на устройство, чтобы посмотреть информацию о нем. Нажмите Поделиться.

Пример приложения вызывает Mobile SDK Share API, и управление снова передается Play services.
Откроется меню, в котором можно выбрать приложение или платформу для подключения устройства. На этом экране вы можете выбрать один из двух способов поделиться устройством:
- Вручную с помощью кода настройки, который нужно передать целевому приложению-контроллеру.
- С помощью локального приложения Android, зарегистрированного как Matter-комиссионер.
Целевое приложение-комиссионер помечено как GHSAFM-TC. Нажмите на этот экземпляр примера приложения, чтобы поделиться устройством.
Затем внешнее приложение (целевой комиссионер) завершает ввод устройства в эксплуатацию в своей сети.
Настройки
На главном экране нажмите на значок настроек . Здесь вы можете изменить настройки пользователя, получить помощь и узнать больше о приложении.

Уведомление на пол-экрана
В настройках можно отключить уведомления о поиске устройств Matter, которые можно ввести в эксплуатацию.
Если в вашем приложении есть собственный процесс обнаружения или ввода в эксплуатацию устройств Matter, вы можете отключить эти уведомления, чтобы они не мешали пользователям. Подробнее о том, как отключить уведомления о комиссионных вознаграждениях…
Утилиты для разработчиков
На экране настроек также можно перейти к инструментам разработчика.
Чтобы посмотреть содержимое хранилищ данных Device и User Preferences в Logcat, выполните следующие действия:
Нажмите Записать содержимое хранилищ в журнал.
Нажмите ОК в диалоговом окне и проверьте Logcat.
Обратная связь и помощь
Чтобы поделиться своими мыслями или отзывами о том, как мы можем улучшить процесс разработки с помощью Sample App for Matter, заполните нашу форму обратной связи.
Если у вас возникли проблемы с Sample App for Matter, попробуйте выполнить следующие действия, чтобы проверить среду:
Если у вас есть вопросы об использовании примера приложения или вы обнаружили ошибку в коде, вы можете сообщить о проблеме в системе отслеживания ошибок в хранилище GitHub:
Чтобы получить официальные рекомендации от Google по техническим вопросам, используйте форум разработчиков умного дома:
Чтобы получить техническую поддержку от сообщества, используйте тег google-smart-home на сайте Stack Overflow: