Auf dieser Seite wird erläutert, wie Sie eine Nachricht zur App-Startseitenkarte für Ihre Chat-App erstellen und senden. Die App-Startseite ist eine anpassbare Kartennachricht, die eine Chat-App an einen Nutzer sendet, wenn dieser eine Direktnachricht mit der Chat-App öffnet.
Beispielsweise können Sie die Nachricht der App-Startseite so konfigurieren, dass sie Tipps für die Interaktion mit der Chat-App mithilfe von Slash-Befehlen enthält. Für Endnutzer ist die App-Startseite in der Direktnachricht einer Chat-App nur verfügbar, wenn der App-Entwickler die Funktion aktiviert hat.
Mit dem Card Builder kannst du JSON-Kartennachrichten für Chat-Apps entwerfen und als Vorschau ansehen:
Den Card Builder öffnenVoraussetzungen
Python
- Ein Google Workspace-Konto mit Zugriff auf Google Chat.
- Eine veröffentlichte Chat-App. Informationen zum Erstellen einer Chat-App finden Sie in dieser quickstart.
- Eine Google Chat-App, die für Interaktivität konfiguriert ist. Weitere Informationen finden Sie unter Google Chat-App für den Empfang von Interaktionsereignissen konfigurieren.
Apps Script
- Ein Google Workspace-Konto mit Zugriff auf Google Chat.
- Eine veröffentlichte Chat-App. Folgen Sie dieser quickstart, um eine Chat-App zu erstellen.
- Eine Google Chat-App, die für Interaktivität konfiguriert ist. Weitere Informationen finden Sie unter Google Chat-App für den Empfang von Interaktionsereignissen konfigurieren.
In der Google Cloud Console konfigurieren
Python
Gehen Sie in der Google Cloud Console zu Menü > Weitere Produkte > Google Workspace > Produktbibliothek > Google Chat API.
Klicken Sie auf Verwalten und dann auf den Tab Konfiguration.
Aktivieren Sie Support App-Startseite.
Klicken Sie das Kästchen Support App-Startseite an.
Geben Sie im Feld URL der App-Startseite eine URL ein. Dieser Wert ist normalerweise mit der URL der App-URL identisch. Diese URL wird für
APP_HOME
-Ereignisse aufgerufen.Klicken Sie auf Speichern.
Apps Script
Gehen Sie in der Google Cloud Console zu Menü > Weitere Produkte > Google Workspace > Produktbibliothek > Google Chat API.
Klicken Sie auf Verwalten und dann auf den Tab Konfiguration.
Klicken Sie das Kästchen Support App-Startseite an.
Klicken Sie auf Speichern.
Chat-App konfigurieren
Konfigurieren Sie die Chat-App so, dass eine neue Kartennachricht an die App-Startseite gesendet wird.
Python
Wenn ein Nutzer eine Direktnachricht aus einer Chat-App öffnet, wird ein APP_HOME
-Ereignis an Ihre Chat-App gesendet. Erhält eine Chat-App dieses Ereignis, wird eine JSON-Instanz von RenderActions
mit der pushCard
-Navigation zurückgegeben.
@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 diesem Beispiel wird eine Kartennachricht durch Rückgabe von Karten-JSON gesendet. Sie können auch den Apps Script-Kartendienst verwenden.
Implementieren Sie eine onAppHome
-Funktion, um eine JSON-Instanz von RenderActions
mit der pushCard
-Navigation zurückzugeben:
// "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"
}
}
}
]
}
}
]
}
]
};
}
Nachricht der App-Startseite aktualisieren
Die Nachricht der App-Startseite kann aktualisiert werden, wenn ein Nutzer Informationen in einer Kartennachricht sendet oder ein Dialogfeld schließt. Die erste Nachricht der App-Startseite ist beispielsweise eine Willkommensnachricht, in der der Nutzer aufgefordert wird, ein Formular mit Informationen auszufüllen. Nachdem der Nutzer das Formular ausgefüllt hat, wird eine aktualisierte Nachricht für die App-Startseite gesendet. Das Update muss mit einer Instanz von RenderActions
zurückgegeben werden, die eine updateCard
-Navigation enthält.
Python
Bei HTTP-Apps ähnelt das Aktualisieren der Nachricht der App-Startseite der Nachricht Von Nutzern eingegebene Verarbeitungsinformationen. Es muss jedoch RenderActions
zurückgegeben werden. invokedFunction
steht für den Namen der aufgerufenen Funktion, die mit dem Card
-Widget verknüpft ist. Weitere Informationen finden Sie unter CommonEventObject
.
Im folgenden Beispiel zeigt submitForm
an, dass der Nutzer Formulardaten gesendet hat:
@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 diesem Beispiel wird eine Kartennachricht durch Rückgabe von Karten-JSON gesendet. Sie können auch den Apps Script-Kartendienst verwenden.
// 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"
}
}
}
]
}
}
]
}
]
};
}
Beschränkungen
Im Allgemeinen ist navigation
für Chat-Apps nicht verfügbar. Sie können keinen Kartenstapel zurückgeben.
Für Chat-Apps sind nur pushCard
(für die erste Antwort) und updateCard
(für Updates) verfügbar.
Weitere Informationen
Verwenden Sie die Interaktion
OPEN_DIALOG
, um ein Dialogfeld zu öffnen. Weitere Informationen finden Sie unter Dialogfeld als Reaktion auf eine Nachricht auf der App-Startseite öffnen.Verwenden Sie zum Schließen eines Dialogfelds die Interaktion
CLOSE_DIALOG
, um das Dialogfeld zu schließen und zur Nachricht der App-Startseite zurückzukehren, oder verwenden Sie die InteraktionCLOSE_DIALOG_EXECUTE
, um das Dialogfeld zu schließen und die Nachricht der App-Startseitenkarte zu aktualisieren. Weitere Informationen findest du unter Auf ein Dialogfeld für Nachrichten der App-Startseite antworten.Ein Beispiel zum Erstellen und Senden einer Nachricht für die App-Startseitenkarte findest du in der Chat-App zur Problemverwaltung im Codelab Apps für Google Chat mit Gemini erstellen.