Получать и отвечать на действия пользователей

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

На этой странице описано, как сделать следующее:

  • Настройте приложение чата для получения событий взаимодействия.
  • Обработайте событие взаимодействия в своей инфраструктуре.
  • При необходимости реагируйте на события взаимодействия.

Предварительные условия

Приложение Google Chat с интерактивными функциями. Чтобы создать интерактивное приложение чата, выполните одно из следующих кратких руководств в зависимости от архитектуры приложения , которую вы хотите использовать:

Как работают события взаимодействия

Событие взаимодействия с приложением Google Chat представляет собой любое действие, которое пользователь предпринимает для вызова приложения Chat или взаимодействия с ним, например @упоминание приложения Chat или добавление его в пространство. Когда пользователи взаимодействуют с приложением Chat, Google Chat отправляет приложению Chat событие взаимодействия. Приложение Chat может использовать это событие для обработки взаимодействия и создания ответа.

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

Пример события взаимодействия Типичный ответ из приложения Chat
Пользователь вызывает приложение чата, @упомянув его или используя косую черту. Приложение Chat обрабатывает то, что говорится в сообщении, и создает сообщение. Например, приложение Chat отвечает на команду /about сообщением, объясняющим задачи, которые может выполнять приложение Chat.
Пользователь добавляет приложение Chat в пространство. Приложение Chat отправляет вводное сообщение , в котором объясняется, что оно делает и как пользователи в пространстве могут с ним взаимодействовать.
Пользователь удаляет приложение Chat из пространства. Приложение Chat удаляет все входящие уведомления, настроенные для этого пространства (например, удаление веб-перехватчика ), и очищает всю внутреннюю память.
Пользователь нажимает кнопку на карточке или в диалоговом окне, отправленном приложением Chat. Приложение «Чат» либо обрабатывает и сохраняет любые данные, отправленные пользователем, либо возвращает другую карточку или диалоговое окно.

Для каждого типа взаимодействия с пользователем Google Chat отправляет разные типы событий взаимодействия, которые помогают вашему приложению Chat соответствующим образом обрабатывать каждый тип событий. Например, Google Chat использует тип события ADDED_TO_SPACE для любого взаимодействия, когда пользователь добавляет приложение Chat в пространство, чтобы приложение Chat могло обрабатывать ответ, например публиковать приветственное сообщение в пространстве. Чтобы просмотреть все поддерживаемые события взаимодействия, обратитесь к справочной документации EventType .

Получать события взаимодействия с приложением Chat

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

Настройте приложение чата для получения событий взаимодействия.

Не все приложения чата являются интерактивными. Например, входящие веб-перехватчики могут отправлять только исходящие сообщения и не могут отвечать пользователям. Если вы создаете интерактивное приложение чата, вам необходимо выбрать конечную точку, которая позволит вашему приложению чата получать, обрабатывать и реагировать на события взаимодействия. Дополнительные сведения о разработке приложения Chat см. в разделе Архитектура реализации приложений Chat .

