Пример приложения для Android с использованием Home APIs

В примере приложения показаны основные возможности Google Home API для Android.

Требования

Чтобы создать, установить и протестировать приложение, вам потребуется:

  • Android Studio версии 2024.2.1 ("Божья коровка") или более поздней. Обратите внимание, что более ранние версии могут работать некорректно с Home APIs SDK.

    Скачать Android Studio

  • Отладчик Android (adb).

    Установите adb.

    Это можно сделать с помощью SDK Manager.

Чтобы тестировать API умного дома, вам понадобится:

  • Устройство Android 10 или более поздней версии, настроенное с аккаунтом Google, который вы планируете использовать для разработки. Убедитесь, что на устройстве установлена последняя версия Android Studio и в ней выполнен вход в аккаунт разработчика.
  • Сеть Wi-Fi.
  • Чтобы получить доступ к устройствам Matter и управлять ими, вам также понадобится контроллер Google с поддержкой Home API. Подробнее о подключении на Android …
  • В доме должно быть хотя бы одно поддерживаемое устройство. Если устройство, которое вы хотите протестировать, использует Thread, то хаб должен быть Thread Border Router (TBR). Пример приложения для Android поддерживает следующие типы устройств и их характеристики:

    • Светильник с регулируемой цветовой температурой (включение и выключение, яркость)
    • Датчик контакта (логическое значение)
    • Светильник с регулируемой яркостью (включение, выключение, яркость)
    • Дверной замок
    • Расширенная цветовая палитра (включение и выключение, яркость)
    • Универсальный переключатель
    • Пограничный маршрутизатор Google
    • Google Камера
    • Google Doorbell
    • Датчик присутствия (определение присутствия)
    • Светильник (включение/выключение, яркость)
    • Выключатель освещения
    • Включаемый/выключаемый модуль (включение и выключение)
    • Датчик включения/выключения

Как скачать исходный код

Исходный код примера приложения доступен на GitHub.

Перейдите в папку, в которой вы хотите сохранить проект, и клонируйте его:

git clone https://github.com/google-home/google-home-api-sample-app-android.git

Настройте SDK

Home API для Android в этой общедоступной бета-версии пока не входят в стандартные библиотеки, предоставляемые Google для разработки. Чтобы разрабатывать приложения для Android с помощью Home API, вам нужно скачать и разместить библиотеки локально.

Чтобы скачать Home APIs Android SDK, сначала войдите в аккаунт Google Home Developers.

Войдите в аккаунт

Создайте приложение

  1. Откройте Android Studio, а затем папку проекта google-home-api-sample-app-android, которая была клонирована на ваш локальный компьютер.
  2. При первой настройке Android Studio может потребоваться до 10 минут, чтобы скачать все зависимости проекта и завершить сборку Gradle.

  3. Подключите компьютер к физическому телефону Android с помощью USB-кабеля и включите ADB в параметрах для разработчиков. Убедитесь, что Android Studio может подключиться к телефону Android через ADB.

  4. Измените название пакета для примера приложения на новое, которое ещё не было зарегистрировано, например на основе названия вашей организации:

    1. Откройте проект.
    2. Разверните иерархию источников.
    3. Выберите часть пакета, которую вы хотите изменить, то есть com.example.
    4. Нажмите правой кнопкой мыши на пакет и выберите Refactor (Рефакторинг) > Rename… (Переименовать…). Рефакторинг > Переименовать
    5. Введите новое название и нажмите Refactor (Рефакторинг).
    6. Измените файл build.gradle.kts, заменив android namespace и applicationId на новое название пакета.
  5. Настройте область действия OAuth в HomeModule.kt. По умолчанию в исходном коде примера приложения используется область действия https://www.googleapis.com/auth/home.platform.v2. Многие функции в примере приложения ограничены областью действия home.platform.v2 и требуют одобрения партнера для доступа. Чтобы запустить пример приложения со стандартной областью действия https://www.googleapis.com/auth/home.platform.selected.devices, откройте HomeModule.kt и измените homePlatformScope в HomeConfig на HOME_PLATFORM_SCOPE_VERSION_1:

    val homeConfig = HomeConfig(
      coroutineContext = Dispatchers.IO,
      factoryRegistryProvider = {
        FactoryConstants.factoryRegistryAllTraitsAllTypes
      },
      homePlatformScope =
        HomeConfig.HomePlatformScope.HOME_PLATFORM_SCOPE_VERSION_1
    )
    

