App Intents — это программный механизм в экосистеме Apple (iOS, iPadOS, macOS), позволяющий приложениям «предугадывать» и поддерживать действия пользователя. С его помощью разработчики могут создавать сценарии и реакции, при которых система (например, Siri, виджеты или «Команды») обращается к функционалу приложения, не дожидаясь явного запроса от человека.

Основная идея

  • Интеграция с системой: Приложение «регистрирует» в системе те задачи (или намерения), которые оно способно выполнять. Например, приложение для заказов еды может заявить, что умеет «оформлять заказ», «повторять последний заказ» и т.д.
  • Проактивные подсказки: Операционная система на основании разных сигналов (геолокация, время суток, предыдущие действия пользователя) может «преактивно» предложить воспользоваться функцией приложения — например, если в обед пользователь обычно заказывает еду, то система может автоматически выдать соответствующую подсказку.

Вы могли замечать, что в определённых местах (например в магазине), Siri может предложить воспользоваться приложением для этого магазина (скидки, кэшбек, и т.д.). Чтобы увидеть предложения, достаточно потянуть пальцем вниз на домашнем экране смартфона.

Как это работает (на примере iOS)

  1. Декларация интентов: Разработчик описывает в своём приложении (через специальный API) «интенты» (intents) — то есть задачи, которые программа способна выполнять:

Создание заметки, отправка сообщения, заказ такси, поиск информации и так далее.

  1. Регистрация в системе: После установки приложения эти возможности становятся известны системе, и уже сама iOS может в нужный момент предложить пользователю использовать соответствующий интент.
  2. Шорткаты и Siri: Интенты легко интегрируются с «Командами» и с Siri. Это значит, что пользователь может голосовой командой «Привет Siri, закажи пиццу» вызвать конкретный интент приложения (если оно его заявило).
  3. Проактивность: В зависимости от поведения пользователя и контекстных данных (местоположение, расписание, активность в других приложениях и т.д.) система может показывать подсказки или автоматизировать действия. К примеру, если вы каждый вечер запускаете плейлист в одном и том же музыкальном приложении, то система может сама предложить включить плейлист.

Чем App Intents отличаются от обычных действий в приложении

  • Интегрированность в систему: Обычно операции внутри приложения требуют прямого запуска интерфейса или действий пользователя. С App Intents систему можно «научить» сама подсказывать или автоматически запускать функциональность без открытия приложения.
  • Упрощённая передача контекста: Siri и «Команды» могут передавать в приложение дополнительную информацию (например, «какую музыку включить», «какую еду заказать»), и приложение сразу выполняет действие.
  • Универсальность: Разные устройства Apple (iPhone, iPad, Mac, Apple Watch и даже HomePod) могут использовать эти интенты, если приложение адаптировано под соответствующие платформы.

Пример сценария

  1. Приложение-дневник указывает, что оно умеет создавать новую заметку «дневной обзор».
  2. Утром система может заметить, что вы каждый день запускаете приложение в 9 утра, и предложит «Создать заметку».
  3. Вы даёте команду Siri: «Создай дневную заметку», — и приложение автоматически открывает новую запись с шаблоном.

Таким образом, App Intents не просто позволяют приложениям «делать то, что в них заложено», но и делают это на уровне системы — с глубокой интеграцией в Siri, «Команды», виджеты и другие элементы. Это повышает удобство пользователя и даёт возможность более «проактивного» взаимодействия с функциями приложений.


Ещё по теме: