Cards v2

Karta

Interfejs karty wyświetlany w wiadomości w Google Chat lub dodatku Google Workspace.

Karty obsługują zdefiniowany układ, interaktywne elementy interfejsu, takie jak przyciski, oraz multimedia, takie jak obrazy. Używaj kart, aby przedstawiać szczegółowe informacje, zbierać dane od użytkowników i zachęcać ich do wykonania kolejnego kroku.

Za pomocą Kreatora kart możesz projektować i wyświetlać podgląd kart.

Otwórz kreatora kart

Aby dowiedzieć się, jak tworzyć karty, zapoznaj się z tymi dokumentami:

Przykład: wiadomość na karcie w aplikacji Google Chat

Przykładowa wizytówka

Aby utworzyć wiadomość z przykładową kartą w Google Chat, użyj tego kodu JSON:

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
           "title": "Sasha",
           "subtitle": "Software Engineer",
           "imageUrl":
           "https://developers.google.com/workspace/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": "[email protected]"
                 }
               },
               {
                 "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"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
Zapis JSON
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  }
}
Pola
header

object (CardHeader)

Nagłówek karty. Nagłówek zwykle zawiera obraz i tytuł. Nagłówki zawsze wyświetlają się u góry karty.

sections[]

object (Section)

Zawiera kolekcję widżetów. Każda sekcja ma swój opcjonalny nagłówek. Sekcje są wizualnie oddzielone linią. Przykłady w przypadku aplikacji Google Chat znajdziesz w artykule Definiowanie sekcji karty.

sectionDividerStyle

enum (DividerStyle)

Styl podziału między nagłówkiem, sekcjami i stopką.

cardActions[]

object (CardAction)

Działania na karcie. Do menu paska narzędzi karty są dodawane działania.

Dostępne w przypadku dodatków do Google Workspace, ale niedostępne w aplikacjach Google Chat.

Na przykład ten fragment kodu JSON tworzy menu akcji karty z opcjami SettingsSend Feedback:

"cardActions": [
  {
    "actionLabel": "Settings",
    "onClick": {
      "action": {
        "functionName": "goToView",
        "parameters": [
          {
            "key": "viewType",
            "value": "SETTING"
         }
        ],
        "loadIndicator": "LoadIndicator.SPINNER"
      }
    }
  },
  {
    "actionLabel": "Send Feedback",
    "onClick": {
      "openLink": {
        "url": "https://example.com/feedback"
      }
    }
  }
]
name

string

Nazwa karty. Służy jako identyfikator karty w nawigacji po kartach.

Dostępne w przypadku dodatków do Google Workspace, ale niedostępne w aplikacjach Google Chat.

displayStyle

enum (DisplayStyle)

W dodatkach do Google Workspace ustawia właściwości wyświetlania peekCardHeader.

Dostępne w przypadku dodatków Google Workspace i niedostępne w przypadku aplikacji Google Chat.

peekCardHeader

object (CardHeader)

Podczas wyświetlania treści kontekstowych nagłówek karty podglądu działa jako element zastępczy, dzięki czemu użytkownik może przełączać się między kartami na stronie głównej a kartami kontekstowymi.

Dostępne w przypadku dodatków Google Workspace i niedostępne w przypadku aplikacji Google Chat.

CardHeader

Reprezentuje nagłówek karty. Przykład użycia aplikacji Google Chat znajdziesz w sekcji Dodawanie nagłówka.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
Pola
title

string

Wymagane. Tytuł nagłówka karty. Nagłówek ma stałą wysokość: jeśli określono zarówno tytuł, jak i podtytuł, każdy z nich zajmuje po jednym wierszu. Jeśli podany jest tylko tytuł, zajmuje on obie linie.

subtitle

string

Podtytuł nagłówka karty. Jeśli jest określony, pojawia się w osobnym wierszu poniżej title.

imageType

enum (ImageType)

Kształt użyty do przycięcia obrazu.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

imageUrl

string

Adres URL HTTPS obrazu w nagłówku karty.

imageAltText

string

Tekst alternatywny obrazu, który służy do ułatwień dostępu.

ImageType

Kształt użyty do przycięcia obrazu.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
SQUARE Wartość domyślna. Stosuje kwadratową maskę do obrazu. Na przykład obraz 4 x 3 staje się 3 x 3.
CIRCLE Stosuje okrągłą maskę do obrazu. Na przykład obraz 4 x 3 staje się kołem o średnicy 3.

Sekcja

Sekcja zawiera zbiór widżetów, które są renderowane w pionie w określonej kolejności.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer,
  "collapseControl": {
    object (CollapseControl)
  }
}
Pola
header

string

Tekst wyświetlany u góry sekcji. Obsługuje prosty tekst w formacie HTML. Więcej informacji o formatowaniu tekstu znajdziesz w artykułach Formatowanie tekstu w aplikacjach Google Chat i Formatowanie tekstu w dodatkach Google Workspace.

widgets[]

object (Widget)

Wszystkie widżety w sekcji. Musi zawierać co najmniej 1 widżet.

collapsible

boolean

Wskazuje, czy tę sekcję można zwijać.

Sekcji można nie rozwijać, aby ukryć niektóre lub wszystkie widżety, ale użytkownicy mogą je rozwinąć, aby wyświetlić ukryte widżety, klikając Pokaż więcej. Użytkownicy mogą ponownie ukryć widżety, klikając Pokaż mniej.

Aby określić, które widżety są ukryte, określ: uncollapsibleWidgetsCount.

uncollapsibleWidgetsCount

integer

Liczba widżetów, których nie można zwinąć, które pozostają widoczne nawet wtedy, gdy sekcja jest zwinięta.

Jeśli na przykład sekcja zawiera 5 widżetów, a ustawienie uncollapsibleWidgetsCount jest ustawione na 2, pierwsze 2 widżety są zawsze widoczne, a 3 ostatnie są domyślnie złożone. Wartość uncollapsibleWidgetsCount jest brana pod uwagę tylko wtedy, gdy collapsible jest równa true.

collapseControl

object (CollapseControl)

Opcjonalnie: Zdefiniuj przycisk rozwijania i zwijania sekcji. Ten przycisk będzie widoczny tylko wtedy, gdy sekcję można zwinąć. Jeśli to pole nie jest skonfigurowane, używany jest przycisk domyślny. Dostępny w przypadku aplikacji Google Chat i niedostępny w przypadku dodatków Google Workspace.

Widżet

Każda karta składa się z widżetów.

Widżet to obiekt złożony, który może reprezentować tekst, obrazy, przyciski i inne typy obiektów.

Zapis JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "divider": {
    object (Divider)
  },
  "grid": {
    object (Grid)
  },
  "columns": {
    object (Columns)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
Pola
horizontalAlignment

enum (HorizontalAlignment)

Określa, czy widżety mają być wyrównane do lewej, prawej czy do środka kolumny.

Pole uniidata. Widget może zawierać tylko jeden z tych elementów. Aby wyświetlać więcej elementów, możesz użyć kilku pól widgeta. datamoże być tylko jedną z tych wartości:
textParagraph

object (TextParagraph)

Wyświetla akapit tekstu. Obsługuje prosty tekst w formacie HTML. Więcej informacji o formatowaniu tekstu znajdziesz w artykułach Formatowanie tekstu w aplikacjach Google Chat i Formatowanie tekstu w dodatkach do Google Workspace.

Na przykład ten ciąg JSON tworzy tekst pogrubiony:

"textParagraph": {
  "text": "  <b>bold text</b>"
}
image

object (Image)

Wyświetla obraz.

Na przykład ten kod JSON tworzy obraz z tekstem alternatywnym:

"image": {
  "imageUrl":
  "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  "altText": "Chat app avatar"
}
decoratedText

object (DecoratedText)

Wyświetla ozdobiony element tekstowy.

Na przykład ten kod JSON tworzy ozdobiony widżet tekstowy z adresem e-mail:

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "[email protected]",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
buttonList

object (ButtonList)

Lista przycisków.

Na przykład ten kod JSON tworzy 2 przyciski. Pierwszy to niebieski przycisk tekstowy, a drugi to przycisk z obrazem, który otwiera link:

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
textInput

object (TextInput)

Wyświetla pole tekstowe, w którym użytkownicy mogą pisać.

Na przykład ten plik JSON tworzy pole tekstowe adresu e-mail:

"textInput": {
  "name": "mailing_address",
  "label": "Mailing Address"
}

Kolejny przykład to przykładowy kod JSON, który tworzy pole tekstowe dla języka programowania ze statycznymi sugestiami:

"textInput": {
  "name": "preferred_programing_language",
  "label": "Preferred Language",
  "initialSuggestions": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
selectionInput

object (SelectionInput)

Wyświetla element sterujący, który pozwala użytkownikom wybierać elementy. Elementy sterujące wyborem mogą być polami wyboru, przyciskami opcji, przełącznikami lub menu.

Na przykład ten kod JSON tworzy menu, które pozwala użytkownikom wybrać rozmiar:

"selectionInput": {
  "name": "size",
  "label": "Size"
  "type": "DROPDOWN",
  "items": [
    {
      "text": "S",
      "value": "small",
      "selected": false
    },
    {
      "text": "M",
      "value": "medium",
      "selected": true
    },
    {
      "text": "L",
      "value": "large",
      "selected": false
    },
    {
      "text": "XL",
      "value": "extra_large",
      "selected": false
    }
  ]
}
dateTimePicker

object (DateTimePicker)

Wyświetla widżet, który umożliwia użytkownikom wpisanie daty, godziny lub daty i godziny.

Na przykład ten kod JSON tworzy selektor daty i godziny do planowania spotkania:

"dateTimePicker": {
  "name": "appointment_time",
  "label": "Book your appointment at:",
  "type": "DATE_AND_TIME",
  "valueMsEpoch": "796435200000"
}
divider

object (Divider)

Wyświetla poziomą linię między widżetami.

Na przykład ten kod JSON tworzy separator:

"divider": {
}
grid

object (Grid)

Wyświetla siatkę z kolekcją elementów.

Siatka obsługuje dowolną liczbę kolumn i elementów. Liczba wierszy jest określana przez górną granicę liczby elementów podzieloną przez liczbę kolumn. Siatka z 10 elementami i 2 kolumnami ma 5 wierszy. Siatka z 11 elementami i 2 kolumnami ma 6 wierszy.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Na przykład ten plik JSON tworzy siatkę z 2 kolumnami z jednym elementem:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
columns

object (Columns)

Wyświetla maksymalnie 2 kolumny.

Aby uwzględnić więcej niż 2 kolumny lub użyć wierszy, użyj widżetu Grid.

Na przykład ten kod JSON tworzy 2 kolumny, z których każda zawiera akapity tekstowe:

"columns": {
  "columnItems": [
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "First column text paragraph"
          }
        }
      ]
    },
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "Second column text paragraph"
          }
        }
      ]
    }
  ]
}
chipList

