In questa pagina viene spiegato come creare e inviare un messaggio della scheda Home dell'app per l'app Chat. La home page dell'app è un messaggio di scheda personalizzabile che un'app di Chat invia a un utente quando apre un messaggio diretto con l'app Chat.
Ad esempio, puoi configurare il messaggio della scheda Home dell'app in modo che includa suggerimenti per l'interazione con l'app Chat utilizzando i comandi slash. Per gli utenti finali, la home page dell'app è disponibile nel messaggio diretto dell'app di Chat solo se lo sviluppatore dell'app attiva la funzionalità.
Utilizza Card Builder per progettare e visualizzare l'anteprima dei messaggi delle schede JSON per le app di chat:
Apri Card BuilderPrerequisiti
Python
- Un account Google Workspace con accesso a Google Chat.
- Un'app Chat pubblicata. Per creare un'app di Chat, consulta questa quickstart.
- Un'app Google Chat configurata per l'interattività. Per saperne di più, consulta Configurare l'app Google Chat per ricevere eventi di interazione.
Apps Script
- Un account Google Workspace con accesso a Google Chat.
- Un'app di Chat pubblicata. Per creare un'app di Chat, segui questa quickstart.
- Un'app Google Chat configurata per l'interattività. Per saperne di più, consulta Configurare l'app Google Chat per ricevere eventi di interazione.
Configura nella console Google Cloud
Python
Nella console Google Cloud, vai a Menu > Altri prodotti > Google Workspace > Libreria prodotti > API Google Chat.
Fai clic su Gestisci, quindi sulla scheda Configurazione.
Attiva Supporta la home page dell'app.
Seleziona la casella di controllo Support App Home (Supporto app home).
Nel campo URL della home page dell'app, aggiungi un URL. Questo valore di solito è lo stesso URL dell'URL dell'app. Questo URL viene chiamato per gli eventi
APP_HOME
.Fai clic su Salva.
Apps Script
Nella console Google Cloud, vai a Menu > Altri prodotti > Google Workspace > Libreria prodotti > API Google Chat.
Fai clic su Gestisci, quindi sulla scheda Configurazione.
Seleziona la casella di controllo Support App Home (Supporto app home).
Fai clic su Salva.
Configura l'app Chat
Configura l'app Chat in modo che invii un nuovo messaggio di scheda per la home page dell'app.
Python
Quando un utente apre un messaggio diretto da un'app di Chat, viene inviato un evento APP_HOME
all'app Chat. Quando un'app di Chat riceve questo evento, viene restituita un'istanza JSON di RenderActions
con la navigazione 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
In questo esempio viene inviato un messaggio relativo alle schede restituendo un JSON della scheda. Puoi anche utilizzare il servizio di schede di Apps Script.
Implementa una funzione onAppHome
per restituire un'istanza JSON di RenderActions
con la navigazione 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"
}
}
}
]
}
}
]
}
]
};
}
Aggiornare il messaggio della scheda Home dell'app
Il messaggio della scheda Home dell'app può essere aggiornato quando un utente invia informazioni in un
messaggio in scheda o chiude una finestra di dialogo. Ad esempio, il messaggio iniziale della scheda della home page dell'app
è un messaggio di benvenuto che chiede a un utente di compilare un modulo con informazioni. Dopo che l'utente compila il modulo, viene inviato un messaggio aggiornato della scheda della home page dell'app. L'aggiornamento deve essere restituito con un'istanza di RenderActions
contenente una navigazione updateCard
.
Python
Per le app HTTP, l'aggiornamento del messaggio della scheda Home dell'app è simile a quello per Informazioni sul processo inserite dagli utenti, ma devi restituire RenderActions
. invokedFunction
rappresenta il nome della funzione richiamata associata al widget Card
. Per saperne di più,
consulta
CommonEventObject
.
Nell'esempio seguente, submitForm
mostra che l'utente ha inviato i dati del modulo:
@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
In questo esempio viene inviato un messaggio relativo alle schede restituendo un JSON della scheda. Puoi anche utilizzare il servizio di schede di 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"
}
}
}
]
}
}
]
}
]
};
}
Limitazioni
In generale, navigation
non è disponibile per le app di chat. Non puoi restituire una pila di carte.
Per le app di chat sono disponibili solo pushCard
(per la risposta iniziale) e updateCard
(per gli aggiornamenti).
Argomenti correlati
Per aprire una finestra di dialogo, utilizza l'interazione con
OPEN_DIALOG
. Per ulteriori informazioni, consulta Aprire una finestra di dialogo in risposta al messaggio della scheda Home dell'app.Per chiudere una finestra di dialogo, utilizza l'interazione con
CLOSE_DIALOG
per chiudere la finestra di dialogo e tornare al messaggio della scheda Home dell'app oppure utilizza l'interazioneCLOSE_DIALOG_EXECUTE
per chiudere la finestra di dialogo e aggiornare il messaggio della scheda Home dell'app. Per ulteriori informazioni, consulta Rispondere a una finestra di dialogo per i messaggi della scheda della home page dell'app.Per un esempio di come creare e inviare un messaggio scheda della home page dell'app, consulta l'app di Chat per la gestione dei problemi nel codelab Creare app per Google Chat con Gemini.