Также замените homePlatformScope на HOME_PLATFORM_SCOPE_VERSION_1 в switchAccount() в HomeClientProvider.kt. В противном случае при выборе значка профиля для переключения аккаунтов приложение вернется к значению HOME_PLATFORM_SCOPE_VERSION_2.

  1. После того как все необходимые библиотеки будут скачаны и синхронизация Gradle завершится, нажмите кнопку Run (Запустить), чтобы собрать и запустить приложение. Если оно успешно запустится на вашем телефоне, вы увидите главную страницу Sample App.

Создайте сертификат подписи

При запуске или отладке приложения в Android Studio автоматически создается сертификат для отладки, предназначенный для разработки и отладки. Подробные инструкции вы найдете в статье Android Studio: подпишите отладочную сборку.

  1. Сгенерируйте сертификат подписи приложения для отладки, запустив приложение в Android Studio. Когда вы запускаете или отлаживаете приложение в Android Studio, Android Studio автоматически создает сертификат подписи приложения, предназначенный для разработки и отладки. Подробные инструкции вы найдете в статье Android Studio: подпишите отладочную сборку.

    Подключите мобильное устройство к локальному компьютеру. Android Studio покажет список подключенных устройств по номеру модели. Выберите устройство из списка и нажмите Run project (Запустить проект). Пример приложения будет создан и установлен на ваше мобильное устройство.

    Подробные инструкции вы найдете в статье Как запускать приложения на физических устройствах на сайте Android для разработчиков.

    Теперь остановите запущенное приложение.

  2. Чтобы получить цифровой отпечаток SHA-1 сертификата для отладки, следуйте инструкциям в разделе Управление клиентами OAuth / Типы приложений / Нативные приложения / Android на справочном сайте консоли Google Cloud.

  1. В консоли Google Cloud перейдите на панель выбора проекта и выберите проект, для которого хотите создать учетные данные OAuth.
  2. Перейдите на страницу APIs and Services (API и сервисы) и нажмите Credentials (Учетные данные) в меню навигации.
  3. Если вы ещё не настроили окно запроса доступа для этого проекта Google Cloud, появится кнопка Настроить окно запроса доступа. В этом случае настройте окно запроса доступа, следуя инструкциям ниже. В противном случае перейдите к следующему разделу.

    1. Нажмите Настроить окно запроса доступа. Откроется страница Окно запроса доступа OAuth.
    2. В зависимости от варианта использования выберите Внутреннее или Внешнее и нажмите Создать. Откроется панель Окно запроса доступа OAuth.
    3. Введите информацию на странице сведений о приложении, следуя инструкциям на экране, а затем нажмите Сохранить и продолжить. Появится панель Области действия.
    4. Добавлять области действия не нужно, поэтому нажмите Сохранить и продолжить. Откроется панель Тестовые пользователи.
    5. Нажмите Аудитория, а затем – Добавить пользователей.
    6. Введите адрес электронной почты тестового пользователя и нажмите кнопку Сохранить.
    7. Нажмите Сохранить и продолжить. Откроется панель Сводка.
    8. Проверьте информацию в окне запроса доступа OAuth и нажмите Вернуться на панель управления.

Подробную информацию можно найти в статье Настройка окна запроса доступа OAuth на сайте Справочного центра консоли Google Cloud. Прежде чем продолжить, добавьте хотя бы одного тестового пользователя.

Как настроить учетные данные OAuth

  1. Зарегистрируйте пример приложения для OAuth 2.0 и создайте учетные данные OAuth, следуя инструкциям в статье Настройка OAuth 2.0.
    1. Укажите тип приложения: нативное приложение для Android.
    2. Добавьте цифровой отпечаток SHA-1 в клиент OAuth, следуя инструкциям в статье Настройка OAuth 2.0 / Нативные приложения / Android на сайте справки Google Cloud Console. В процессе разработки ключ SHA-1 следует генерировать на основе ключа Android Studio по умолчанию.

Запустите приложение.

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

После установки приложение будет доступно на мобильном устройстве под названием Home API Sample App.