object (ChipList)

Lista elementów.

Na przykład ten fragment kodu JSON tworzy 2 elementy. Pierwszy to element tekstowy, a drugi to element z ikoną, który otwiera link:

"chipList": {
  "chips": [
    {
      "text": "Edit",
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}

Dostępny w przypadku aplikacji Google Chat i niedostępny w przypadku dodatków Google Workspace.

TextParagraph

Akapit tekstu, który obsługuje formatowanie. Przykład w przypadku aplikacji Google Chat: Dodaj akapit sformatowanego tekstu. Więcej informacji o formatowaniu tekstu znajdziesz w artykułach Formatowanie tekstu w aplikacjach Google Chat i Formatowanie tekstu w dodatkach Google Workspace.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "text": string,
  "maxLines": integer
}
Pola
text

string

Tekst wyświetlany w widżecie.

maxLines

integer

Maksymalna liczba wierszy tekstu wyświetlanych w widżecie. Jeśli tekst przekracza określoną maksymalną liczbę wierszy, nadmiar treści jest ukryty za pomocą przycisku pokaż więcej. Jeśli tekst jest równy lub krótszy niż określona maksymalna liczba wierszy, przycisk pokaż więcej się nie wyświetli.

Wartość domyślna to 0, co oznacza, że wyświetlany jest cały kontekst. Wartości ujemne są ignorowane. Dostępne w aplikacjach Google Chat i niedostępne w przypadku dodatków do Google Workspace.

Obraz

Obraz określony za pomocą adresu URL, który może zawierać działanie onClick. Przykład znajdziesz w sekcji Dodawanie obrazu.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
Pola
imageUrl

string

Adres URL HTTPS, na którym hostowany jest obraz.

Na przykład:

https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
onClick

object (OnClick)

Gdy użytkownik kliknie obraz, kliknięcie spowoduje to działanie.

altText

string

Tekst alternatywny obrazu, który służy do ułatwień dostępu.

OnClick

Określa sposób działania, gdy użytkownicy klikną element interaktywny na karcie, np. przycisk.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{

  // Union field data can be only one of the following:
  "action": {
    object (Action)
  },
  "openLink": {
    object (OpenLink)
  },
  "openDynamicLinkAction": {
    object (Action)
  },
  "card": {
    object (Card)
  },
  "overflowMenu": {
    object (OverflowMenu)
  }
  // End of list of possible types for union field data.
}
Pola

Pole unii data.

datamoże być tylko jedną z tych wartości:

action

object (Action)

Jeśli jest określony, onClick uruchamia działanie.

card

object (Card)

Po kliknięciu nowa karta jest dodawana do stosu kart (jeśli jest to określone).

Dostępne w przypadku dodatków Google Workspace i niedostępne w przypadku aplikacji Google Chat.

overflowMenu

object (OverflowMenu)

Jeśli jest to określone, onClickotworzy menu rozszerzone. Dostępny w przypadku aplikacji Google Chat i niedostępny w przypadku dodatków Google Workspace.

Działanie

Czynność, która opisuje działanie po przesłaniu formularza. Możesz na przykład wywołać skrypt Apps Script, aby obsłużyć formularz. Jeśli działanie zostanie uruchomione, wartości formularza zostaną wysłane na serwer.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction),
  "requiredWidgets": [
    string
  ],
  "allWidgetsAreRequired": boolean
}
Pola
function

string

Funkcja niestandardowa, która zostanie wywołana, gdy element zawierający zostanie kliknięty lub w inny sposób aktywowany.

Przykładowe zastosowanie znajdziesz w sekcji Czytanie danych z formularza.

parameters[]

object (ActionParameter)

Lista parametrów działania.

loadIndicator

enum (LoadIndicator)

Określa wskaźnik ładowania wyświetlany podczas wywoływania działania.

persistValues

boolean

Wskazuje, czy wartości w formularzu są zachowywane po wykonaniu działania. Wartością domyślną jest false.

Jeśli true, wartości w formularzu pozostają po wywołaniu działania. Aby umożliwić użytkownikowi wprowadzanie zmian podczas przetwarzania działania, ustaw wartość parametru LoadIndicator na NONE. W przypadku wiadomości z karty w aplikacjach do obsługi czatu musisz też ustawićResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseTypeResponseType

Jeśli jest ustawiona na false, wartości formularza są wyczyszczane po uruchomieniu działania. Aby uniemożliwić użytkownikowi wprowadzanie zmian podczas przetwarzania działania, ustaw wartość parametru LoadIndicator na SPINNER.

interaction

enum (Interaction)

Opcjonalnie: Wymagany podczas otwierania okna dialogowego.

Co zrobić w odpowiedzi na interakcję z użytkownikiem, np. kliknięcie przez niego przycisku w wiadomości na karcie.

Jeśli nie zostanie określone, aplikacja zareaguje, wykonującactionjak na przykład otwarcie linku lub wykonanie funkcji.

Po podaniu wartości interaction aplikacja może reagować w specjalny sposób. Na przykład ustawienie wartościinteractionnaOPEN_DIALOG spowoduje, że aplikacja otworzy okno. Jeśli ją określisz, wskaźnik wczytywania nie będzie się wyświetlał. Jeśli określisz dodatek w przypadku dodatku, cała karta będzie usunięta i nic nie będzie widoczne w kliencie.

Dostępny w przypadku aplikacji Google Chat i niedostępny w przypadku dodatków Google Workspace.

requiredWidgets[]

string

Opcjonalnie. Wypełnij tę listę nazwami widżetów, których ta czynność wymaga do prawidłowego przesłania.

Jeśli podczas wywołania tego działania wymienione tu widżety nie mają wartości, przesłanie formularza zostanie przerwane.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

allWidgetsAreRequired

boolean

Opcjonalnie. Jeśli to pole ma wartość true, wszystkie widżety są wymagane do wykonania tego działania.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

ActionParameter

Lista parametrów ciągu, które należy podać podczas wywołania metody działania. Możesz na przykład umieścić 3 przyciski drzemki: drzemka teraz, drzemka za 1 dzień i drzemka w następnym tygodniu. Możesz użyć parametru action method = snooze(), przekazując typ i czas drzemki na liście parametrów ciągu znaków.

Więcej informacji znajdziesz w artykule CommonEventObject.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "key": string,
  "value": string
}
Pola
key

string

Nazwa parametru skryptu działania.

value

string

Wartość parametru.

LoadIndicator

Określa wskaźnik ładowania wyświetlany podczas wywoływania działania.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
SPINNER Wyświetla ikonę ładowania, aby wskazać, że treści są wczytywane.
NONE nic nie jest wyświetlane.

Interakcja

Opcjonalnie: Wymagany podczas otwierania okna dialogowego.

Co zrobić w odpowiedzi na interakcję z użytkownikiem, np. kliknięcie przez niego przycisku w wiadomości na karcie.

Jeśli nie jest określony, aplikacja reaguje, wykonującactionjak na przykład otwieranie linku lub uruchamianie funkcji.

Gdy określisz interaction, aplikacja będzie mogła odpowiadać na specjalne, interaktywne sposoby. Na przykład ustawiając wartośćinteractionnaOPEN_DIALOG, aplikacja może otworzyć okno.

Jeśli jest określone, wskaźnik wczytywania nie jest wyświetlany. Jeśli jest to określone w przypadku dodatku, cała karta jest usuwana i nic nie jest wyświetlane w kliencie.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Wartości w polu enum
INTERACTION_UNSPECIFIED Wartość domyślna. action działa normalnie.
OPEN_DIALOG

