Na tej stronie opisujemy różnice między wiadomościami tekstowymi i kartami.
Gdy aplikacje do obsługi czatu wysyłają SMS-y w celu przekazania podstawowych informacji, pojawiają się one w tekście tak samo jak użytkownicy Google Chat. Aby tworzyć wiadomości zawierające więcej niż tekst lub umożliwiające użytkownikom interakcje, aplikacje do obsługi czatu mogą używać kart. Aplikacje do obsługi czatu mogą też dołączać do kart wiadomości tekstowe. Aby poprosić użytkowników o zakończenie wieloetapowych procesów, takich jak wypełnienie formularza, aplikacje do obsługi czatu mogą też tworzyć karty, które otwierają się w nowym oknie jako okna.
Struktura wiadomości tekstowej
W interfejsie Google Chat API wiadomości są wyświetlane jako obiekty JSON. SMS jest wyświetlany w wiadomości jako obiekt text
.
W tym przykładzie aplikacja do obsługi czatu tworzy SMS-a w pokoju dla zespołu programistów, w którym zbliża się zablokowanie kodu:
{
"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."
}
Plik JSON zwraca następujący komunikat:
Struktura wiadomości na karcie
W interfejsie Google Chat API wiadomości są wyświetlane jako obiekty JSON. Karta w wiadomości jest reprezentowana jako tablica cardsV2
i składa się z tych elementów:
- Jeden lub więcej obiektów
CardWithId
. cardId
używany do identyfikowania karty i zakresu w danej wiadomości. Karty w różnych wiadomościach mogą mieć ten sam identyfikator.Obiekt
card
składający się z tych elementów:- Obiekt
header
, który określa takie parametry jak tytuł, podtytuł i obraz w stylu awatara. - Jeden lub więcej obiektów
section
, z których każdy zawiera co najmniej 1 widżet. - Jeden lub więcej obiektów
widget
. Każdy widżet jest obiektem złożonym, który może reprezentować tekst, obrazy, przyciski i inne typy obiektów.
- Obiekt
Przykład: ten komunikat karty zawiera obiekty header
, section
i widget
:
Ten kod reprezentuje JSON komunikatu na karcie:
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"
}
]
}
}
}
]
}
}
]
}
]
}
}
]
}