本頁面將說明文字和資訊卡訊息之間的差異。
當 Chat 應用程式傳送簡訊以傳達基本資訊時,訊息會以內嵌方式顯示,就像 Google Chat 使用者撰寫訊息的方式一樣。如要建立包含超過文字的訊息,或建立可與使用者互動的訊息,Chat 應用程式可以使用資訊卡。即時通訊應用程式也可以附加資訊卡來傳送簡訊。為了提示使用者完成多步驟程序 (例如填寫表單),Chat 應用程式也可以建立可在新視窗中開啟的資訊卡,以對話方塊的形式開啟。
簡訊剖析
在 Google Chat API 中,訊息會以 JSON 物件表示。訊息中的文字是以 text
物件表示。
在以下範例中,Chat 應用程式會為軟體開發人員團隊的聊天室建立訊息,說明程式碼凍結即將發生:
{
"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."
}
JSON 會傳回下列訊息:
卡片訊息剖析
在 Google Chat API 中,訊息會以 JSON 物件表示。訊息中的資訊卡會以 cardsV2
陣列表示,當中包含以下內容:
- 一或多個
CardWithId
物件。 cardId
,用於識別資訊卡,並限定在特定訊息中的範圍。(不同訊息中的資訊卡 ID 可以相同)。card
物件,由下列項目組成:header
物件,用於指定標題、副標題和顯示圖片樣式圖片等內容。- 一或多個
section
物件,每個物件都包含至少一個小工具。 - 一或多個
widget
物件。每個小工具都是一個複合物件,可以代表文字、圖片、按鈕和其他物件類型。
舉例來說,下列資訊卡訊息含有 header
、section
和 widget
物件:
下列程式碼代表卡片訊息的 JSON:
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"
}
]
}
}
}
]
}
}
]
}
]
}
}
]
}
使用資訊卡建構工具設計及預覽資訊卡。
開啟資訊卡建構工具