Чтобы предотвратить переключение контекста при отправке пользователями ссылки в Google Chat, ваше приложение для чата может предварительно просмотреть ссылку, прикрепив к сообщению карточку с дополнительной информацией, которая позволит пользователям совершать действия прямо из Google Chat.
Например, представьте себе пространство Google Chat, в котором находятся все сотрудники службы поддержки клиентов компании, а также приложение для чата под названием Case-y. Сотрудники часто делятся ссылками на обращения в службу поддержки в этом пространстве, и каждый раз их коллеги должны открывать ссылку на обращение, чтобы увидеть такие детали, как ответственный, статус и тема. Аналогично, если кто-то хочет взять на себя ответственность за обращение или изменить его статус, ему также необходимо открыть ссылку.
Функция предварительного просмотра ссылок позволяет встроенному в систему чат-приложению Case-y прикреплять карточку с указанием ответственного лица, статуса и темы всякий раз, когда кто-то делится ссылкой на обращение. Кнопки на карточке позволяют агентам брать на себя ответственность за обращение и изменять его статус непосредственно из потока чата.
Как работает предварительный просмотр ссылок
Когда кто-то добавляет ссылку в свое сообщение, появляется значок, указывающий на то, что приложение для чата может предварительно просмотреть эту ссылку.


После отправки сообщения ссылка отправляется в приложение «Чат», которое затем генерирует и прикрепляет карточку к сообщению пользователя.


Помимо ссылки, карточка содержит дополнительную информацию о ней, включая интерактивные элементы, такие как кнопки. Ваше приложение для чата может обновлять прикрепленную карточку в ответ на действия пользователя, например, нажатия кнопок.
Если пользователь не хочет, чтобы приложение «Чат» показывало предварительный просмотр его ссылки, прикрепляя к сообщению карточку, он может запретить предварительный просмотр, нажав кнопку на панели предварительного просмотра. Пользователи могут удалить прикрепленную карточку в любое время, нажав кнопку «Удалить предварительный просмотр» .
Предварительные требования
Node.js
Приложение Google Chat, которое получает и обрабатывает события взаимодействия . Чтобы создать интерактивное приложение чата с использованием HTTP-сервиса, выполните следующие действия в этом кратком руководстве .Python
Приложение Google Chat, которое получает и обрабатывает события взаимодействия . Чтобы создать интерактивное приложение чата с использованием HTTP-сервиса, выполните следующие действия в этом кратком руководстве .Java
Приложение Google Chat, которое получает и обрабатывает события взаимодействия . Чтобы создать интерактивное приложение чата с использованием HTTP-сервиса, выполните следующие действия в этом кратком руководстве .Apps Script
Приложение Google Chat, которое получает и обрабатывает события взаимодействия . Чтобы создать интерактивное приложение чата в Apps Script, выполните следующие действия в этом кратком руководстве .Настройка предварительного просмотра ссылок
Зарегистрируйте определенные ссылки — например example.com , support.example.com и support.example.com/cases/ — в качестве шаблонов URL-адресов на странице конфигурации вашего приложения чата в консоли Google Cloud, чтобы ваше приложение чата могло просматривать их.