Otwiera okno – oparty na kartach interfejs, którego aplikacje Google Chat używają do interakcji z użytkownikami.

Jest obsługiwana tylko w aplikacjach Google Chat w odpowiedzi na kliknięcie przycisku w wiadomościach na karcie. Jeśli jest to określone w przypadku dodatku, cała karta jest usuwana i nic nie jest wyświetlane w kliencie.

Dostępny w przypadku aplikacji Google Chat i niedostępny w przypadku dodatków Google Workspace.

OpenAs

Gdy działanieOnClickotworzy link, klient może otworzyć go jako okno w pełnej wielkości (jeśli jest to ramka używana przez klienta) lub jako nakładkę (np. wyskakujące okienko). Implementacja zależy od możliwości platformy klienta, a wybrana wartość może zostać zignorowana, jeśli klient jej nie obsługuje. FULL_SIZEjest obsługiwany przez wszystkich klientów.

Dostępne dla dodatków Google Workspace i niedostępne dla aplikacji Google Chat.

Wartości w polu enum
FULL_SIZE Link otworzy się w oknie pełnoekranowym (jeśli jest to ramka używana przez klienta).
OVERLAY Link otwiera się jako nakładka, np. wyskakujące okienko.

OnClose

Działania klienta po zamknięciu linku otwartego przez działanieOnClick

Implementacja zależy od możliwości platformy klienta. Na przykład przeglądarka może otworzyć link w wyskakującym okienku za pomocą obsługi OnClose.

Jeśli zarówno element obsługiOnOpen, jak i OnClose są ustawione, a platforma klienta nie obsługuje obu wartości, element obsługiOnClose ma pierwszeństwo.

Dostępne dla dodatków Google Workspace i niedostępne dla aplikacji Google Chat.

Wartości w polu enum
NOTHING Wartość domyślna. Karta się nie wczytuje, nic się nie dzieje.
RELOAD

Odświeża kartę po zamknięciu okna podrzędnego.

Jeśli jest używane w połączeniu z OpenAs.OVERLAY, okno podrzędne działa jak okno modalne, a karta nadrzędna jest zablokowana, dopóki okno podrzędne nie zostanie zamknięte.

OverflowMenu

Widżet, który wyświetla wyskakujące menu z co najmniej jednym działaniem, które użytkownicy mogą wykonać. Na przykład wyświetlanie na karcie działań innych niż główne. Możesz użyć tego widżetu, gdy działania nie mieszczą się w dostępnej przestrzeni. Aby go użyć, wybierz ten widżet w akcji OnClick widżetów, które go obsługują. Na przykład w dokumentach: Button.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Zapis JSON
{
  "items": [
    {
      object (OverflowMenuItem)
    }
  ]
}
Pola
items[]

object (OverflowMenuItem)

Wymagane. Lista opcji menu.

OverflowMenuItem

Opcja, którą użytkownicy mogą wywołać z rozszerzonego menu.

Dostępne w aplikacjach Google Chat i niedostępne w przypadku dodatków do Google Workspace.

Zapis JSON
{
  "startIcon": {
    object (Icon)
  },
  "text": string,
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean
}
Pola
startIcon

object (Icon)

Ikona wyświetlana przed tekstem.

text

string

Wymagane. Tekst, który identyfikuje lub opisuje produkt użytkownikom.

onClick

object (OnClick)

Wymagane. Działanie wywoływane po wybraniu opcji menu. Ten element OnClick nie może zawierać OverflowMenu, a wszystkie określone OverflowMenu zostaną usunięte, a element menu wyłączony.

disabled

boolean

Czy opcja menu jest wyłączona. Wartość domyślna to fałsz.

Ikona

Ikona wyświetlana w widżecie na karcie. Przykład w aplikacji Google Chat znajdziesz w sekcji Dodawanie ikony.

Obsługuje ikony wbudowane i niestandardowe.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "altText": string,
  "imageType": enum (ImageType),

  // Union field icons can be only one of the following:
  "knownIcon": string,
  "iconUrl": string,
  "materialIcon": {
    object (MaterialIcon)
  }
  // End of list of possible types for union field icons.
}
Pola
altText

string

Opcjonalnie: Opis ikony używanej w ułatwieniach dostępu. Jeśli nie podasz wartości, zostanie użyta wartość domyślna Button. Zgodnie ze sprawdzoną metodą należy podać opis, który wyjaśnia, co przedstawia ikona, oraz, w stosownych przypadkach, co ona robi. Na przykład: A user's account portrait lub Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat.

Jeśli ikona jest ustawiona w elemencie Button, gdy użytkownik najedzie na przycisk, altText pojawi się jako tekst pomocniczy. Jeśli jednak przycisk ustawia też wartość text, ikona altText jest ignorowana.

imageType

enum (ImageType)

Styl przycinania zastosowany do obrazu. W niektórych przypadkach zastosowanie przycięcia CIRCLEpowoduje, że obraz będzie wyświetlany większy niż wbudowana ikona.

Pole uniiicons. Ikona wyświetlana w widżecie na karcie. iconsmoże być tylko jedną z tych wartości:
knownIcon

string

Wyświetl jedną z wbudowanych ikon Google Workspace.

Aby na przykład wyświetlić ikonę samolotu, użyj parametru AIRPLANE. W przypadku autobusu podaj wartość BUS.

Pełną listę obsługiwanych ikon znajdziesz w sekcji wbudowane ikony.

iconUrl

string

wyświetlać ikonę niestandardową pod adresem URL HTTPS.

Na przykład:

"iconUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"

Obsługiwane typy plików to .png i .jpg.

materialIcon

object (MaterialIcon)

Wyświetl jedną z ikon Material Google.

Aby na przykład wyświetlić ikonę pola wyboru, użyj

"materialIcon": {
  "name": "check_box"
}

Dostępny w przypadku aplikacji Google Chat i niedostępny w przypadku dodatków Google Workspace.

MaterialIcon

Ikona w stylu Material Design, która zawiera ponad 2500 opcji.

Aby na przykład wyświetlić ikonę pola wyboru z niestandardową wagą i oceną, wpisz:

{
  "name": "check_box",
  "fill": true,
  "weight": 300,
  "grade": -25
}

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Zapis JSON
{
  "name": string,
  "fill": boolean,
  "weight": integer,
  "grade": integer
}
Pola
name

string

Nazwa ikony zdefiniowana w Materiałach Google, np. check_box. Nieprawidłowe nazwy są pomijane i zastępowane pustym ciągiem, co powoduje, że ikona nie jest renderowana.

fill

boolean

Określa, czy ikona jest wyświetlana jako wypełniona. Wartość domyślna to false (fałsz).

Aby wyświetlić podgląd różnych ustawień ikon, otwórz Ikony czcionek Google i zmień ustawienia w sekcji Dostosuj.

weight

integer

Grubość kreski ikony. Wybierz jedną z tych wartości: {100, 200, 300, 400, 500, 600, 700}. Jeśli nie zostanie podany, wartością domyślną jest 400. Jeśli podasz inną wartość, zostanie użyta wartość domyślna.

Aby wyświetlić podgląd różnych ustawień ikon, otwórz Google Fonts (Ikony czcionek Google) i dostosuj ustawienia w sekcji Customize (Dostosuj).

grade

integer

Waga i stopień wpływają na grubość symbolu. Zmiany oceny są bardziej szczegółowe niż korekty wagi i mają niewielki wpływ na wielkość symbolu. Masz do wyboru {-25, 0, 200}. Jeśli nie ma tej wartości, domyślnie jest to 0. Jeśli podasz inną wartość, zostanie użyta wartość domyślna.

Aby wyświetlić podgląd różnych ustawień ikon, otwórz Google Fonts (Ikony czcionek Google) i dostosuj ustawienia w sekcji Customize (Dostosuj).

DecoratedText

Element, który wyświetla tekst z opcjonalnymi ozdobnikami, takimi jak etykieta nad tekstem lub pod nim, ikona przed tekstem, element wyboru lub przycisk po tekście. Przykład w aplikacjach Google Chat znajdziesz w artykule Wyświetlanie tekstu z tekstem dekoracyjnym.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "icon": {
    object (Icon)
  },
  "startIcon": {
    object (Icon)
  },
  "topLabel": string,
  "text": string,
  "wrapText": boolean,
  "bottomLabel": string,
  "onClick": {
    object (OnClick)
  },

  // Union field control can be only one of the following:
  "button": {
    object (Button)
  },
  "switchControl": {
    object (SwitchControl)
  },
  "endIcon": {
    object (Icon)
  }
  // End of list of possible types for union field control.
}
Pola
icon
(deprecated)

object (Icon)

Wycofane na rzecz startIcon.

startIcon

object (Icon)

Ikona wyświetlana przed tekstem.

topLabel

string

Tekst wyświetlany nad text. Zawsze skraca.

text

string

Wymagane. Tekst główny.

Obsługuje proste formatowanie. Więcej informacji o formatowaniu tekstu znajdziesz w artykułach Formatowanie tekstu w aplikacjach Google Chat i Formatowanie tekstu w dodatkach Google Workspace.

wrapText

boolean

