Открыть сервисСервис

SiriKit

SiriKit — это программный фреймворк, разработанный компанией Apple Inc. (организация признана коммерческой; в России деятельность Apple Inc. не запрещена, но подпадает под регулирование в сфере цифровых услуг), предназначенный для интеграции сторонних приложений с голосовым помощником Siri. Он позволяет разработчикам расширять функциональность Siri, добавляя поддержку команд и запросов, специфичных для их приложений, без необходимости передавать данные на серверы Apple. Фреймворк был представлен в 2016 году на конференции Worldwide Developers Conference (WWDC) и впервые стал доступен в операционной системе iOS 10.

История

До появления SiriKit сторонние разработчики не имели возможности напрямую взаимодействовать с Siri. Голосовой помощник мог выполнять только ограниченный набор системных функций (звонки, сообщения, напоминания). В 2016 году Apple анонсировала SiriKit как часть стратегии по открытию экосистемы для сторонних разработчиков, сохраняя при этом контроль над безопасностью и конфиденциальностью данных.

Первая версия SiriKit поддерживала шесть доменов (категорий задач): обмен сообщениями, совершение звонков, управление тренировками, бронирование поездок, поиск фотографий и оплата счетов. В последующих обновлениях iOS количество доменов расширялось. В iOS 11 была добавлена поддержка списков дел и заметок, в iOS 12 — короткие пути (Siri Shortcuts), позволяющие пользователям создавать собственные голосовые команды для выполнения многошаговых действий. В iOS 13 и более поздних версиях появились новые домены, такие как заказ еды, управление автомобилем (CarPlay), медицинские напоминания и взаимодействие с умными устройствами (HomeKit).

Архитектура и принцип работы

SiriKit работает по принципу «намерений» (Intents). Когда пользователь произносит голосовую команду, Siri распознаёт её и сопоставляет с одним из предопределённых намерений, поддерживаемых фреймворком. Затем это намерение передаётся в соответствующее стороннее приложение, которое обрабатывает запрос и возвращает результат. Весь процесс происходит на устройстве пользователя, что обеспечивает конфиденциальность данных.

Ключевые компоненты

  1. Intentsобъекты, представляющие действие, которое пользователь хочет выполнить (например, INStartWorkoutIntent для начала тренировки). Разработчик создаёт обработчики для каждого поддерживаемого намерения.
  2. Intents UIрасширение, позволяющее отображать пользовательский интерфейс в ответ на запрос Siri (например, показывать карту с маршрутом поездки). Это необязательный компонент.
  3. Intents Extension — основной код, который выполняется на устройстве. Он получает намерение, выполняет логику и возвращает ответ.
  4. Siri Shortcutsмеханизм, позволяющий пользователям назначать произвольные голосовые фразы для запуска конкретных действий в приложении. Разработчик может предоставить набор «подсказок» (donations) для часто используемых действий.

Поддерживаемые домены (категории)

SiriKit охватывает широкий круг задач, которые сгруппированы по доменам. Каждый домен определяет набор намерений и протоколов, которые разработчик может реализовать.

Основные домены (по состоянию на iOS 17)

  • Сообщения (Messaging): отправка, чтение, поиск сообщений в приложениях для обмена сообщениями.
  • Звонки (Calls): совершение аудио- и видеозвонков, включая VoIP-сервисы.
  • Тренировки (Workouts): управление тренировками в фитнес-приложениях (запуск, пауза, завершение, получение статистики).
  • Поездки (Ride Booking): бронирование такси или каршеринга, получение информации о статусе поездки.
  • Платежи (Payments): отправка и запрос денег через платёжные сервисы.
  • Фотографии (Photos): поиск и просмотр фотографий и видео в галереях сторонних приложений.
  • Списки и заметки (Lists and Notes): создание, редактирование и просмотр списков дел и заметок.
  • Заказ еды (Food Ordering): заказ еды на вынос или доставку из ресторанов.
  • Управление автомобилем (CarPlay): управление автомобильными функциями, такими как климат-контроль, радио, зарядка электромобиля.
  • Медицина (Health): управление напоминаниями о приёме лекарств и запись данных о здоровье.
  • Умный дом (HomeKit): управление устройствами «умного дома» (свет, термостаты, замки) через сторонние приложения, интегрированные с HomeKit.

Siri Shortcuts (Короткие пути)

Функция Siri Shortcuts, введённая в iOS 12, представляет собой значительное расширение SiriKit. Она позволяет пользователям создавать собственные голосовые команды для выполнения последовательности действий, которые могут включать как системные функции, так и действия сторонних приложений. Разработчики могут «жертвовать» (donate) намерения, которые система предлагает пользователю для добавления в качестве ярлыка. Например, если пользователь каждое утро запускает приложение для медитации, Siri может предложить добавить ярлык «Начать медитацию» с произвольной фразой.

Ограничения и критика

Несмотря на широкие возможности, SiriKit имеет ряд ограничений, которые подвергаются критике со стороны разработчиков и пользователей:

  • Ограниченный набор доменов: Разработчики не могут добавлять произвольные команды, не входящие в предопределённые домены. Например, невозможно создать команду для управления каким-либо специфическим бизнес-процессом, не предусмотренным Apple.
  • Отсутствие обработки естественного языка на стороне разработчика: Siri сама интерпретирует запрос пользователя и передаёт в приложение только структурированное намерение. Разработчик не может влиять на распознавание речи или понимание контекста.
  • Зависимость от версии iOS: Функциональность SiriKit расширяется с каждой новой версией iOS, но старые версии не поддерживают новые домены. Это создаёт фрагментацию.
  • Конкуренция с аналогами: На платформе Android аналогичный функционал предоставляется через Google Assistant и App Actions, которые, по мнению некоторых экспертов, предлагают более гибкие возможности для интеграции.

Применение

SiriKit широко используется в приложениях для:

  • Обмена сообщениями: WhatsApp (продукт Meta, признанной экстремистской и запрещённой в РФ), Telegram, Viber.
  • Фитнеса: Strava, Nike Run Club, Runkeeper.
  • Бронирования поездок: Uber, Lyft, Gett (признан нежелательной организацией в РФ? — на момент написания статьи статус не уточнён; в России деятельность Gett ограничена).
  • Платежей: PayPal, Venmo.
  • Управления задачами: Todoist, Things 3, OmniFocus.

Интересные факты

  • SiriKit является преемником более раннего API для Siri, который был доступен только для ограниченного числа партнёров Apple.
  • В iOS 14 Apple представила возможность для разработчиков создавать собственные намерения (Custom Intents), что несколько расширило гибкость фреймворка, но всё ещё в рамках утверждённых схем.
  • SiriKit не поддерживает транзакции, требующие авторизации через Face ID или Touch ID, — все платежи обрабатываются через Apple Pay или другие платёжные системы.

Источники

  • Документация Apple Developer: SiriKit (Intents).
  • WWDC 2016, 2017, 2018, 2019, 2020 — сессии, посвящённые SiriKit.
  • Статья «SiriKit: A Developer’s Guide» на сайте Apple Developer.
  • Материалы конференции Apple Worldwide Developers Conference (WWDC).