This page explains how to build a homepage for direct messages with your Google Chat app. A homepage, referred to as app home in the Google Chat API, is a customizable card interface that appears in the Home tab of direct message spaces between a user and a Chat app.

На главной странице приложения вы можете делиться советами по взаимодействию с приложением «Чат» или предоставлять пользователям доступ к внешним сервисам или инструментам из приложения «Чат» и разрешать им их использование.
Используйте конструктор карточек для разработки и предварительного просмотра сообщений и пользовательских интерфейсов для чат-приложений:
Откройте конструктор карточек.Предварительные требования
Node.js
Приложение Google Chat, которое получает и обрабатывает события взаимодействия . Чтобы создать интерактивное приложение чата с использованием HTTP-сервиса, выполните следующие действия в этом кратком руководстве .Python
Приложение Google Chat, которое получает и обрабатывает события взаимодействия . Чтобы создать интерактивное приложение чата с использованием HTTP-сервиса, выполните следующие действия в этом кратком руководстве .Java
Приложение Google Chat, которое получает и обрабатывает события взаимодействия . Чтобы создать интерактивное приложение чата с использованием HTTP-сервиса, выполните следующие действия в этом кратком руководстве .Apps Script
Приложение Google Chat, которое получает и обрабатывает события взаимодействия . Чтобы создать интерактивное приложение чата в Apps Script, выполните следующие действия в этом кратком руководстве .Настройте домашний экран для вашего приложения чата.
To support app home, you must configure your Chat app to receive APP_HOME interaction events , Your Chat app receives this event whenever a user clicks the Home tab from a direct message with the Chat app.
Чтобы обновить параметры конфигурации в консоли Google Cloud, выполните следующие действия:
- В консоли Google Cloud перейдите в «Меню» > «API и сервисы» > «Включенные API и сервисы» > «Google Chat API» > «Конфигурация» . Перейдите в раздел «Конфигурация Chat API».
- В разделе «Интерактивные функции» перейдите в раздел «Функциональность» и выберите «Домашняя страница приложения поддержки» .
- Если ваше приложение для чата использует HTTP-сервис, перейдите в настройки подключения и укажите конечную точку в поле «URL-адрес домашней страницы приложения» . Вы можете использовать тот же URL-адрес, который указали в поле «URL-адрес конечной точки HTTP» .
- Нажмите « Сохранить ».
Создайте главную карточку приложения
When a user opens app home, your Chat app must handle the APP_HOME interaction event by returning an instance of RenderActions with pushCard navigation and a Card . To create an interactive experience, the card can contain interactive widgets such as buttons or text inputs that the Chat app can process and respond to with additional cards, or a dialog.
In the following example, the Chat app displays an initial app home card that displays the time the card was created and a button. When a user clicks the button, the Chat app returns an updated card that displays the time the updated card was created.
Node.js
Python
Java
Apps Script
Реализуйте функцию onAppHome , которая вызывается после всех событий взаимодействия APP_HOME :
В этом примере отправляется сообщение в виде карточки, возвращая JSON-объект с именем карточки . Вы также можете использовать службу создания карточек Apps Script .
Реагируйте на действия, происходящие на главной странице приложения.
If your initial app home card contains interactive widgets, such as buttons or selection inputs, your Chat app must handle the related interaction events by returning an instance of RenderActions with updateCard navigation. To learn more about handling interactive widgets, see Process information inputted by users .
In the previous example, the initial app home card included a button. Whenever a user clicks the button, a CARD_CLICKED interaction event triggers the function updateAppHome to refresh the app home card, as shown in the following code:
Node.js
Python
Java
Apps Script
В этом примере отправляется сообщение в виде карточки, возвращая JSON-объект с именем карточки . Вы также можете использовать службу создания карточек Apps Script .
Открыть диалоги
Ваше приложение «Чат» также может отвечать на сообщения на главной странице приложения, открывая диалоговые окна .

To open a dialog from app home, process the related interaction event by returning renderActions with updateCard navigation that contains a Card object. In the following example, a Chat app responds to a button click from an app home card by processing the CARD_CLICKED interaction event and opening a dialog:
{ renderActions: { action: { navigations: [{ updateCard: { sections: [{
header: "Add new contact",
widgets: [{ "textInput": {
label: "Name",
type: "SINGLE_LINE",
name: "contactName"
}}, { textInput: {
label: "Address",
type: "MULTIPLE_LINE",
name: "address"
}}, { decoratedText: {
text: "Add to favorites",
switchControl: {
controlType: "SWITCH",
name: "saveFavorite"
}
}}, { decoratedText: {
text: "Merge with existing contacts",
switchControl: {
controlType: "SWITCH",
name: "mergeContact",
selected: true
}
}}, { buttonList: { buttons: [{
text: "Next",
onClick: { action: { function: "openSequentialDialog" }}
}]}}]
}]}}]}}}
Для закрытия диалога обработайте следующие события взаимодействия:
-
CLOSE_DIALOG: Закрывает диалоговое окно и возвращает на главную страницу приложения «Чат». -
CLOSE_DIALOG_AND_EXECUTE: Закрывает диалоговое окно и обновляет главную страницу приложения.
В следующем примере кода используется CLOSE_DIALOG для закрытия диалогового окна и возврата на главную страницу приложения:
{ renderActions: { action: {
navigations: [{ endNavigation: { action: "CLOSE_DIALOG" }}]
}}}
Для сбора информации от пользователей можно также создавать последовательные диалоги. Чтобы узнать, как создавать последовательные диалоги, см. раздел «Открытие диалогов и ответы на них» .
Связанные темы
- Посмотрите примеры приложений для чата , использующих главную страницу приложения.
- Открывайте диалоги и отвечайте на них .