本頁面說明文字和資訊卡訊息的差異。
當 Chat 應用程式傳送簡訊來傳達基本資訊時,訊息會顯示在對話串中,就像使用者在 Google 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"
}
]
}
}
}
]
}
}
]
}
]
}
}
]
}
使用資訊卡建構工具,設計及預覽 Chat 應用程式的訊息和使用者介面:
開啟資訊卡建立工具