На этой странице рассказывается, как создать главную страницу для прямых переписок с приложением Google Chat. Главная страница, которая в Google Chat API называется домашней страницей приложения, представляет собой настраиваемый интерфейс карточек, который появляется на вкладке Главная в прямых переписках между пользователем и приложением Chat.
В отличие от других приложений Google Workspace, дополнения, расширяющие возможности Chat, не показывают домашнюю страницу на панели быстрого доступа справа и не используют addOns.common.homepageTrigger в манифесте.
Вместо этого главная страница отображается в Chat в виде карточки на вкладке Главная в прямой переписке 1:1 с приложением Chat. Настроить ее можно в консоли Google Cloud.
Вы можете использовать главную страницу приложения, чтобы делиться советами по взаимодействию с приложением Chat, показывать персонализированную панель управления или предоставлять пользователям доступ к внешнему сервису или инструменту из Chat и возможность настраивать его.
Используйте конструктор карточек, чтобы создавать и просматривать сообщения и пользовательские интерфейсы для приложений Chat:
Как открыть конструктор карточекТребования
HTTP
Приложение Google Chat, которое получает и обрабатывает действия пользователей. Чтобы создать его, выполните краткое руководство по HTTP.
Apps Script
Приложение Google Chat, которое получает и обрабатывает действия пользователей. Чтобы создать такой скрипт, выполните инструкции по началу работы с Apps Script.
Как настроить главную страницу приложения Chat
Чтобы включить поддержку App Home, активируйте параметр Поддержка App Home и настройте триггер App Home в консоли Google Cloud. Приложение Chat получает событие запуска Главной страницы приложения, когда пользователь открывает вкладку Главная в прямой переписке с приложением.
Чтобы настроить главную страницу приложения в консоли Google Cloud:
В консоли Google Cloud нажмите Меню > API и сервисы > Включенные API и сервисы > Google Chat API > Конфигурация.
В разделе Интерактивные функции убедитесь, что параметр Включить интерактивные функции включен, а затем в разделе Функциональность установите флажок Поддержка главного экрана приложения.
В разделе Настройки подключения > Триггеры укажите обработчик главной страницы приложения в поле Главная страница приложения в зависимости от архитектуры приложения Chat:
- HTTP. Введите URL конечной точки HTTPS, которая обрабатывает запросы на главную страницу приложения (или выберите Использовать общий URL конечной точки HTTP для всех триггеров, чтобы все события получал общий URL конечной точки HTTP).
- Google Apps Script – введите название функции обратного вызова Google Apps Script, которая создает и возвращает карточку главной страницы (по умолчанию
onAppHome).
Нажмите Сохранить.
Как обрабатывать объект события App Home
Когда пользователь открывает вкладку Главная в прямой переписке с вашим приложением Chat, Chat отправляет объект события в конечную точку или функцию обратного вызова главной страницы приложения.
В отличие от событий взаимодействия с чат-группой или сообщением, исходный объект события "Главная страница приложения" не содержит полезную нагрузку взаимодействия с объединением (например, messagePayload). Он содержит следующие поля:
commonEventObject: включаетclientPlatform,hostApp("CHAT"),userLocaleиuserTimezone.chat.user– пользователь Chat, который открыл вкладку Главная.chat.eventTime– временная метка момента, когда пользователь открыл вкладку Главная.
Как создать карточку приложения на главном экране
Когда пользователь открывает вкладку Главная, обработайте триггерное событие Главная страница приложения, вернув объект RenderActions с действием навигации pushCard и Card. Чтобы сделать карточку интерактивной, в нее можно добавить интерактивные виджеты, например кнопки или поля ввода текста.
HTTP
{
"action": {
"navigations": [
{
"pushCard": {
"header": {
"title": "Welcome to App Home"
},
"sections": [
{
"widgets": [
{
"textParagraph": {
"text": "Manage your settings and view your dashboard here."
}
},
{
"buttonList": {
"buttons": [
{
"text": "Refresh",
"onClick": {
"action": {
"function": "https://example.com/updateAppHome"
}
}
}
]
}
}
]
}
]
}
}
]
}
}
Apps Script
/**
* Builds and returns the App Home card when a user opens the Home tab.
*
* @param {Object} event The event object from Google Chat.
* @return {ActionResponse} The RenderActions response pushing the homepage card.
*/
function onAppHome(event) {
const card = CardService.newCardBuilder()
.setHeader(
CardService.newCardHeader().setTitle('Welcome to App Home'))
.addSection(
CardService.newCardSection()
.addWidget(
CardService.newTextParagraph().setText(
'Manage your settings and view your dashboard here.'))
.addWidget(
CardService.newButtonSet().addButton(
CardService.newTextButton()
.setText('Refresh')
.setOnClickAction(
CardService.newAction().setFunctionName(
'updateAppHome')))))
.build();
return CardService.newActionResponseBuilder()
.setNavigation(CardService.newNavigation().pushCard(card))
.build();
}
Как отвечать на запросы в приложении Home
Если на карточке главного экрана приложения есть интерактивные виджеты, например кнопки или поля формы, при нажатии кнопки отправляется объект события, содержащий chat.buttonClickedPayload (а также commonEventObject.parameters и commonEventObject.formInputs), в настроенную функцию действия или конечную точку кнопки.
Чтобы обновить карточку на главном экране приложения в ответ на действия пользователя, верните объект RenderActions с действием навигации updateCard. Чтобы узнать больше о том, как считывать данные, введенные пользователями в интерактивные виджеты, ознакомьтесь со статьей Как считывать данные, введенные пользователями в формы на карточках.
HTTP
{
"action": {
"navigations": [
{
"updateCard": {
"header": {
"title": "Welcome to App Home"
},
"sections": [
{
"widgets": [
{
"textParagraph": {
"text": "Last updated: 2026-10-02T23:00:00Z"
}
}
]
}
]
}
}
]
}
}
Apps Script
/**
* Updates the App Home card when a user clicks the Refresh button.
*
* @param {Object} event The event object from Google Chat.
* @return {ActionResponse} The RenderActions response updating the homepage card.
*/
function updateAppHome(event) {
const updatedCard = CardService.newCardBuilder()
.setHeader(
CardService.newCardHeader().setTitle('Welcome to App Home'))
.addSection(
CardService.newCardSection().addWidget(
CardService.newTextParagraph().setText(
'Last updated: ' + new Date().toTimeString())))
.build();
return CardService.newActionResponseBuilder()
.setNavigation(CardService.newNavigation().updateCard(updatedCard))
.build();
}
Как открывать диалоговые окна из приложения
Приложение Chat также может отвечать на действия в App Home, открывая диалоговые окна.
Чтобы узнать, как открывать, обновлять и закрывать диалоговые окна с помощью RenderActions (pushCard, updateCard и endNavigation: "CLOSE_DIALOG"), ознакомьтесь со статьей Как открывать интерактивные диалоговые окна.
Статьи по теме
- Как получать и обрабатывать действия пользователей
- Как открыть интерактивные диалоговые окна
- Как читать данные, введенные пользователями в формы на карточках
- Примеры приложений Chat
Приложения Chat, которые не являются дополнениями: создание главной страницы для приложения Chat
Если вы поддерживаете приложение Chat, которое не является дополнением Google Workspace, Chat отправляет событие взаимодействия APP_HOME, когда пользователь открывает вкладку Главная, а также события взаимодействия CARD_CLICKED или SUBMIT_FORM, когда пользователь взаимодействует с виджетами на карточке приложения на главной странице.
Чтобы преобразовать приложение Chat, которое не является дополнением, в дополнение Google Workspace, ознакомьтесь со статьей Как преобразовать приложение Google Chat в дополнение Google Workspace.
Как создать карточку главной страницы приложения в приложении Chat, которое не является дополнением
В приложении Chat, которое не является дополнением, обработайте событие взаимодействия APP_HOME, вернув ответ, содержащий поле renderActions верхнего уровня с навигацией pushCard:
Node.js
Python
Java
Apps Script
В этом примере отправляется сообщение с карточкой, для чего возвращается JSON-код карточки. Вы также можете использовать сервис карточек Apps Script.
Как отвечать на действия в главном окне приложения Chat, если оно не является дополнением
В приложении Chat, которое не является дополнением, обрабатывайте события взаимодействия CARD_CLICKED или SUBMIT_FORM с карточкой на главной странице приложения, возвращая ответ, содержащий поле верхнего уровня renderActions с навигацией updateCard:
Node.js
Python
Java
Apps Script
В этом примере отправляется сообщение с карточкой, для чего возвращается JSON-код карточки. Вы также можете использовать сервис карточек Apps Script.