Nesta página, explicamos como criar e enviar uma mensagem de card inicial para seu app do Chat. Essa página é um card personalizável que um app do Chat envia a um usuário quando ele abre uma mensagem direta com o app do Chat.
Por exemplo, você pode configurar a mensagem do card da página inicial do app para incluir dicas de como interagir com o app do Chat usando comandos de barra. Para os usuários finais, a página inicial só estará disponível na mensagem direta do app do Chat se o desenvolvedor do app ativar o recurso.
Use o Card Builder para criar e visualizar mensagens de cards JSON em apps de chat:
Abra o Criador de cards.Pré-requisitos
Python
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um app do Chat publicado. Para criar um app do Chat, consulte este quickstart.
- Um app do Google Chat configurado para interatividade. Para mais informações, consulte Configurar seu app Google Chat para receber eventos de interação.
Apps Script
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um app do Chat publicado. Para criar um app do Chat, siga este quickstart.
- Um app do Google Chat configurado para interatividade. Para mais informações, consulte Configurar seu app Google Chat para receber eventos de interação.
Configurar no console do Google Cloud
Python
No console do Google Cloud, acesse Menu > Mais produtos > Google Workspace > Biblioteca de produtos > API Google Chat.
Clique em Gerenciar e na guia Configuração.
Ative a Página inicial do app de suporte.
Marque a caixa de seleção Support App Home.
No campo URL da página inicial do app, adicione um URL. Geralmente, esse valor é o mesmo URL do URL do aplicativo. Esse URL é chamado para eventos
APP_HOME
.Clique em Salvar.
Apps Script
No console do Google Cloud, acesse Menu > Mais produtos > Google Workspace > Biblioteca de produtos > API Google Chat.
Clique em Gerenciar e na guia Configuração.
Marque a caixa de seleção Support App Home.
Clique em Salvar.
Configurar o app do Chat
Configure seu app do Chat para enviar uma nova mensagem de cartão para a página inicial do app.
Python
Quando um usuário abre uma mensagem direta de um app do Chat, um
evento APP_HOME
é enviado ao app do Chat. Quando um
app do Chat recebe esse evento, uma instância JSON de
RenderActions
é retornada com a navegação pushCard
.
@app.route('/', methods=['POST'])
def on_event():
event = request.get_json()
chat = event.get('chat')
if chat is not None:
return handle_chat_event(event)
def handle_chat_event(event):
if event['chat'].get('type') == 'APP_HOME':
return get_app_home_card()
def get_app_home_card():
return {
"action": {
"navigations": [
{
"pushCard": {
"sections": [
{
"widgets": [
{
"buttonList": {
"buttons": [
{
"text": "Open documentation",
"onClick": {
"openLink": {
"url": "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
}
}
]
}
}
Apps Script
Neste exemplo, uma mensagem de cartão é enviada retornando JSON do cartão. Você também pode usar o serviço de card do Apps Script.
Implemente uma função onAppHome
para retornar uma instância JSON de
RenderActions
com a navegação pushCard
:
// "onAppHome" is the pre-defined name of the callback that the Chat servers
// execute.
function onAppHome() {
return {
action: {
navigations: [
{
pushCard: getCard()
}
]
}
};
}
function getCard() {
return {
sections: [
{
widgets: [
{
buttonList: {
buttons: [
{
text: "Open documentation",
onClick: {
openLink: {
url: "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
};
}
Atualizar uma mensagem de card na página inicial do app
A mensagem do card inicial do app pode ser atualizada quando um usuário envia informações em uma
mensagem de card ou fecha uma caixa de diálogo. Por exemplo, a mensagem inicial do card na página inicial
é uma mensagem de boas-vindas que solicita que o usuário preencha um formulário com informações. Depois
que o usuário preencher o formulário, uma mensagem atualizada do card da página inicial do app será enviada. A
atualização precisa ser retornada com uma instância de
RenderActions
que contenha uma navegação updateCard
.
Python
Para apps HTTP, a atualização da mensagem do card inicial do app é semelhante a
Processar informações inseridas pelos usuários,
mas é necessário retornar RenderActions
. invokedFunction
representa o nome da
função invocada associada ao widget Card
. Para mais informações,
consulte
CommonEventObject
.
No exemplo a seguir,
submitForm
mostra que o usuário enviou os dados do
formulário:
@app.route('/', methods=['POST'])
def on_event():
event = request.get_json()
chat = event.get('chat')
if chat is not None:
return handle_chat_event(event)
def handle_chat_event(event):
if event['chat'].get('type') == 'SUBMIT_FORM':
event_object = event.get('commonEventObject')
if event_object is not None:
// Forms
if 'submitForm' == event_object.get('invokedFunction'):
return {
'render_actions': {
'action': {
'navigations': [{
'updateCard': get_update_card()
}]
}
}
}
def get_update_card():
return {
"action": {
"navigations": [{
"pushCard": {
"sections": [{
"widgets": [{
"buttonList": {
"buttons": [{
"text": "Open documentation",
"onClick": {
"openLink": {
"url": "https://developers.google.com/chat"
}
},
}]
}
}]
}]
}
}]
}
}
Apps Script
Neste exemplo, uma mensagem de cartão é enviada retornando JSON do cartão. Você também pode usar o serviço de card do Apps Script.
// Called from elsewhere (i.e. on button press).
function updateAppHomeCard(event) {
return {
render_actions: {
action: {
navigations: [
{
updateCard: getCard()
}
]
}
}
}
}
function getCard() {
return {
sections: [
{
widgets: [
{
buttonList: {
buttons: [
{
text: "Open documentation",
onClick: {
openLink: {
url: "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
};
}
Limitações
Em geral,
o navigation
não está
disponível para apps do Chat. Não é possível devolver um conjunto de cartões.
Apenas pushCard
(para resposta inicial) e updateCard
(para atualizações) estão
disponíveis para apps de chat.
Temas relacionados
Para abrir uma caixa de diálogo, use a interação
OPEN_DIALOG
. Para saber mais, consulte Abrir uma caixa de diálogo em resposta a uma mensagem de card inicial do app.Para fechar uma caixa de diálogo, use a interação
CLOSE_DIALOG
para fechá-la e retornar à mensagem do card inicial do app ou use a interaçãoCLOSE_DIALOG_EXECUTE
para fechar a caixa e atualizar a mensagem. Para mais informações, consulte Responder a uma caixa de diálogo para mensagens do card da página inicial do app.Para ver um exemplo de como criar e enviar uma mensagem de card inicial para um app, consulte o app do Chat de gerenciamento de problemas no codelab Criar apps para o Google Chat com o Gemini.