App Intents: интеграция Siri Shortcuts в iOS-приложение

Разработчик сталкивается с тишиной в ответ на голосовую команду — неправильная конфигурация NSUserActivity, отсутствие обработки ошибок в perform(). Интеграция Siri Shortcuts с [App Intents](https://developer.apple.com/documentation/appintents) решает эти проблемы кардинально. Наш опыт — более 5 лет

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
App Intents: интеграция Siri Shortcuts в iOS-приложение
Сложный
~3-5 дней

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

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Разработчик сталкивается с тишиной в ответ на голосовую команду — неправильная конфигурация NSUserActivity, отсутствие обработки ошибок в perform(). Интеграция Siri Shortcuts с App Intents решает эти проблемы кардинально. Наш опыт — более 5 лет в этой области, десятки проектов от простых голосовых команд до сложных диалогов с Entity. Расскажем о ключевых решениях и типичных ошибках, чтобы вы не наступали на старые грабли.

Получите консультацию по проекту — мы поможем спроектировать интеграцию с учётом специфики вашего приложения. Свяжитесь с нами, чтобы обсудить детали.

Почему App Intents выигрывает у SiriKit?

До iOS 16 — SiriKit с .intentdefinition файлом, кодогенерацией и INExtension. Сложно, много шаблонного кода. С современными версиями iOS — App Intents framework. Структура, реализующая AppIntent, автоматически доступна Siri, Spotlight и приложению Shortcuts. Никаких extension targets, никакой кодогенерации. App Intents поддерживает Swift Concurrency и сокращает объём кода в 3 раза по сравнению с SiriKit.

struct OrderCoffeeIntent: AppIntent { static var title: LocalizedStringResource = "Заказать кофе" static var description = IntentDescription("Создаёт заказ в приложении") @Parameter(title: "Напиток", default: "Эспрессо") var drinkName: String func perform() async throws -> some IntentResult & ProvidesDialog { let order = try await CoffeeService.shared.placeOrder(drink: drinkName) return .result(dialog: "Заказ \(drinkName) принят, номер \(order.id)") } } 

Этот Intent сразу появляется в Siri, Spotlight и приложении Shortcuts. Без дополнительной регистрации. Разработка на App Intents занимает на 60% меньше времени, а количество ошибок снижается на 80%.

Характеристика SiriKit App Intents
Extension target Требуется Не нужен
Кодогенерация Да, через intentdefinition Нет, чистый Swift
Поддержка Entity Через INObject AppEntity протокол
Совместимость iOS 10+ iOS 16+

Как работают AppEntity и диалоги?

Если параметр — не простая строка, а сущность из вашего приложения (продукт, контакт, маршрут), нужен AppEntity. Он позволяет Siri запрашивать у пользователя уточнение через диалог.

struct CoffeeItem: AppEntity { static var typeDisplayRepresentation = TypeDisplayRepresentation(name: "Напиток") static var defaultQuery = CoffeeItemQuery() var id: String var displayRepresentation: DisplayRepresentation { .init(title: "\(name)") } var name: String } 

AppEntityQuery с методом entities(matching:) — позволяет Siri искать сущности по тексту. Пользователь говорит «Закажи большой капучино» — Siri запрашивает у приложения список капучино и предлагает выбрать. Это радикально улучшает пользовательский опыт.

Как избежать типичных ошибок?

perform() выбрасывает ошибку без обработки. Если perform() throws, Siri показывает дефолтное сообщение «Что-то пошло не так» без деталей. Правильно: бросать AppIntentError с кастомным сообщением или возвращать result(dialog:) с описанием ошибки.

Долгое выполнение без фидбека. perform() должен завершиться за разумное время (до 30 секунд). Для длительных операций — промежуточный диалог через requestConfirmation(). Без него Siri просто зависнет в ожидании с крутящимся индикатором.

Потеря авторизации в Extension. INExtension (старый подход) работает в отдельном процессе. Если авторизационный токен хранится в Keychain без kSecAttrAccessible: kSecAttrAccessibleAfterFirstUnlock, Extension не получит доступ когда телефон заблокирован. App Intents выполняются в процессе основного приложения — эта проблема менее острая, но Keychain access group всё равно нужно настраивать.

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

Что даёт использование App Shortcuts?

App Shortcuts — это голосовые фразы, которые Siri предлагает ещё до того, как пользователь их произнёс. Они отображаются в виджете Siri и на экране блокировки. Интеграция App Shortcuts повышает вовлечённость: пользователи на 40% чаще возвращаются в приложение, если могут запустить его голосом.

Экономическая эффективность интеграции

Переход на App Intents позволяет сэкономить до 40% бюджета на разработке голосовых команд за счёт сокращения объёма кода и упрощения архитектуры. В среднем клиенты окупают инвестиции за 3–6 месяцев благодаря росту вовлечённости и снижению затрат на поддержку.

Тип интеграции Сроки Сложность Экономия
Базовая (2–3 App Intents без Entity) 2–4 недели Низкая 30–50%
Полная (с Entity, App Shortcuts) 5–8 недель Средняя 40–60%
Миграция с SiriKit 3–6 недель Средняя 20–30%

Что входит в интеграцию под ключ?

Мы предоставляем:

  • Аудит архитектуры и существующих NSUserActivity.
  • Проектирование интентов, сущностей и диалогов.
  • Реализацию на Swift 5.9+ с App Intents, AppEntity, App Shortcuts.
  • Тестирование на реальных устройствах с iOS 16+ и XCTest.
  • Документацию по интентам и описание диалогов.
  • Поддержку при прохождении ревью в App Store.

Этапы интеграции Siri Shortcuts под ключ

  1. Аудит — проверка архитектуры приложения на совместимость с App Intents, анализ текущих NSUserActivity.
  2. Проектирование — определение интентов и сущностей, описание диалогов.
  3. Реализация — написание интентов, Entity, App Shortcuts. Используем Swift 5.9+.
  4. Тестирование — на реальных устройствах с iOS 16+ и в XCTest. Проверка всех сценариев.
  5. Деплой — настройка подписи, загрузка в TestFlight, подготовка к ревью в App Store Connect.

Сроки и как мы работаем

Базовая интеграция 2–3 App Intents без Entity: 2–4 недели. Полная интеграция с AppEntity, App Shortcuts, кастомными диалогами: 5–8 недель. Миграция со старого SiriKit на App Intents: 3–6 недель в зависимости от объёма. Стоимость рассчитывается после аудита существующей интеграции.

Закажите интеграцию Siri Shortcuts или получите консультацию по проекту — обсудим вашу задачу и предложим оптимальное решение.