Panoramica dei messaggi di Google Chat

In questa pagina vengono spiegate le differenze tra SMS e messaggi con scheda.

Quando le app di chat inviano messaggi per trasmettere informazioni di base, i messaggi appaiono in linea, proprio come le persone in Google Chat scrivono i messaggi. Per creare messaggi contenenti più di un testo o per creare messaggi con cui gli utenti possono interagire, le app di chat possono utilizzare le schede. Le app di chat consentono anche di aggiungere un messaggio con una scheda. Per chiedere agli utenti di completare processi in più passaggi come la compilazione di un modulo, le app di Chat possono anche creare schede che si aprono in una nuova finestra come finestre di dialogo.

Anatomia di un messaggio

Nell'API Google Chat, i messaggi sono rappresentati come oggetti JSON. All'interno di un messaggio, un SMS è rappresentato come un oggetto text.

Nel seguente esempio, un'app di chat crea un messaggio in uno spazio per un team di sviluppatori di software che si sta avvicinando al blocco del codice:

{
  "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."
}

Il formato JSON restituisce il seguente messaggio:

Esempio di messaggio di testo in Google Chat che annuncia il blocco del codice.

Struttura di un messaggio di scheda

Nell'API Google Chat, i messaggi sono rappresentati come oggetti JSON. All'interno di un messaggio, una scheda è rappresentata come un array cardsV2 ed è composta da quanto segue:

  • Uno o più oggetti CardWithId.
  • Un cardId, utilizzato per identificare la scheda e l'ambito di un determinato messaggio. Le schede in messaggi diversi possono avere lo stesso ID.
  • Un oggetto card, costituito da quanto segue:

    • Un oggetto header che specifica elementi come un titolo, un sottotitolo e un'immagine in stile avatar.
    • Uno o più oggetti section, ciascuno contenente almeno un widget.
    • Uno o più oggetti widget. Ogni widget è un oggetto composito che può rappresentare testo, immagini, pulsanti e altri tipi di oggetti.

Ad esempio, il seguente messaggio della scheda contiene oggetti header, section e widget:

Un&#39;app di Chat che esegue un sondaggio
in uno spazio di Chat con un messaggio
scheda

Il seguente codice rappresenta il JSON del messaggio della scheda:

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"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}


Progetta e visualizza l'anteprima delle schede con Card Builder.

Apri Card Builder