Для каждой интерактивной функции, которую вы хотите создать, вам необходимо обновить конфигурацию в Chat API, чтобы Google Chat мог отправлять связанные события взаимодействия в ваше приложение Chat:

  1. В консоли Google Cloud перейдите на страницу Chat API и нажмите страницу конфигурации :

    Перейдите на страницу конфигурации API чата.

  2. В разделе «Интерактивные функции» просмотрите настройки и обновите их в зависимости от функций, которые вы хотите создать:

    Поле Описание
    Функциональность Необходимый. Набор полей, определяющих, как приложение Chat может взаимодействовать с пользователями:
    • Получайте сообщения 1:1 . Пользователи могут находить приложение Chat и отправлять ему сообщения прямо в Google Chat.
    • Присоединяйтесь к группам и групповым беседам . Пользователи могут добавлять приложение Chat в группы и групповые беседы.
    Настройки подключения Необходимый. Конечная точка для приложения Chat, которая может быть одной из следующих:
    • URL-адрес приложения : конечная точка HTTPS, на которой размещается реализация приложения Chat.
    • Проект Apps Script : идентификатор развертывания проекта Apps Script, реализующего приложение Chat.
    • Название темы Cloud Pub/Sub : тема Pub/Sub, на которую приложение Chat подписывается в качестве конечной точки.
    • Dialogflow : регистрирует приложение Chat с интеграцией Dialogflow. Дополнительные сведения см. в разделе Создание приложения Google Chat Dialogflow, понимающего естественный язык .
    Слэш-команды Необязательный. Команды, которые могут быть доступны пользователям в Google Chat. Позволяет пользователям видеть основные действия вашего приложения Chat в Google Chat и выбирать конкретное действие, с которым они хотят взаимодействовать. Дополнительные сведения см. в разделе «Реагирование на команды с косой чертой в приложении чата» .
    Предварительный просмотр ссылок Необязательный. Шаблоны URL-адресов, которые приложение Chat распознает и предоставляет дополнительный контент, когда пользователи отправляют ссылки. Дополнительную информацию см. в разделе Ссылки для предварительного просмотра .
    Видимость Необязательный. До пяти человек или одна или несколько групп Google, которые могут просматривать и устанавливать ваше приложение Chat. Используйте это поле, чтобы протестировать приложение Chat или поделиться им со своей командой. Дополнительные сведения см. в разделе Тестирование интерактивных функций .
  3. Нажмите Сохранить . Когда вы сохраняете конфигурацию приложения Chat, оно становится доступным указанным пользователям в вашей организации Google Workspace.

Ваше приложение Chat теперь настроено на получение событий взаимодействия из Google Chat.

Обработка повторных HTTP-вызовов в вашу службу

Если запрос HTTPS к вашей службе завершается неудачей (например, из-за тайм-аута, временного сбоя сети или кода состояния HTTPS, отличного от 2xx), Google Chat может повторить попытку доставки несколько раз в течение нескольких минут (но это не гарантируется). В результате в определенных ситуациях приложение чата может получать одно и то же сообщение несколько раз. Если запрос завершается успешно, но возвращает недопустимые полезные данные сообщения, Google Chat не повторяет запрос.

Обработка или реагирование на события взаимодействия

В этом разделе объясняется, как приложения Google Chat могут обрабатывать события взаимодействия и реагировать на них.

После того как ваше приложение Chat получит событие взаимодействия от Google Chat, оно может отреагировать разными способами. Во многих случаях интерактивные приложения чата отвечают пользователю сообщением. Приложение Google Chat также может искать некоторую информацию из источника данных, записывать информацию о событиях взаимодействия или что-то еще. Такое поведение обработки, по сути, и определяет приложение Google Chat.

Для каждого события взаимодействия приложения чата получают тело запроса , которое представляет собой полезную нагрузку JSON, представляющую событие. Вы можете использовать эту информацию для обработки ответа. Примеры полезных данных событий см. в разделе Типы событий взаимодействия с приложением чата .

На следующей диаграмме показано, как приложение Google Chat обычно обрабатывает различные типы событий взаимодействия или реагирует на них.

Архитектура обработки событий взаимодействия приложениями Google Chat.

Отвечайте в режиме реального времени

События взаимодействия позволяют приложениям чата реагировать в режиме реального времени или синхронно . Синхронные ответы не требуют аутентификации .

Чтобы создать синхронные ответы на события взаимодействия, см. следующие руководства:

Чтобы ответить синхронно, приложение Chat должно ответить в течение 30 секунд, а ответ должен быть опубликован в пространстве, где произошло взаимодействие. В противном случае приложение Chat может ответить асинхронно.

Отвечать асинхронно

Иногда приложения чата должны реагировать на событие взаимодействия через 30 секунд или выполнять задачи за пределами пространства, в котором было создано событие взаимодействия. Например, приложению чата может потребоваться ответить пользователю после выполнения длительной задачи. В этом случае приложения чата могут реагировать асинхронно, вызывая API чата Google.

Чтобы создать сообщение с помощью Chat API, см. раздел Создание сообщения . Руководства по использованию дополнительных методов Chat API см. в обзоре Chat API .