Ustawienie zawijania tekstu. Jeśli zaznaczysz opcję true, tekst zostanie przeniesiony i wyświetlony na kilku wierszach. W przeciwnym razie tekst zostanie obcięty.

Dotyczy tylko właściwości text, a nie topLabel ani bottomLabel.

bottomLabel

string

Tekst wyświetlany pod text. Zawsze zawija.

onClick

object (OnClick)

To działanie jest wywoływane, gdy użytkownicy klikną topLabel lub bottomLabel.

Pole uniicontrol. przycisk, przełącznik, pole wyboru lub obraz, które pojawiają się po prawej stronie tekstu w widżecie decoratedText. controlmoże być tylko jedną z tych wartości:
button

object (Button)

Przycisk, który użytkownik może kliknąć, aby wykonać określone działanie.

switchControl

object (SwitchControl)

Element przełącznika, który użytkownik może kliknąć, aby zmienić jego stan i wywołać działanie.

endIcon

object (Icon)

Ikona wyświetlana po tekście.

Obsługuje ikony wbudowane i niestandardowe.

Przycisk

Tekst, ikona lub przycisk z tekstem i ikoną, który użytkownicy mogą kliknąć. Przykład użycia aplikacji Google Chat znajdziesz w sekcji Dodawanie przycisku.

Aby obraz był klikalnym przyciskiem, określ atrybut Image (nie ImageComponent) i ustaw działanie onClick.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "text": string,
  "icon": {
    object (Icon)
  },
  "color": {
    object (Color)
  },
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean,
  "altText": string,
  "type": enum (Type)
}
Pola
text

string

Tekst wyświetlany wewnątrz przycisku.

icon

object (Icon)

Ikona wyświetlana na przycisku. Jeśli ustawisz zarówno parametr icon, jak i text, ikona pojawi się przed tekstem.

color

object (Color)

Opcjonalnie: Kolor przycisku. Jeśli jest ustawiony, przycisk type ma wartość FILLED, a kolor pól text i icon jest ustawiony na kontrast, by zwiększyć czytelność. Jeśli np. kolor przycisku jest ustawiony na niebieski, tekst lub ikony w przycisku są białe.

Aby ustawić kolor przycisku, określ wartości pól red, green i blue. Wartość musi być liczbą zmiennoprzecinkową z zakresu od 0 do 1 na podstawie wartości koloru RGB, gdzie 0 (0/255) oznacza brak koloru, a 1 (255/255) – jego maksymalną intensywność.

Na przykład następujący kod ustawia kolor czerwony na maksymalną intensywność:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

Pole alpha jest niedostępne w przypadku koloru przycisku. Jeśli jest określone, to pole jest ignorowane.

onClick

object (OnClick)

Wymagane. Działanie, które ma zostać wykonane po kliknięciu przycisku przez użytkownika, np. otwarcie hiperlinku lub wykonanie funkcji niestandardowej.

disabled

boolean

Jeśli true, przycisk jest wyświetlany w stanie nieaktywnym i nie reaguje na działania użytkownika.

altText

string

Tekst alternatywny używany w ułatwieniach dostępu.

Ustaw tekst opisowy, który informuje użytkowników, do czego służy przycisk. Jeśli na przykład przycisk otwiera hiperlink, możesz napisać: „Otwiera nową kartę przeglądarki i powoduje przejście do dokumentacji Google Chat dla deweloperów na stronie https://developers.google.com/workspace/chat&quot;”.

type

enum (Type)

Opcjonalnie: Typ przycisku. Jeśli nie jest ustawiony, typ przycisku przyjmuje domyślnie wartość OUTLINED. Jeśli pole color jest skonfigurowane, typ przycisku jest wymuszony na FILLED, a wartość ustawiona w tym polu jest ignorowana.

Dostępne w aplikacjach Google Chat i niedostępne w przypadku dodatków do Google Workspace.

Kolor

Reprezentuje kolor w przestrzeni kolorów RGBA. Ta reprezentacja została zaprojektowana w celu ułatwienia konwersji na reprezentacje kolorów i z nich w różnych językach, a nie na potrzeby kompresji. Na przykład pola tej reprezentacji można łatwo przekazać konstruktorowi java.awt.Color w języku Java, a także metodzie +colorWithRed:green:blue:alpha w obiekcie UIColor w iOS. Przy odrobinie pracy można je też sformatować w postać ciągu rgba() w języku JavaScript.

Ta strona informacyjna nie zawiera informacji o bezwzględnej przestrzeni kolorów, której należy użyć do interpretacji wartości RGB, np. sRGB, Adobe RGB, DCI-P3 i BT.2020. Domyślnie aplikacje powinny przyjąć przestrzeń kolorów sRGB.

Gdy należy ustalić równość kolorów, implementacje (o ile nie udokumentowano inaczej) traktują 2 kolory jako równe, jeśli wszystkie ich wartości czerwonego, zielonego, niebieskiego i alfa różnią się o maksymalnie 1e-5.

