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 распознаёт её и сопоставляет с одним из предопределённых намерений, поддерживаемых фреймворком. Затем это намерение передаётся в соответствующее стороннее приложение, которое обрабатывает запрос и возвращает результат. Весь процесс происходит на устройстве пользователя, что обеспечивает конфиденциальность данных.
Ключевые компоненты
- Intents — объекты, представляющие действие, которое пользователь хочет выполнить (например,
INStartWorkoutIntentдля начала тренировки). Разработчик создаёт обработчики для каждого поддерживаемого намерения. - Intents UI — расширение, позволяющее отображать пользовательский интерфейс в ответ на запрос Siri (например, показывать карту с маршрутом поездки). Это необязательный компонент.
- Intents Extension — основной код, который выполняется на устройстве. Он получает намерение, выполняет логику и возвращает ответ.
- 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).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →