Інтеграція Alexa-пристроїв у мобільний IoT-додаток

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Інтеграція Alexa-пристроїв у мобільний IoT-додаток
Складний
~5 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Інтеграція Alexa-пристроїв у мобільний IoT-додаток

Alexa Smart Home — не один API, а три різні шляхи залежно від завдання. Управління розумним домом через Alexa Skills Kit (ASK) з Smart Home Skill — для сторонніх пристроїв, що хочуть підтримки голосових команд. Alexa Mobile Accessory Kit (AMAK) — для Bluetooth-аксесуарів, підключених до Echo-пристроїв. Alexa Voice Service (AVS) Integration — вбудовування голосового ассистента прямо в мобільний додаток. Зазвичай мобільна розробка потребує або Smart Home Skill, або AVS.

Smart Home Skill: управління пристроями через Alexa

Схема роботи: користувач говорит «Alexa, включи свет», Alexa Smart Home відправляє директиву на Lambda-функцію розробника, Lambda управляє реальним пристроєм через бекенд або напрямик. Мобільний додаток у цій схемі — точка настройки та авторизації, не управління.

Account Linking — ключовий крок. Користувач авторизує Alexa через OAuth 2.0 на сервері розробника. Після цього Alexa отримує access token та передає його з кожною директивою:

{
  "directive": {
    "header": {
      "namespace": "Alexa.PowerController",
      "name": "TurnOn"
    },
    "endpoint": {
      "endpointId": "device-001",
      "scope": {
        "type": "BearerToken",
        "token": "user-access-token"
      }
    }
  }
}

Lambda обробляет директиву та відповідає Response. Для успішного проходження Alexa Smart Home Certification Response повинен прийти в межах 8 секунд — це жорсткий дедлайн.

Мобільний додаток відкриває WebView для Account Linking або використовує Custom URL Scheme для редиректа після OAuth:

// iOS: обробка OAuth callback
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
    guard let url = URLContexts.first?.url,
          url.scheme == "myapp",
          url.host == "alexa-auth" else { return }

    let components = URLComponents(url: url, resolvingAgainstBaseURL: false)
    let code = components?.queryItems?.first(where: { $0.name == "code" })?.value
    // Обмен кода на токен через бекенд
}

AVS Integration: Alexa у мобільному додатку

Alexa Voice Service дозволяє вбудувати голосового ассистента в додаток. SDK доступен для Android через com.amazon.alexa:avs-device-sdk-android (deprecated) або через Alexa Auto SDK для автомобільних додатків. Офіційний шлях для мобільних — AVS API напрямик через HTTP/2:

POST https://avs-alexa-eu.amazon.com/v20160207/events
Content-Type: multipart/form-data; boundary=boundary
Authorization: Bearer {access_token}

--boundary
Content-Disposition: form-data; name="metadata"
Content-Type: application/json

{
  "event": {
    "header": {
      "namespace": "SpeechRecognizer",
      "name": "Recognize",
      "messageId": "uuid"
    },
    "payload": {
      "profile": "CLOSE_TALK",
      "format": "AUDIO_L16_RATE_16000_CHANNELS_1"
    }
  }
}
--boundary
Content-Disposition: form-data; name="audio"
Content-Type: application/octet-stream

[PCM audio data 16kHz, 16-bit mono]
--boundary--

AVS відповідає мультипарт-ответом з директивами та TTS-аудіо. Потік аудіо потрібно захоплювати через AVAudioEngine на iOS або AudioRecord на Android з буфером 320 байт (20мс) для мінімальної затримки.

На практиці інтеграція чистого AVS API займає більше часу, ніж здається: управління станом діалогу (Dialog Request ID), обробка downstream directives через довгоживуче HTTP/2-з'єднання (Downchannel), підтримка wake word — окрема задача кожного пункту.

Alexa для Android: APL та візуальні відповіді

Alexa Presentation Language (APL) дозволяє відображати візуальні карточки на екранованих Echo-пристроях та в додатках з APL-рендерером. Android SDK для APL:

implementation("com.amazon.alexa:apl-android-sdk:2024.1")

APL-документ — JSON, що описує інтерфейс. Рендерер відображає його без написання нативного коду на кожній платформі окремо.

Найбільш частий проблема при інтеграції AVS — управління мікрофоном у фоні. Android 10+ вимагає FOREGROUND_SERVICE з типом microphone для захопління аудіо, коли додаток не на передньому плані. Без <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"/> додаток крашится з SecurityException при попиту старта сервіса.

Публікація Smart Home Skill

Сертифікація Alexa Smart Home Skill проходит через Alexa Developer Console. Основні вимоги: Account Linking через HTTPS, коректні Response для всіх Capability Interface, які задекларовані в маніфесті, та обробка Alexa.Discovery запиту — повернення списку пристроїв користувача.

Типична причина відмови в сертифікації — неправильний ChangeReport при змін стану пристрою не за командою Alexa. Якщо користувач включив свет фізичним вимикачем, Smart Home Skill повинен відправити ChangeReport через Alexa Event Gateway.

Строки: інтеграція Account Linking та базового Smart Home Skill — 2-3 тижні. Повна реалізація з AVS, APL та підтримкою кількох Capability Interface — 5-7 тижнів. Вартість розраховується після аналізу пристроїв та сценаріїв.