Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite werden die Unterschiede zwischen Text- und Karten-Nachrichten erläutert.
Wenn Chat-Apps SMS senden, um grundlegende Informationen zu übermitteln, werden die Nachrichten inline angezeigt, so wie Nutzer in Google Chat Nachrichten schreiben. Wenn Sie Nachrichten erstellen möchten, die mehr als nur Text enthalten, oder Nachrichten, mit denen Nutzer interagieren können, können Chat-Apps Karten verwenden.
Chat-Apps können auch eine SMS mit einer Karte anhängen. Um Nutzer aufzufordern, mehrstufige Prozesse wie das Ausfüllen eines Formulars abzuschließen, können Chat-Apps auch Karten erstellen, die als Dialogfelder in einem neuen Fenster geöffnet werden.
Aufbau einer SMS
In der Google Chat API werden Nachrichten als JSON-Objekte dargestellt. In einer Nachricht wird eine SMS als text-Objekt dargestellt.
Im folgenden Beispiel erstellt eine Chat-App eine SMS in einem Bereich für ein Team von Softwareentwicklern, dass ein Code-Freeze bevorsteht:
{"text":"Attention <users/all>: Code freeze starts at `11:59 am` Pacific Standard Time! If you need a little more time, type `/moreTime` and I'll push the code freeze back one hour."}
Die JSON-Datei gibt die folgende Meldung zurück:
Aufbau einer Kartennachricht
In der Google Chat API werden Nachrichten als JSON-Objekte dargestellt. In einer Nachricht wird eine Karte als cardsV2-Array dargestellt und besteht aus Folgendem:
Eine cardId, die zur Identifizierung der Karte verwendet wird und auf eine bestimmte Nachricht beschränkt ist.
Karten in verschiedenen Nachrichten können dieselbe ID haben.
Ein card-Objekt, das Folgendes umfasst:
Ein header-Objekt, das Dinge wie einen Titel, einen Untertitel und ein Avatarbild angibt.
Ein oder mehrere section-Objekte, die jeweils mindestens ein Widget enthalten.
Ein oder mehrere widget-Objekte.
Jedes Widget ist ein zusammengesetztes Objekt, das Text, Bilder, Schaltflächen und andere Objekttypen darstellen kann.
Die folgende Kartenmitteilung enthält beispielsweise die Objekte header, section und widget:
Der folgende Code stellt das JSON der Kartenmitteilung dar:
JSON
{"cardsV2":[{"cardId":"unique-card-id","card":{"header":{"title":"Sasha","subtitle":"Software Engineer","imageUrl":"https://developers.google.com/chat/images/quickstart-app-avatar.png","imageType":"CIRCLE","imageAltText":"Avatar for Sasha"},"sections":[{"header":"Contact Info","collapsible":true,"uncollapsibleWidgetsCount":1,"widgets":[{"decoratedText":{"startIcon":{"knownIcon":"EMAIL"},"text":"sasha@example.com"}},{"decoratedText":{"startIcon":{"knownIcon":"PERSON"},"text":"<font color=\"#80e27e\">Online</font>"}},{"decoratedText":{"startIcon":{"knownIcon":"PHONE"},"text":"+1 (555) 555-1234"}},{"buttonList":{"buttons":[{"text":"Share","onClick":{"openLink":{"url":"https://example.com/share"}}},{"text":"Edit","onClick":{"action":{"function":"goToView","parameters":[{"key":"viewType","value":"EDIT"}]}}}]}}]}]}}]}
Mit dem Card Builder können Sie Nachrichten und Benutzeroberflächen für Chat-Apps entwerfen und in der Vorschau ansehen:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-04 (UTC)."],[[["\u003cp\u003eGoogle Chat apps use text messages for basic information and cards for interactive elements or richer content.\u003c/p\u003e\n"],["\u003cp\u003eText messages appear inline within the chat, similar to regular user messages.\u003c/p\u003e\n"],["\u003cp\u003eCards provide a structured format to include images, buttons, and other interactive widgets within a message.\u003c/p\u003e\n"],["\u003cp\u003eCard messages are represented as JSON objects using the \u003ccode\u003ecardsV2\u003c/code\u003e field in the Google Chat API.\u003c/p\u003e\n"],["\u003cp\u003eThe Card Builder tool can be used to design and preview cards for Chat apps.\u003c/p\u003e\n"]]],["Chat apps use text messages for basic information, represented as JSON `text` objects. For richer content and user interaction, they use card messages. Card messages, represented by `cardsV2` JSON arrays, include a `cardId` and a `card` object. The `card` contains a `header`, `section`, and `widget` objects, enabling elements like titles, text, images, and buttons. Cards can also open as dialogs for multi-step processes, or be appended to a text message.\n"],null,["# Google Chat messages overview\n\nThis page explains the differences between text and card messages.\n\nWhen Chat apps send text messages to convey basic information,\nthe messages appear inline, just like how people in Google Chat write\nmessages. To create messages that contain more than text, or to create\nmessages that users can interact with, Chat apps can use\n[cards](/workspace/chat/create-messages#create).\nChat apps can also append a text message with a card. To\nprompt users to finish multi-step processes such as completing a form,\nChat apps can also create cards that open in a new window as\n[dialogs](/workspace/chat/dialogs).\n\nAnatomy of a text message\n-------------------------\n\nIn the Google Chat API, messages are represented as JSON objects. Within a message,\na text message is represented as a\n[`text`](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.FIELDS.text)\nobject.\n\nIn the following\nexample, a Chat app creates a text message in a space\nfor a team of software developers that a code freeze is approaching: \n\n {\n \"text\": \"Attention \u003cusers/all\u003e: Code freeze starts at `11:59 am` Pacific Standard Time! If you need a little more time, type `/moreTime` and I'll push the code freeze back one hour.\"\n }\n\nThe JSON returns the following message:\n\nAnatomy of a card message\n-------------------------\n\nIn the Google Chat API, messages are represented as JSON objects. Within a message\na card is represented as a\n[`cardsV2`](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.FIELDS.cards_v2)\narray and consists of the following:\n\n- One or more [`CardWithId` objects](/workspace/chat/api/reference/rest/v1/spaces.messages#CardWithId).\n- A `cardId`, used to identify the card and scoped within a given message. (Cards in different messages can have the same ID.)\n- A `card` object, which consists of the following:\n\n - A [`header` object](/workspace/chat/api/reference/rest/v1/cards#CardHeader_1) that specifies things like a title, subtitle, and avatar-style image.\n - One or more [`section` objects](/workspace/chat/api/reference/rest/v1/cards#section) that each contain at least one widget.\n - One or more [`widget` objects](/workspace/chat/api/reference/rest/v1/cards#Widget). Each widget is a composite object that can represent text, images, buttons, and other object types.\n\nAs an example, the following card message contains\n[`header`](/workspace/chat/api/reference/rest/v1/cards#CardHeader_1),\n[`section`](/workspace/chat/api/reference/rest/v1/cards#section), and\n[`widget`](/workspace/chat/api/reference/rest/v1/cards#Widget) objects:\n\nThe following code represents the JSON of the card message: \n\n### JSON\n\n {\n \"cardsV2\": [\n {\n \"cardId\": \"unique-card-id\",\n \"card\": {\n \"header\": {\n \"title\": \"Sasha\",\n \"subtitle\": \"Software Engineer\",\n \"imageUrl\": \"https://developers.google.com/chat/images/quickstart-app-avatar.png\",\n \"imageType\": \"CIRCLE\",\n \"imageAltText\": \"Avatar for Sasha\"\n },\n \"sections\": [\n {\n \"header\": \"Contact Info\",\n \"collapsible\": true,\n \"uncollapsibleWidgetsCount\": 1,\n \"widgets\": [\n {\n \"decoratedText\": {\n \"startIcon\": {\n \"knownIcon\": \"EMAIL\"\n },\n \"text\": \"sasha@example.com\"\n }\n },\n {\n \"decoratedText\": {\n \"startIcon\": {\n \"knownIcon\": \"PERSON\"\n },\n \"text\": \"\u003cfont color=\\\"#80e27e\\\"\u003eOnline\u003c/font\u003e\"\n }\n },\n {\n \"decoratedText\": {\n \"startIcon\": {\n \"knownIcon\": \"PHONE\"\n },\n \"text\": \"+1 (555) 555-1234\"\n }\n },\n {\n \"buttonList\": {\n \"buttons\": [\n {\n \"text\": \"Share\",\n \"onClick\": {\n \"openLink\": {\n \"url\": \"https://example.com/share\"\n }\n }\n },\n {\n \"text\": \"Edit\",\n \"onClick\": {\n \"action\": {\n \"function\": \"goToView\",\n \"parameters\": [\n {\n \"key\": \"viewType\",\n \"value\": \"EDIT\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n ]\n }\n }\n ]\n }\n\n\n*** ** * ** ***\n\nUse the Card Builder to design and preview messaging and user interfaces for Chat apps:\n[Open the Card Builder](https://addons.gsuite.google.com/uikit/builder)\n\n*** ** * ** ***\n\n\u003cbr /\u003e\n\nRelated topics\n--------------\n\n- [Send a message](/workspace/chat/create-messages)\n- [Format messages](/workspace/chat/format-messages)"]]