Przykład (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Przykład (iOS/Objective-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Przykład (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
Zapis JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Pola
red

number

Ilość czerwonego koloru jako wartość z przedziału [0, 1].

green

number

Ilość zieleni w kolorze jako wartość z zakresu [0, 1].

blue

number

Ilość niebieskiego koloru jako wartość z przedziału [0, 1].

alpha

number

Część tego koloru, która powinna zostać zastosowana do piksela. Oznacza to, że ostateczny kolor piksela jest określany za pomocą tej zależności:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Oznacza to, że wartość 1,0 odpowiada jednolitemu kolorowi, a wartość 0,0 – całkowicie przezroczystemu kolorowi. Zamiast prostego wektora liczby zmiennoprzecinkowej używa ona komunikatu opakowania, aby można było odróżnić wartość domyślną od wartości nieskonfigurowanej. Jeśli go pominiesz, obiekt koloru zostanie wyrenderowany jako jednolity kolor (jak gdyby wartość alfa miała wartość 1,0).

Typ

Opcjonalnie: Typ przycisku. Jeśli pole color jest skonfigurowane, pole type jest wymuszone na wartość FILLED.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Wartości w polu enum
TYPE_UNSPECIFIED Nie używaj. Nie określono.
OUTLINED Przyciski z konturem to przyciski o średnim stopniu podkreślenia. Zwykle zawierają one działania, które są ważne, ale nie są głównym działaniem w aplikacji do czatu lub dodatku.
FILLED Wypełniony przycisk ma pojemnik w jednolitym kolorze. Ma największy wpływ wizualny i jest zalecany do stosowania w przypadku ważnych i podstawowych działań w aplikacji do czatu lub dodatku.
FILLED_TONAL Wypełniony tonalny przycisk to kompromis między wypełnionymi a obrysowanymi przyciskami. Są one przydatne w kontekstach, w których przycisk o niższym priorytecie wymaga nieco większego podkreślenia niż przycisk obrysowany.
BORDERLESS Przycisk nie ma w domyślnym stanie niewidocznego kontenera. Jest on często używany do działań o najniższym priorytecie, zwłaszcza gdy wyświetla się kilka opcji.

SwitchControl

Przełącznik lub pole wyboru w widżeciedecoratedText.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Ta funkcja jest obsługiwana tylko w widżecie decoratedText.

Zapis JSON
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
Pola
name

string

Nazwa, pod którą widżet przełącznika jest identyfikowany w zdarzeniu wprowadzania danych w formularzu.

Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

value

string

Wartość wpisana przez użytkownika, zwrócona w ramach zdarzenia wprowadzania danych w formularzu.

Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

selected

boolean

Gdy true, przełącznik jest wybrany.

onChangeAction

object (Action)

Działanie, które ma zostać wykonane po zmianie stanu przełącznika, np. jaka funkcja ma zostać uruchomiona.

controlType

enum (ControlType)

Wygląd przełącznika w interfejsie.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

ControlType

Jak przełącznik wygląda w interfejsie

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
SWITCH Przełącznik w stylu przełącznika.
CHECKBOX Wycofano. Zastąpiona wartością: CHECK_BOX.
CHECK_BOX Pole wyboru.

ButtonList

Lista przycisków ułożonych poziomo. Przykład użycia aplikacji Google Chat znajdziesz w sekcji Dodawanie przycisku.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "buttons": [
    {
      object (Button)
    }
  ]
}
Pola
buttons[]

object (Button)

Tablica przycisków.

TextInput

Pole, w którym użytkownicy mogą wpisywać tekst. Obsługuje sugestie i działania po zmianie. Przykłady w przypadku aplikacji Google Chat znajdziesz w artykule Dodawanie pola, w którym użytkownik może wpisywać tekst.

Aplikacje do czatu otrzymują i mogą przetwarzać wartość wpisanego tekstu podczas zdarzeń wprowadzania danych w formularzu. Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

Jeśli chcesz zbierać od użytkowników dane nieokreślone lub abstrakcyjne, użyj pola tekstowego. Aby zbierać zdefiniowane lub wyszczególnione dane od użytkowników, użyj widżetu SelectionInput.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "name": string,
  "label": string,
  "hintText": string,
  "value": string,
  "type": enum (Type),
  "onChangeAction": {
    object (Action)
  },
  "initialSuggestions": {
    object (Suggestions)
  },
  "autoCompleteAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  },
  "placeholderText": string
}
Pola
name

string

Nazwa, za pomocą której pole tekstowe jest identyfikowane w zdarzeniu wprowadzania danych w formularzu.

Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

label

string

Tekst wyświetlany nad polem tekstowym w interfejsie.

Podaj tekst, który pomoże użytkownikowi podać informacje wymagane przez aplikację. Jeśli na przykład pytasz czyjś imię, a konkretnie nazwisko, wpisz surname zamiast name.

Wymagane, jeśli właściwość hintText nie jest określona. W przeciwnym razie jest to opcjonalne.

hintText

string

Tekst wyświetlany pod polem tekstowym, który ma pomóc użytkownikom w wpisaniu określonej wartości. Ten tekst jest zawsze widoczny.

Wymagane, jeśli właściwość label nie jest określona. W przeciwnym razie jest to opcjonalne.

value

string

Wartość wpisana przez użytkownika, zwracana w ramach zdarzenia wprowadzenia danych w formularzu.

Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

type

enum (Type)

Jak pole tekstowe wygląda w interfejsie na przykład czy to pole jest jedno- czy wielowierszowe.

onChangeAction

object (Action)

Co zrobić, gdy nastąpi zmiana w polu tekstowym. Może to być na przykład dodanie tekstu do pola lub jego usunięcie.

Może to być na przykład uruchomienie funkcji niestandardowej lub otwarcie okna w Google Chat.

initialSuggestions

object (Suggestions)

Sugerowane wartości, które użytkownicy mogą wpisać. Te wartości pojawiają się, gdy użytkownicy klikają w polu tekstowym. Gdy użytkownicy wpisują tekst, sugerowane wartości są dynamicznie filtrowane, aby pasowały do tego, co wpisują.

Na przykład pole do wprowadzania tekstu w języku programowania może zawierać sugestie Javy, JavaScriptu, Pythona i C++. Gdy użytkownicy zaczną pisać Jav, na liście filtrów sugestii wyświetlą się tylko Java i JavaScript.

Sugerowane wartości pomagają zachęcać użytkowników do wpisywania wartości, które Twoja aplikacja może zrozumieć. W przypadku JavaScript niektórzy użytkownicy mogą wpisaćjavascript, a innijava script. Sugerowanie JavaScript może ujednolicić sposób interakcji użytkowników z aplikacją.

Gdy jest określona, TextInput.type ma zawsze wartość SINGLE_LINE, nawet jeśli ustawiona jest wartość MULTIPLE_LINE.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

autoCompleteAction

object (Action)

Opcjonalnie: Określ, jakie działanie ma być wykonywane, gdy pole tekstowe wyświetla sugestie użytkownikom, którzy z niego korzystają.

Jeśli nie podasz żadnej wartości, sugestie zostaną ustawione przez initialSuggestions i przetworzone przez klienta.

Jeśli określisz działanie, aplikacja wykona określone tutaj działanie, np. uruchomi funkcję niestandardową.

Dostępne w przypadku dodatków do Google Workspace, ale niedostępne w aplikacjach Google Chat.

validation

object (Validation)

Określ weryfikację wymaganą w tym polu tekstowym.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

placeholderText

string

Tekst, który pojawia się w polu tekstowym, gdy jest puste. Użyj tego tekstu, aby poprosić użytkowników o wpisanie wartości. Na przykład: Enter a number from 0 to 100.

Dostępne w aplikacjach Google Chat i niedostępne w przypadku dodatków do Google Workspace.

Typ

Jak pole tekstowe wygląda w interfejsie Na przykład czy jest to pole tekstowe jednowierszowe czy wielowierszowe. Jeśli określono wartość parametru initialSuggestions, parametr type zawsze ma wartość SINGLE_LINE, nawet jeśli jest ustawiony na MULTIPLE_LINE.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
SINGLE_LINE Pole tekstowe ma stałą wysokość równą 1 wierszowi.
MULTIPLE_LINE Pole tekstowe ma stałą wysokość obejmującą kilka wierszy.

RenderActions

Zestaw instrukcji renderowania, który instruuje kartę, aby wykonała działanie, lub instruuje aplikację hosta rozszerzenia lub aplikację Google Chat, aby wykonała działanie związane z konkretną aplikacją.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Pola
action

Action

Działanie

Pola
navigations[]

Navigation

Push lub aktualizowanie wyświetlanych kart.

Dodaj nową kartę do stosu (przejdź dalej). Aplikacje do obsługi czatu są dostępne tylko na ekranie głównym aplikacji.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

navigations: {
  pushCard: CARD
}

Zastąp górną kartę nową kartą. Aplikacje do obsługi czatu są dostępne tylko na ekranie głównym aplikacji.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

navigations: {
  updateCard: CARD
}

Sugestie

Sugerowane wartości, które użytkownicy mogą wpisać. Te wartości pojawiają się, gdy użytkownicy klikają w polu tekstowym. Gdy użytkownicy wpisują tekst, sugerowane wartości są dynamicznie filtrowane, aby pasowały do tego, co wpisują.

Na przykład pole tekstowe do wpisywania kodu w języku programowania może sugerować Java, JavaScript, Python i C++. Gdy użytkownicy zaczną pisać Jav, lista sugestii zostanie przefiltrowana, aby wyświetlić Java i JavaScript.

Sugerowane wartości pomagają użytkownikom wpisywać wartości, które Twoja aplikacja może zinterpretować. Gdy odwołują się do JavaScript, niektórzy użytkownicy mogą wpisaćjavascript, a innijava script. Sugestia JavaScript może ustandaryzować sposób, w jaki użytkownicy wchodzą w interakcję z aplikacją.

Jeśli jest określony, parametr TextInput.type ma zawsze wartość SINGLE_LINE, nawet jeśli jest ustawiony na MULTIPLE_LINE.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
Pola
items[]

object (SuggestionItem)

Lista sugestii używanych do rekomendacji autouzupełniania w polach tekstowych.

SuggestionItem

Jedna sugerowana wartość, którą użytkownicy mogą wpisać w polu tekstowym.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{

  // Union field content can be only one of the following:
  "text": string
  // End of list of possible types for union field content.
}
Pola

Pole unii content.

contentmoże być tylko jedną z tych wartości:

text

string

Wartość sugerowanego tekstu w polu tekstowym. Jest to odpowiednik danych wpisywanych przez użytkowników.

Weryfikacja

Reprezentuje dane potrzebne do zweryfikowania widżetu, do którego jest dołączony.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "characterLimit": integer,
  "inputType": enum (InputType)
}
Pola
characterLimit

integer

Określ limit znaków dla widżetów wprowadzania tekstu. Pamiętaj, że ta opcja jest używana tylko do wprowadzania tekstu i jest ignorowana w przypadku innych widżetów.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

inputType

enum (InputType)

Określ typ widżetów wejściowych.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

InputType

Typ widżetu danych wejściowych.

Wartości w polu enum
INPUT_TYPE_UNSPECIFIED Nieokreślony typ. Nie używać.
TEXT Zwykły tekst, w którym można wpisać wszystkie znaki.
INTEGER Wartość całkowita.
FLOAT Wartość zmiennoprzecinkowa.
EMAIL adres e-mail,
EMOJI_PICKER emotikon wybrany w selektorze emotikonów,

SelectionInput

Widżet tworzący co najmniej 1 element interfejsu, który użytkownicy mogą wybrać. Może to być na przykład menu lub pola wyboru. Za pomocą tego widżetu możesz zbierać dane, które można przewidzieć lub wymienić. Przykład w przypadku aplikacji Google Chat znajdziesz w artykule Dodawanie możliwych do wyboru elementów interfejsu.

Komunikatory mogą przetwarzać wartości elementów wybranych lub wpisanych przez użytkowników. Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

Aby zbierać nieokreślone lub abstrakcyjne dane od użytkowników, użyj widgetaTextInput.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  },
  "multiSelectMaxSelectedItems": integer,
  "multiSelectMinQueryLength": integer,
  "validation": {
    object (Validation)
  },

  // Union field multi_select_data_source can be only one of the following:
  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  // End of list of possible types for union field multi_select_data_source.
}
Pola
name

string

Wymagane. Nazwa identyfikująca dane wejściowe wyboru w zdarzeniu z danymi wejściowymi formularza.

Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

label

string

Tekst wyświetlany nad polem wyboru w interfejsie.

Podaj tekst, który pomoże użytkownikowi podać informacje, których potrzebuje Twoja aplikacja. Jeśli na przykład użytkownicy wybierają pilność zgłoszenia w menu, etykieta może brzmieć „Pilność” lub „Wybierz pilność”.

type

enum (SelectionType)

Typ elementów wyświetlanych użytkownikom w SelectionInputwidżecie. Typy wyboru obsługują różne typy interakcji. Użytkownicy mogą na przykład zaznaczyć jedno lub więcej pól wyboru, ale tylko jedną wartość w menu.

items[]

object (SelectionItem)

Tablica elementów do wyboru. Może to być np. tablica przycisków opcji lub pól wyboru. Obsługuje do 100 elementów.

onChangeAction

object (Action)

Jeśli to możliwe, formularz jest przesyłany, gdy zmieni się wybór. Jeśli nie określisz tego parametru, musisz podać oddzielny przycisk, który przesyła formularz.