- Откройте консоль Google Cloud .
- Рядом с надписью "Google Cloud" нажмите стрелку вниз и откройте проект вашего приложения "Чат".
- В поле поиска введите
Google Chat APIи нажмите Google Chat API . - Нажмите «Управление» > «Конфигурация» .
- В разделе «Предварительный просмотр ссылок» добавьте или отредактируйте шаблон URL-адреса.
- Чтобы настроить предварительный просмотр ссылок для нового шаблона URL, нажмите «Добавить шаблон URL» .
- Чтобы отредактировать конфигурацию существующего шаблона URL, нажмите стрелку вниз .
В поле «Шаблон хоста» введите домен URL-шаблона. Приложение «Чат» отобразит предварительный просмотр ссылок на этот домен.
Чтобы приложение «Чат» отображало предварительный просмотр ссылок для определенного поддомена, например,
subdomain.example.com, укажите этот поддомен.Чтобы приложение «Чат» отображало ссылки предварительного просмотра для всего домена, укажите символ подстановки со звездочкой (*) в качестве поддомена. Например,
*.example.comсоответствуетsubdomain.example.comиany.number.of.subdomains.example.com.В поле «Префикс пути» введите путь, который будет добавлен к домену шаблона хоста.
Чтобы сопоставить все URL-адреса в домене шаблона хоста, оставьте поле «Префикс пути» пустым.
Например, если шаблон Host —
support.example.com, то для сопоставления URL-адресов обращений, размещенных по адресуsupport.example.com/cases/, введитеcases/.Нажмите «Готово» .
Нажмите « Сохранить ».
Теперь, всякий раз, когда кто-либо добавляет ссылку, соответствующую шаблону URL-адреса предварительного просмотра ссылки, в сообщение в чате, в котором используется ваше приложение для чата, ваше приложение отображает предварительный просмотр этой ссылки.
Предварительный просмотр ссылки
После настройки предварительного просмотра ссылки для заданной ссылки ваше приложение чата сможет распознать и просмотреть ее, добавив к ней дополнительную информацию.
В чатах, включающих ваше приложение для чата, когда сообщение пользователя содержит ссылку, соответствующую шаблону URL-адреса предварительного просмотра ссылки, ваше приложение для чата получает событие взаимодействия MESSAGE . JSON-данные события взаимодействия содержат поле matchedUrl :
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
Проверяя наличие поля matchedUrl в содержимом события MESSAGE , ваше приложение чата может добавить к сообщению информацию, включая предварительно просмотренную ссылку. Ваше приложение чата может ответить либо простым текстовым сообщением, либо прикрепить карточку.
Ответьте текстовым сообщением
Для простых ответов ваше приложение чата может предварительно просмотреть ссылку, ответив простым текстовым сообщением . В этом примере к сообщению прикреплен URL-адрес ссылки, соответствующий шаблону URL-адреса предварительного просмотра ссылки.
Node.js
Python
Java
Apps Script
Прикрепите карточку, которая отображает предварительный просмотр ссылки.
Чтобы прикрепить карточку к предварительно просмотренной ссылке, верните ActionResponse типа UPDATE_USER_MESSAGE_CARDS . В этом примере прикрепляется простая карточка.


Node.js
Python
Java
Apps Script
В этом примере отправляется сообщение в виде карточки, возвращая JSON-объект с именем карточки . Вы также можете использовать службу создания карточек Apps Script .
Обновить карточку предварительного просмотра ссылки
Ваше приложение для чата может обновлять предварительный просмотр карточки ссылки, когда пользователи взаимодействуют с ней, например, нажимают кнопку на карточке.
Для обновления карточки ваше приложение чата должно обработать событие взаимодействия CARD_CLICKED и вернуть actionResponse в зависимости от того, кто отправил сообщение, содержащее предварительный просмотр ссылки:
- Если сообщение отправил пользователь, установите для параметра
actionResponse.typeзначениеUPDATE_USER_MESSAGE_CARDS. - Если сообщение было отправлено приложением чата, установите параметр
actionResponse.typeв значениеUPDATE_MESSAGE.
Чтобы определить, кто отправил сообщение, вы можете использовать поле message.sender.type события взаимодействия, чтобы узнать, был ли отправитель HUMAN или BOT .
В следующем примере показано, как приложение чата обновляет предварительный просмотр ссылки всякий раз, когда пользователь нажимает кнопку « Назначить мне» , обновляя поле «Исполнитель» в карточке и отключая кнопку.


Node.js
Python
Java
Apps Script
В этом примере отправляется сообщение в виде карточки, возвращая JSON-объект с именем карточки . Вы также можете использовать службу создания карточек Apps Script .
Ограничения и соображения
При настройке предварительного просмотра ссылок для вашего приложения чата учитывайте следующие ограничения и моменты:
- Каждое приложение для чата поддерживает предварительный просмотр ссылок для до 5 шаблонов URL.
- В чат-приложениях предварительно отображается только одна ссылка в сообщении. Если в одном сообщении присутствует несколько ссылок, доступных для предварительного просмотра, отображается только первая из них.
- В чат-приложениях предварительный просмотр осуществляется только по ссылкам, начинающимся с
https://, поэтомуhttps://support.example.com/cases/отображается, аsupport.example.com/cases/нет. - Если сообщение не содержит другой информации, отправляемой в приложение чата, например, команды с косой чертой , то в предварительный просмотр ссылок в приложение чата отправляется только URL-адрес ссылки.
- Если пользователь отправляет ссылку, приложение чата может обновить карточку предварительного просмотра ссылки только в том случае, если пользователь взаимодействует с карточкой, например, нажимает кнопку. Вызов метода
update()API чата для ресурсаMessageневозможен для асинхронного обновления сообщения пользователя. - Приложения для чата должны отображать ссылки для всех участников сообщества, поэтому в сообщении не должно быть поля
privateMessageViewer.
Предварительный просмотр отладочных ссылок
При внедрении предварительного просмотра ссылок вам может потребоваться отладка приложения чата путем чтения журналов приложения. Чтобы прочитать журналы, перейдите в раздел « Обозреватель журналов» в консоли Google Cloud.