Szczegółowe informacje o pracy z danymi wejściowymi formularza znajdziesz w artykule Odbieranie danych formularza.

multiSelectMaxSelectedItems

integer

W przypadku menu z wieloma opcjami maksymalna liczba elementów, które użytkownik może wybrać. Minimalna wartość to 1 element. Jeśli nie podasz tej wartości, zostanie użyta domyślna liczba 3.

multiSelectMinQueryLength

integer

W przypadku menu z wielokrotnie wybieranymi opcjami liczba znaków tekstowych wpisywanych przez użytkownika, zanim menu zwróci sugerowane elementy do wyboru.

Jeśli nie skonfigurujesz menu wyboru wielokrotnego, zostaną użyte te wartości domyślne:

  • Jeśli menu używa stałego tablicę elementów SelectionInput, domyślnie ma 0 znaków i natychmiast wypełnia elementy z tablicy.
  • Jeśli menu korzysta z dynamicznego źródła danych (multi_select_data_source), domyślnie przyjmuje się 3 znaki, zanim wyślesz zapytanie do źródła danych w celu zwrócenia sugerowanych elementów.
validation

object (Validation)

Weryfikacja tego pola wyboru w przypadku menu rozwijanych.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Pole unii multi_select_data_source. W przypadku menu z wieloma opcjami źródło danych, które dynamicznie wypełnia elementy wyboru.

Dostępny w przypadku aplikacji Google Chat i niedostępny w przypadku dodatków Google Workspace. multi_select_data_sourcemoże być tylko jedną z tych wartości:

externalDataSource

object (Action)

zewnętrzne źródło danych, np. relacyjna baza danych;

platformDataSource

object (PlatformDataSource)

Źródło danych z Google Workspace.

SelectionType

Format elementów, które użytkownicy mogą wybierać. Różne opcje obsługują różne typy interakcji. Użytkownicy mogą na przykład zaznaczyć wiele pól wyboru, ale w menu mogą wybrać tylko jeden element.

Każdy element danych wejściowych obsługuje jeden typ wyboru. Nie można na przykład łączyć pól wyboru i przełączników.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
CHECK_BOX Zestaw pól wyboru Użytkownicy mogą zaznaczyć co najmniej 1 pole wyboru.
RADIO_BUTTON Zestaw opcji. Użytkownik może wybrać 1 przycisk.
SWITCH Zestaw przełączników. Użytkownicy mogą włączyć co najmniej 1 przełącznik.
DROPDOWN menu Użytkownicy mogą wybrać jeden element z menu.
MULTI_SELECT

Menu z polem tekstowym. Użytkownicy mogą wpisywać i wybierać co najmniej 1 element.

W przypadku dodatków do Google Workspace musisz wypełnić elementy za pomocą stałego tablicowego zbioru obiektów SelectionItem.

W przypadku aplikacji Google Chat możesz też wypełniać elementy za pomocą dynamicznego źródła danych i automatycznie sugerować elementy, gdy użytkownicy wpisują tekst w menu. Użytkownicy mogą np. zacząć wpisywać nazwę pokoju Google Chat, a widżet automatycznie wyświetli sugestię. Aby dynamicznie wypełniać elementy menu z wieloma opcjami, użyj jednego z tych typów źródeł danych:

  • Dane Google Workspace: elementy są wypełniane na podstawie danych z Google Workspace, takich jak użytkownicy Google Workspace czy pokoje Google Chat.
  • Dane zewnętrzne: elementy są wypełniane z zewnętrznego źródła danych spoza Google Workspace.

Przykłady implementacji menu wielokrotnego wyboru w aplikacjach Google Chat znajdziesz w artykule Dodawanie menu wyboru wielokrotnego.

Dostępne w przypadku aplikacji Google Chat i dodatków do Google Workspace.

SelectionItem

Element, który użytkownicy mogą wybrać w polu wyboru, np. pole wyboru lub przełącznik. Obsługuje do 100 elementów.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
Pola
text

string

Tekst, który identyfikuje lub opisuje produkt dla użytkowników.

value

string

Wartość powiązana z tym elementem. Klient powinien użyć tego jako wartości wejściowej formularza.

Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

selected

boolean

Określa, czy element jest wybierany domyślnie. Jeśli pole wyboru akceptuje tylko jedną wartość (np. w przypadku przycisków opcji lub menu), ustaw to pole tylko w przypadku jednego elementu.

startIconUri

string

W przypadku menu wielokrotnego wyboru adres URL ikony wyświetlany obok pola text elementu. Obsługuje pliki PNG i JPEG. Musi być adresem URL usługi HTTPS. Na przykład:https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.

bottomText

string

W przypadku menu z wieloma opcjami tekstowy opis lub etykieta wyświetlane pod polem textelementu.

PlatformDataSource

W przypadku widgetu SelectionInput, który korzysta z menu wielokrotnego wyboru, źródło danych z Google Workspace. Służy do wypełniania elementów w menu wielokrotnego wyboru.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Zapis JSON
{

  // Union field data_source can be only one of the following:
  "commonDataSource": enum (CommonDataSource),
  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
Pola
Pole uniidata_source. Źródło danych. data_sourcemoże być tylko jedną z tych wartości:
commonDataSource

enum (CommonDataSource)

Źródło danych udostępniane przez wszystkie aplikacje Google Workspace, np. użytkowników w organizacji Google Workspace.

hostAppDataSource

object (HostAppDataSourceMarkup)

Źródło danych, które jest unikalne dla aplikacji hosta Google Workspace, takiej jak pokoje w Google Chat.

To pole obsługuje biblioteki klienta interfejsów API Google, ale nie jest dostępne w bibliotekach klienta Cloud. Więcej informacji znajdziesz w sekcji Instalowanie bibliotek klienta.

CommonDataSource

Źródło danych współdzielone przez wszystkie aplikacje Google Workspace.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Wartości w polu enum
UNKNOWN Wartość domyślna. Nie używaj.
USER Użytkownicy Google Workspace. Użytkownik może wyświetlać i wybierać tylko użytkowników z organizacji Google Workspace.

HostAppDataSourceMarkup

W przypadku widgetuSelectionInput, który korzysta z menu wielokrotnego wyboru, źródło danych z aplikacji Google Workspace. Źródło danych wypełnia elementy wyboru w menu wielokrotnego wyboru.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Zapis JSON
{

  // Union field data_source can be only one of the following:
  "chatDataSource": {
    object (ChatClientDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
Pola
Pole sumy data_source. Aplikacja Google Workspace, która wypełnia elementy menu wielokrotnego wyboru. data_sourcemoże być tylko jedną z tych wartości:
chatDataSource

object (ChatClientDataSourceMarkup)

Źródło danych z Google Chat.

ChatClientDataSourceMarkup

W przypadku widżetu SelectionInput, który korzysta z menu wielokrotnego wyboru, źródło danych z Google Chat. Źródło danych wypełnia elementy wyboru w menu wielokrotnego wyboru. Użytkownik może na przykład wybrać pokoje Google Chat, do których należy.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Zapis JSON
{

  // Union field source can be only one of the following:
  "spaceDataSource": {
    object (SpaceDataSource)
  }
  // End of list of possible types for union field source.
}
Pola
Pole sumy source. Źródło danych Google Chat. sourcemoże być tylko jedną z tych wartości:
spaceDataSource

object (SpaceDataSource)

pokoje Google Chat, których użytkownik jest członkiem;

SpaceDataSource

Źródło danych, które wypełnia pokoje Google Chat jako elementy wyboru w menu wyboru wielokrotnego. To pole zawiera tylko te pokoje, do których należy użytkownik.

Dostępne w aplikacjach Google Chat i niedostępne w przypadku dodatków do Google Workspace.

Zapis JSON
{
  "defaultToCurrentSpace": boolean
}
Pola
defaultToCurrentSpace

boolean

Jeśli ustawisz tę opcję na true, menu wielokrotnego wyboru domyślnie wybierze bieżący pokój Google Chat jako element.

DateTimePicker

Umożliwia użytkownikom wpisanie daty, godziny lub obu tych informacji. Przykłady w przypadku aplikacji Google Chat: Zezwalanie użytkownikowi na wybór daty i godziny.

Użytkownicy mogą wpisywać tekst lub wybierać daty i godziny za pomocą selektora. Jeśli użytkownicy wpiszą nieprawidłową datę lub godzinę, selektor wyświetli błąd z prośbą o poprawne wpisanie informacji.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  }
}
Pola
name

string

Nazwa, pod którą obiekt DateTimePicker jest identyfikowany w zdarzeniu danych wejściowych formularza.

Szczegółowe informacje o pracy z danymi formularza znajdziesz w artykule Odbieranie danych formularza.

label

string

Tekst, który zachęca użytkowników do wpisania daty, godziny lub daty i godziny. Jeśli na przykład użytkownicy planują spotkanie, użyj etykiety takiej jak Appointment date lub Appointment date and time.

type

enum (DateTimePickerType)

Określa, czy widżet obsługuje wprowadzanie daty, godziny lub daty i godziny.

valueMsEpoch

string (int64 format)

Wartość domyślna wyświetlana w widżecie (w milisekundach) od czasu uniksowego.

Określ wartość na podstawie typu selektora (DateTimePickerType):

  • DATE_AND_TIME: data i godzina w formacie kalendarzowym w UTC. Na przykład aby uwzględnić 1 stycznia 2023 r. o 12:00 czasu UTC, użyj właściwości 1672574400000.
  • DATE_ONLY : data kalendarzowa o godzinie 00:00:00 UTC. Na przykład, aby wskazać 1 stycznia 2023 r., użyj wartości 1672531200000.
  • TIME_ONLY: czas w strefie czasowej UTC. Aby na przykład podać godzinę 12:00, użyj 43200000 (lub 12 * 60 * 60 * 1000).
timezoneOffsetDate

integer

Liczba reprezentująca przesunięcie strefy czasowej względem UTC w minutach. Jeśli jest ustawiona, valueMsEpoch jest wyświetlany w określonej strefie czasowej. Jeśli nie jest skonfigurowana, przyjmuje się domyślne ustawienie strefy czasowej użytkownika.

onChangeAction

object (Action)

Wywoływane, gdy użytkownik kliknie Zapisz lub Wyczyść w interfejsie DateTimePicker.

validation

object (Validation)

Opcjonalnie. Określ weryfikację wymaganą dla tego selektora licznika daty.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

DateTimePickerType

Format daty i godziny w widżecie DateTimePicker. Określa, czy użytkownicy mogą wpisać datę, godzinę lub równocześnie datę i godzinę.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
DATE_AND_TIME Użytkownicy podają datę i godzinę.
DATE_ONLY Użytkownicy wpisują datę.
TIME_ONLY Użytkownicy podają czas.

Separator

Ten typ nie ma pól.

Wyświetla separator między widżetami w postaci poziomej linii. Przykład w przypadku aplikacji Google Chat: Dodaj poziomy separator między widżetami.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Na przykład ten fragment kodu JSON tworzy separator:

"divider": {}

Siatka

Wyświetla siatkę z kolekcją elementów. Elementy mogą zawierać tylko tekst lub obrazy. W przypadku kolumn elastycznych lub do umieszczenia więcej niż tekstu lub obrazów użyj elementu Columns. Przykład dotyczący aplikacji Google Chat znajdziesz w artykule Wyświetlanie siatki z kolekcją elementów.

Siatka obsługuje dowolną liczbę kolumn i elementów. Liczba wierszy jest określana przez elementy podzielone przez kolumny. Siatka z 10 elementami i 2 kolumnami ma 5 wierszy. Siatka z 11 elementami i 2 kolumnami ma 6 wierszy.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Na przykład ten kod JSON tworzy siatkę 2 kolumn z 1 elementem:

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
Zapis JSON
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
Pola
title

string

Tekst wyświetlany w nagłówku siatki.

items[]

object (GridItem)

Elementy wyświetlane w siatce.

borderStyle

object (BorderStyle)

Styl obramowania, który ma być stosowany do każdego elementu siatki.

columnCount

integer

Liczba kolumn wyświetlanych w siatce. Jeśli to pole nie jest określone, używana jest wartość domyślna, która różni się w zależności od tego, gdzie jest wyświetlana siatka (w dialogu lub w usługach towarzyszących).

onClick

object (OnClick)

Ten wywołanie zwrotne jest używane wielokrotnie przez każdy element siatki, ale z identyfikatorem i indeksem elementu na liście elementów dodanymi do parametrów wywołania zwrotnego.

GridItem

Reprezentuje element w układzie siatki. Elementy mogą zawierać tekst, obraz lub tekst i obraz.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
Pola
id

string

Określony przez użytkownika identyfikator tego elementu siatki. Ten identyfikator jest zwracany w parametrach wywołania onClick siatki nadrzędnej.

image

object (ImageComponent)

Obraz wyświetlany w elemencie siatki.

title

string

Tytuł elementu siatki.

subtitle

string

Podtytuł elementu siatki.

layout

enum (GridItemLayout)

Układ, który ma być używany dla elementu siatki.

ImageComponent

Reprezentuje obraz.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
Pola
imageUri

string

Adres URL obrazu.

altText

string

Etykieta ułatwień dostępu dla obrazu.

cropStyle

object (ImageCropStyle)

Styl przycinania, który ma zostać zastosowany do obrazu.

borderStyle

object (BorderStyle)

Styl obramowania, który ma zostać zastosowany do obrazu.

ImageCropStyle

Reprezentuje styl przycinania zastosowany do obrazu.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Oto przykład zastosowania formatu 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
Zapis JSON
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
Pola
type

enum (ImageCropType)

Typ przycięcia.

aspectRatio

number

Format obrazu, który ma być użyty, jeśli typ przycięcia to RECTANGLE_CUSTOM.

Oto przykład zastosowania formatu 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}

ImageCropType

Reprezentuje styl przycinania zastosowany do obrazu.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
IMAGE_CROP_TYPE_UNSPECIFIED Nie używaj. Nie określono.
SQUARE Wartość domyślna. Stosuje przycięcie do kwadratu.
CIRCLE Stosuje przycięcie okrągłe.
RECTANGLE_CUSTOM Stosuje prostokątne przycięcie z niestandardowym formatem obrazu. Ustaw niestandardowe proporcje za pomocą aspectRatio.
RECTANGLE_4_3 Stosuje przycięcie prostokątne w formacie 4:3.

BorderStyle

Opcje stylu obramowania karty lub widżetu, w tym typ i kolor obramowania.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
Pola
type

enum (BorderType)

Typ obramowania.

strokeColor

object (Color)

Kolory, których należy używać, gdy typ to BORDER_TYPE_STROKE.

Aby ustawić kolor obrysu, określ wartość w polach red, green i blue. Wartość musi być liczbą zmiennoprzecinkową z zakresu 0–1 na podstawie wartości koloru RGB, gdzie:0(0/255) oznacza brak koloru, a 1(255/255) – maksymalną intensywność koloru.

Na przykład następujący kod ustawia kolor czerwony na maksymalną intensywność:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

Pole alpha jest niedostępne w przypadku koloru kreski. Jeśli jest określone, to pole jest ignorowane.

cornerRadius

integer

Promień zaokrąglenia rogów.

BorderType

Reprezentuje typy obramowania stosowane do widżetów.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
BORDER_TYPE_UNSPECIFIED Nie używaj. Nie określono.
NO_BORDER Wartość domyślna. Bez obramowania.
STROKE Kontur.

GridItemLayout

Reprezentuje różne opcje układu dostępne dla elementu siatki.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
GRID_ITEM_LAYOUT_UNSPECIFIED Nie używaj. Nie określono.
TEXT_BELOW Tytuł i podtytuł są wyświetlane pod obrazem elementu siatki.
TEXT_ABOVE Tytuł i podtytuł są wyświetlane nad obrazem elementu siatki.

Kolumny

ColumnsWidget wyświetla maksymalnie 2 kolumny na karcie lub w oknie dialogowym. Do każdej kolumny możesz dodać widżety, które będą się wyświetlać w kolejności, w jakiej zostały określone. Przykład w przypadku aplikacji Google Chat znajdziesz w sekcji Wyświetlanie kart i okien w kolumnach.

Wysokość każdej kolumny jest określana przez wyższą kolumnę. Jeśli na przykład pierwsza kolumna jest wyższa niż druga, obie kolumny mają wysokość pierwszej kolumny. Każda kolumna może zawierać inną liczbę widżetów, więc nie możesz definiować wierszy ani wyrównywać widżetów między kolumnami.

Kolumny są wyświetlane obok siebie. Szerokość każdej kolumny możesz dostosować za pomocą pola HorizontalSizeStyle. Jeśli ekran użytkownika jest za wąski, druga kolumna zostanie przeniesiona pod pierwszą:

  • W przypadku internetu druga kolumna zawija się, jeśli szerokość ekranu jest mniejsza niż lub równa 480 pikseli.
  • Na urządzeniach z iOS druga kolumna jest przenoszona, jeśli szerokość ekranu jest mniejsza lub równa 300 punktom.
  • Na urządzeniach z Androidem druga kolumna jest przenoszona, jeśli szerokość ekranu jest mniejsza lub równa 320 dp.

Aby uwzględnić więcej niż 2 kolumny lub użyć wierszy, użyj widżetuGrid.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace. Interfejsy API dodatków, które obsługują kolumny, to m.in.:

  • Okno wyświetlane, gdy użytkownicy otwierają dodatek z poziomu szkicu e-maila.
  • Okno wyświetlane, gdy użytkownicy otwierają dodatek z menu Dodaj załącznik w wydarzeniu w Kalendarzu Google.
Zapis JSON
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
Pola
columnItems[]

object (Column)

Tablica kolumn. Na karcie lub w dialogu możesz umieścić maksymalnie 2 kolumny.

Kolumna

Kolumna

Dodatki do Google Workspace i aplikacje Google Chat

Zapis JSON
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
Pola
horizontalSizeStyle

enum (HorizontalSizeStyle)

Określa, jak kolumna wypełnia szerokość karty.

horizontalAlignment

enum (HorizontalAlignment)

Określa, czy widżety mają być wyrównane do lewej, prawej czy do środka kolumny.

verticalAlignment

enum (VerticalAlignment)

Określa, czy widżety mają się znajdować na górze, na dole czy na środku kolumny.

widgets[]

object (Widgets)

Tablica widżetów zawartych w kolumnie. Widżety są wyświetlane w kolejności, w jakiej zostały określone.

HorizontalSizeStyle

Określa, jak kolumna wypełnia szerokość karty. Szerokość każdej kolumny zależy zarówno odHorizontalSizeStyle, jak i szerokości widżetów w kolumnie.

Dodatki i aplikacje do czatu Google Workspace

Wartości w polu enum
HORIZONTAL_SIZE_STYLE_UNSPECIFIED Nie używaj. Nie określono.
FILL_AVAILABLE_SPACE Wartość domyślna. Kolumna wypełnia dostępną przestrzeń do 70% szerokości karty. Jeśli obie kolumny mają wartość FILL_AVAILABLE_SPACE, każda z nich zajmuje 50% miejsca.
FILL_MINIMUM_SPACE Kolumna zajmuje jak najmniej miejsca i nie więcej niż 30% szerokości karty.

Wyrównanie poziome

Określa, czy widżety mają być wyrównane do lewej, prawej czy do środka kolumny.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Wartości w polu enum
HORIZONTAL_ALIGNMENT_UNSPECIFIED Nie używaj. Nie określono.
START Wartość domyślna. Dopasowuje widżety do pozycji początkowej kolumny. W przypadku układów od lewej do prawej wyrównanie do lewej. W przypadku układów od prawej do lewej wyrównanie jest ustawiane na prawo.
CENTER Wyrównuje widżety do środka kolumny.
END Wyrównuje widżety do pozycji końcowej kolumny. W przypadku układów od lewej do prawej wyrównanie widżetów jest ustawione na prawo. W przypadku układów od prawej do lewej wyrównuje widżety do lewej.

VerticalAlignment

Określa, czy widżety mają się znajdować na górze, na dole czy na środku kolumny.

Dodatki i aplikacje do czatu Google Workspace

Wartości w polu enum
VERTICAL_ALIGNMENT_UNSPECIFIED Nie używaj. Nie określono.
CENTER Wartość domyślna. Wyrównuje widżety do środka kolumny.
TOP Wyrównuje widżety do góry kolumny.
BOTTOM Wyrównuje widżety do dołu kolumny.

Widżety

obsługiwane widżety, które można uwzględnić w kolumnie;

Dodatki i aplikacje do czatu Google Workspace

Zapis JSON
{

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
Pola

Pole unii data.

datamoże być tylko jedną z tych wartości:

textParagraph

object (TextParagraph)

Widżet TextParagraph.

image

object (Image)

Widżet Image.

decoratedText

object (DecoratedText)

Widżet DecoratedText.

buttonList

object (ButtonList)

Widżet ButtonList.

textInput

object (TextInput)

Widżet TextInput.

selectionInput

object (SelectionInput)

Widżet SelectionInput.

dateTimePicker

object (DateTimePicker)

Widżet DateTimePicker.

chipList

object (ChipList)

Widżet ChipList. Dostępny w przypadku aplikacji Google Chat i niedostępny w przypadku dodatków Google Workspace.

ChipList

Lista elementów ułożonych poziomo, która może być przewijana poziomo lub przenoszona na następny wiersz.

Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Zapis JSON
{
  "layout": enum (Layout),
  "chips": [
    {
      object (Chip)
    }
  ]
}
Pola
layout

enum (Layout)

Określony układ listy elementów.

chips[]

object (Chip)

Tablica elementów.

Układ

Układ listy elementów.

Wartości w polu enum
LAYOUT_UNSPECIFIED Nie używaj. Nie określono.
WRAPPED Wartość domyślna. Jeśli nie ma wystarczająco dużo miejsca na poziome, lista elementów jest przenoszona na kolejny wiersz.
HORIZONTAL_SCROLLABLE Elementy przewijają się w poziomie, jeśli nie mieszczą się w dostępnym miejscu.

Układ scalony

Tekst, ikona lub element tekstowo-ikonowy, który użytkownicy mogą kliknąć.

Dostępne w aplikacjach Google Chat i niedostępne w przypadku dodatków do Google Workspace.

Zapis JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "onClick": {
    object (OnClick)
  },
  "enabled": boolean,
  "disabled": boolean,
  "altText": string
}
Pola
icon

object (Icon)

Obraz ikony. Jeśli ustawisz zarówno parametr icon, jak i text, ikona pojawi się przed tekstem.

label

string

Tekst wyświetlany wewnątrz elementu.

onClick

object (OnClick)

Opcjonalnie: Działanie, które ma zostać wykonane, gdy użytkownik kliknie element, np. otwarcie hiperlinku lub wykonanie funkcji niestandardowej.

enabled
(deprecated)

boolean

Określa, czy element jest aktywny i reaguje na działania użytkownika. Domyślna wartość to true. Rola wycofana. Zamiast tego użyj kolumny disabled.

disabled

boolean

Określa, czy element jest nieaktywny i ignoruje działania użytkownika. Domyślna wartość to false.

altText

string

Tekst alternatywny używany w ułatwieniach dostępu.

Ustaw tekst opisowy, który informuje użytkowników, do czego służy dany element. Jeśli na przykład element otwiera hiperlink, napisz: „Otwiera nową kartę przeglądarki i przechodzi do dokumentacji dla programistów Google Chat na stronie https://developers.google.com/workspace/chat".

CollapseControl

Reprezentuje element sterujący zwijaniem i rozwijaniem. Dostępne w przypadku aplikacji Google Chat i niedostępne w przypadku dodatków Google Workspace.

Zapis JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "expandButton": {
    object (Button)
  },
  "collapseButton": {
    object (Button)
  }
}
Pola
horizontalAlignment

enum (HorizontalAlignment)

Ustawienie poziome przycisku rozwijania i zwijania.

expandButton

object (Button)

Opcjonalnie: Zdefiniuj przycisk konfigurowalny, aby rozwinąć tę sekcję. Należy ustawić pola expandButton i collapseButton. Tylko 1 z nich nie zostanie zastosowany. Jeśli to pole nie jest skonfigurowane, używany jest przycisk domyślny.

collapseButton

object (Button)

Opcjonalnie: Zdefiniuj konfigurowalny przycisk, aby zwinąć sekcję. Należy ustawić pola expandButton i collapseButton. Tylko 1 z nich nie zostanie zastosowany. Jeśli to pole nie jest skonfigurowane, używany jest przycisk domyślny.

DividerStyle

Styl separatora na karcie. Obecnie używany tylko do oddzielania sekcji kart.

Dostępny w przypadku aplikacji Google Chat i dodatków do Google Workspace.

Wartości w polu enum
DIVIDER_STYLE_UNSPECIFIED Nie używaj. Nie określono.
SOLID_DIVIDER Opcja domyślna. Wyrenderuj solidny przerywnik.
NO_DIVIDER Jeśli jest ustawiony, nie jest renderowany żaden separator. Ten styl całkowicie usuwa separator z projektu. Wynik jest taki sam jak w przypadku braku separatora.

CardAction

Działanie związane z kartą to działanie powiązane z kartą. Na karcie faktury mogą się na przykład znajdować opcje usuwania faktury, wysyłania faktury e-mailem lub otwierania faktury w przeglądarce.

Dostępne dla dodatków Google Workspace i niedostępne dla aplikacji Google Chat.

Zapis JSON
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
Pola
actionLabel

string

Etykieta wyświetlana jako element menu działania.

onClick

object (OnClick)

onClickDziałanie związane z tym działaniem.

CardFixedFooter

Stała (przyklejona) stopka wyświetlana u dołu karty.

Ustawienie parametru fixedFooter bez podania wartości parametru primaryButton lub secondaryButton powoduje błąd.

W przypadku aplikacji do obsługi czatu możesz używać stałych stopek w oknach, ale nie w wiadomościach na karcie. Przykład w przypadku aplikacji Google Chat znajdziesz w artykule Dodawanie stałego stopki.

Dostępne dla aplikacji Google Chat i dodatków do Google Workspace.

Zapis JSON
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
Pola
primaryButton

object (Button)

Główny przycisk stopki stałej. Przycisk musi być przyciskiem tekstowym z ustawionym tekstem i kolorem.

secondaryButton

object (Button)

Drugi przycisk w nieruchomym stopce. Przycisk musi być tekstowym przyciskiem z tekstem i kolorem. Jeśli ustawiona jest wartość secondaryButton, musisz też ustawić primaryButton.

DisplayStyle

W Dodatkach do Google Workspace określa sposób wyświetlania karty.

Dostępne dla dodatków Google Workspace i niedostępne dla aplikacji Google Chat.

Wartości w polu enum
DISPLAY_STYLE_UNSPECIFIED Nie używaj. Nie określono.
PEEK Nagłówek karty pojawia się u dołu paska bocznego, częściowo zakrywając kartę znajdującą się na szczycie stosu. Kliknięcie nagłówka powoduje dodanie karty do grupy kart. Jeśli karta nie ma nagłówka, zamiast niego używany jest wygenerowany nagłówek.
REPLACE Wartość domyślna. Karta jest wyświetlana, zastępując widok górnej karty w stosie kart.