Infokarte
Eine Kartenoberfläche, die in einer Google Chat-Nachricht oder einem Google Workspace-Add-on angezeigt wird.
Karten unterstützen ein definiertes Layout, interaktive UI-Elemente wie Schaltflächen und Rich Media wie Bilder. Verwenden Sie Karten, um detaillierte Informationen zu präsentieren, Informationen von Nutzenden zu erfassen und Nutzer zu einem nächsten Schritt zu führen.
Informationen zum Erstellen von Karten finden Sie in der folgenden Dokumentation:
- Weitere Informationen zu Google Chat-Apps finden Sie unter Dynamische, interaktive und einheitliche Benutzeroberflächen mit Karten entwerfen.
- Informationen zu Add-ons für Google Workspace finden Sie unter Kartenbasierte Schnittstellen.
Beispiel: Kartennachricht für eine Google Chat-App
Verwenden Sie die folgende JSON, um die Beispielkartennachricht in Google Chat zu erstellen:
{
"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",
}
],
}
}
},
],
}
},
],
},
],
},
}
],
}
JSON-Darstellung |
---|
{ "header": { object ( |
Felder | |
---|---|
header
|
Die Überschrift der Karte. Eine Kopfzeile enthält normalerweise ein vorangestelltes Bild und einen Titel. Überschriften werden immer oben auf einer Karte angezeigt. |
sections[]
|
Enthält eine Sammlung von Widgets. Jeder Bereich hat eine eigene optionale Überschrift. Die einzelnen Abschnitte sind durch eine Trennlinie voneinander getrennt. Ein Beispiel in Google Chat-Apps findest du im Abschnitt „Karten“. |
sectionDividerStyle
|
Der Trennungsstil zwischen Abschnitten. |
cardActions[]
|
Die Aktionen der Karte. Aktionen werden dem Symbolleistenmenü der Karte hinzugefügt.
Da Chat-App-Karten keine Symbolleiste haben, wird
Mit der folgenden JSON-Datei wird beispielsweise ein Kartenaktionsmenü mit den Optionen
|
name
|
Name der Karte Wird bei der Kartennavigation als Karten-ID verwendet. Da Chat-Apps keine Kartennavigation unterstützen, wird dieses Feld ignoriert. |
fixedFooter
|
Die feste Fußzeile, die unten auf dieser Karte angezeigt wird.
Wenn Sie Unterstützt von Google Workspace-Add-ons und Chat-Apps. Für Chat-Apps können Sie feste Fußzeilen in Dialogfeldern verwenden, aber keine Kartennachrichten. |
displayStyle
|
In Google Workspace-Add-ons werden die Anzeigeeigenschaften von Wird von Chat-Apps nicht unterstützt. |
peekCardHeader
|
Bei der Anzeige von kontextbezogenen Inhalten fungiert die Peek-Kartenüberschrift als Platzhalter, sodass der Nutzer vorwärts zwischen den Startseitenkarten und den Kontextkarten navigieren kann. Wird von Chat-Apps nicht unterstützt. |
CardHeader
Stellt eine Kartenüberschrift dar. Ein Beispiel in Google Chat-Apps finden Sie unter Kartenüberschrift.
JSON-Darstellung |
---|
{
"title": string,
"subtitle": string,
"imageType": enum (
|
Felder | |
---|---|
title
|
Erforderlich. Der Titel der Kartenüberschrift. Die Kopfzeile hat eine feste Höhe: Wenn sowohl ein Titel als auch ein Untertitel angegeben sind, wird jeweils eine Zeile eingenommen. Wenn nur der Titel angegeben ist, nimmt er beide Zeilen in Anspruch. |
subtitle
|
Der Untertitel der Kartenüberschrift. Falls angegeben, wird es in einer eigenen Zeile unter |
imageType
|
Die Form, die zum Zuschneiden des Bildes verwendet wird. |
imageUrl
|
Die HTTPS-URL des Bildes im Kartenheader. |
imageAltText
|
Der alternative Text dieses Bildes, der für die Barrierefreiheit verwendet wird. |
Image-Typ
Die Form, die zum Zuschneiden des Bildes verwendet wird.
Enums | |
---|---|
SQUARE
|
Standardwert. Wendet eine quadratische Maske auf das Bild an. Ein Bild mit den Maßen 4 x 3 wird beispielsweise zu 3 x 3. |
CIRCLE
|
Wendet eine kreisförmige Maske auf das Bild an. Ein Bild mit den Maßen 4 x 3 wird beispielsweise zu einem Kreis mit einem Durchmesser von 3. |
Abschnitt
Ein Abschnitt enthält eine Sammlung von Widgets, die vertikal in der angegebenen Reihenfolge gerendert werden.
JSON-Darstellung |
---|
{
"header": string,
"widgets": [
{
object (
|
Felder | |
---|---|
header
|
Text, der oben in einem Abschnitt angezeigt wird. Unterstützt einfachen HTML-formatierten Text. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Anwendungen formatieren und Text in Google Workspace-Add-ons formatieren. |
widgets[]
|
Alle Widgets in diesem Bereich. Muss mindestens ein Widget enthalten. |
collapsible
|
Gibt an, ob dieser Abschnitt minimierbar ist. Minimierbare Bereiche blenden einige oder alle Widgets aus. Nutzer können den Bereich jedoch maximieren, um ausgeblendete Widgets einzublenden, indem sie auf Mehr anzeigen klicken. Nutzer können die Widgets wieder ausblenden, indem sie auf Weniger anzeigen klicken.
Wenn Sie ermitteln möchten, welche Widgets ausgeblendet sind, geben Sie |
uncollapsibleWidgetsCount
|
Die Anzahl der nicht minimierbaren Widgets, die auch dann sichtbar bleiben, wenn ein Abschnitt minimiert ist.
Wenn ein Abschnitt beispielsweise fünf Widgets enthält und |
Widget
Jede Karte besteht aus Widgets.
Ein Widget ist ein zusammengesetztes Objekt, das Text, Bilder, Schaltflächen oder andere Objekttypen darstellen kann.
JSON-Darstellung |
---|
{ "horizontalAlignment": enum ( |
Felder | |
---|---|
horizontalAlignment
|
Gibt an, ob Widgets links, rechts oder in der Mitte einer Spalte ausgerichtet werden. |
Union-Feld data . Ein Widget kann nur eines der folgenden Elemente enthalten. Sie können mehrere Widget-Felder verwenden, um mehr Elemente anzuzeigen.
Für data ist nur einer der folgenden Werte zulässig:
|
|
textParagraph
|
Zeigt einen Textabsatz an. Unterstützt einfachen HTML-formatierten Text. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Anwendungen formatieren und Text in Google Workspace-Add-ons formatieren. Mit der folgenden JSON-Datei wird beispielsweise ein fett formatierter Text erstellt:
|
image
|
Zeigt ein Bild an. Mit dem folgenden JSON-Code wird beispielsweise ein Bild mit alternativem Text erstellt:
|
decoratedText
|
Zeigt ein dekoriertes Textelement an. Mit dem folgenden JSON-Code wird beispielsweise ein Widget mit dekoriertem Text erstellt, das die E-Mail-Adresse anzeigt:
|
buttonList
|
Eine Liste mit Schaltflächen. Mit der folgenden JSON-Datei werden beispielsweise zwei Schaltflächen erstellt. Die erste ist eine blaue Textschaltfläche und die zweite ist eine Bildschaltfläche, über die ein Link geöffnet wird:
|
textInput
|
Zeigt ein Textfeld an, in das Nutzer Text eingeben können. Mit der folgenden JSON-Datei wird beispielsweise eine Texteingabe für eine E-Mail-Adresse erstellt:
Als weiteres Beispiel wird mit dem folgenden JSON-Code eine Texteingabe für eine Programmiersprache mit statischen Vorschlägen erstellt:
|
selectionInput
|
Zeigt ein Auswahlsteuerelement an, mit dem Nutzer Elemente auswählen können. Auswahlsteuerelemente können Kontrollkästchen, Optionsfelder, Schalter oder Drop-down-Menüs sein. Mit der folgenden JSON-Datei wird beispielsweise ein Drop-down-Menü erstellt, in dem Nutzer eine Größe auswählen können:
|
dateTimePicker
|
Zeigt ein Widget an, in das Benutzer ein Datum, eine Uhrzeit oder ein Datum und eine Uhrzeit eingeben können. Mit der folgenden JSON-Datei wird beispielsweise eine Datums- und Zeitauswahl erstellt, um einen Termin zu planen:
|
divider
|
Zeigt eine horizontale Trennlinie zwischen Widgets an Mit der folgenden JSON-Datei wird beispielsweise eine Trennlinie erstellt:
|
grid
|
Zeigt ein Raster mit mehreren Elementen an. Ein Raster unterstützt eine beliebige Anzahl von Spalten und Elementen. Die Anzahl der Zeilen wird durch die Obergrenze der Anzahl der Elemente geteilt durch die Anzahl der Spalten bestimmt. Ein Raster mit 10 Elementen und 2 Spalten hat 5 Zeilen. Ein Raster mit 11 Elementen und 2 Spalten hat 6 Zeilen. Mit der folgenden JSON-Datei wird beispielsweise ein zweispaltiges Raster mit einem einzelnen Element erstellt:
|
columns
|
Es können bis zu zwei Spalten angezeigt werden.
Wenn Sie mehr als zwei Spalten einschließen oder Zeilen verwenden möchten, verwenden Sie das Widget Mit der folgenden JSON-Datei werden beispielsweise zwei Spalten erstellt, die jeweils Textabsätze enthalten:
|
TextParagraph
Ein Textabsatz, der Formatierung unterstützt. Ein Beispiel in Google Chat-Apps finden Sie im Textabsatz. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Anwendungen formatieren und Text in Google Workspace-Add-ons formatieren.
JSON-Darstellung |
---|
{ "text": string } |
Felder | |
---|---|
text
|
Der Text, der im Widget angezeigt wird. |
Bild
Ein Bild, das durch eine URL angegeben wird und die Aktion onClick
haben kann. Ein Beispiel finden Sie unter Image.
JSON-Darstellung |
---|
{
"imageUrl": string,
"onClick": {
object (
|
Felder | |
---|---|
imageUrl
|
Die HTTPS-URL, auf der das Image gehostet wird. Beispiel:
|
onClick
|
Wenn ein Nutzer auf das Bild klickt, wird diese Aktion durch den Klick ausgelöst. |
altText
|
Der alternative Text dieses Bildes, der für die Barrierefreiheit verwendet wird. |
Bei Klick
Gibt an, wie zu reagieren ist, wenn Nutzer auf ein interaktives Element auf einer Karte klicken, z. B. eine Schaltfläche.
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld
Für |
|
action
|
Wenn angegeben, wird durch diese |
openLink
|
Wenn angegeben, löst diese |
openDynamicLinkAction
|
Ein Add-on löst diese Aktion aus, wenn durch die Aktion ein Link geöffnet werden muss. Dies unterscheidet sich vom obigen |
card
|
Sofern angegeben, wird nach dem Anklicken eine neue Karte auf den Kartenstapel verschoben. Unterstützt von Google Workspace-Add-ons, aber nicht von Google Chat-Apps. |
Aktion
Eine Aktion, die das Verhalten beim Senden des Formulars beschreibt. Sie können beispielsweise ein Apps Script-Skript aufrufen, um das Formular zu verarbeiten. Wird die Aktion ausgelöst, werden die Formularwerte an den Server gesendet.
JSON-Darstellung |
---|
{ "function": string, "parameters": [ { object ( |
Felder | |
---|---|
function
|
Eine benutzerdefinierte Funktion, die ausgelöst wird, wenn auf das enthaltende Element geklickt oder es anderweitig aktiviert wird. Beispiele für die Verwendung finden Sie unter Interaktive Karten erstellen. |
parameters[]
|
Liste der Aktionsparameter. |
loadIndicator
|
Gibt die Ladeanzeige an, die während des Aufrufs der Aktion eingeblendet wird. |
persistValues
|
Gibt an, ob Formularwerte nach der Aktion erhalten bleiben. Der Standardwert ist
Bei
Bei |
interaction
|
Optional. Erforderlich beim Öffnen eines Dialogfelds. Vorgehensweise als Reaktion auf eine Interaktion mit einem Nutzer, z. B. wenn er auf eine Schaltfläche in einer Kartennachricht klickt
Wenn kein Wert angegeben ist, antwortet die Anwendung wie gewohnt mit einem
Durch Angabe eines Von Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons. Wenn dies für ein Add-on angegeben wird, wird die gesamte Karte entfernt und im Client wird nichts angezeigt. |
Aktionsparameter
Liste der Zeichenfolgenparameter, die beim Aufrufen der Aktionsmethode bereitzustellen sind. Stellen Sie sich zum Beispiel drei Schlummertasten vor: „Jetzt schlummern“, „An einem Tag schlummern“ oder „Nächste Woche schlummern“. Sie können action method = snooze()
verwenden und den Schlummertyp und die Schlummerzeit in der Liste der Stringparameter übergeben.
Weitere Informationen finden Sie unter CommonEventObject
.
JSON-Darstellung |
---|
{ "key": string, "value": string } |
Felder | |
---|---|
key
|
Der Name des Parameters für das Aktionsskript. |
value
|
Wert des Parameters. |
Ladeanzeige
Gibt die Ladeanzeige an, die während des Aufrufs der Aktion eingeblendet wird.
Enums | |
---|---|
SPINNER
|
Ein rotierendes Ladesymbol zeigt an, dass Inhalte geladen werden. |
NONE
|
Es wird nichts angezeigt. |
Interaktion
Optional. Erforderlich beim Öffnen eines Dialogfelds.
Vorgehensweise als Reaktion auf eine Interaktion mit einem Nutzer, z. B. wenn er auf eine Schaltfläche in einer Kartennachricht klickt
Wenn kein Wert angegeben ist, antwortet die Anwendung wie gewohnt mit einem action
, z. B. Öffnen eines Links oder Ausführen einer Funktion.
Durch Angabe eines interaction
kann die App auf spezielle interaktive Weise reagieren. Wenn Sie beispielsweise interaction
auf OPEN_DIALOG
setzen, kann in der Anwendung ein Dialogfeld geöffnet werden.
Wenn angegeben, wird kein Ladeindikator angezeigt.
Von Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons. Wenn dies für ein Add-on angegeben wird, wird die gesamte Karte entfernt und im Client wird nichts angezeigt.
Enums | |
---|---|
INTERACTION_UNSPECIFIED
|
Standardwert. action wird wie gewohnt ausgeführt.
|
OPEN_DIALOG
|
Öffnet ein Dialogfeld, eine kartenbasierte Oberfläche mit Fenster, über die Chat-Apps mit Nutzern interagieren. Wird nur von Chat-Apps als Reaktion auf Schaltflächenklicks auf Kartennachrichten unterstützt. Wird von Google Workspace-Add-ons nicht unterstützt. Wenn dies für ein Add-on angegeben wird, wird die gesamte Karte entfernt und im Client wird nichts angezeigt. |
OpenLink
Stellt ein onClick
-Ereignis dar, mit dem ein Hyperlink geöffnet wird.
JSON-Darstellung |
---|
{ "url": string, "openAs": enum ( |
Felder | |
---|---|
url
|
Die zu öffnende URL. |
openAs
|
So öffnen Sie einen Link: Wird von Chat-Apps nicht unterstützt. |
onClose
|
Gibt an, ob der Client einen Link nach dem Öffnen vergisst oder bis zum Schließen des Fensters beobachtet. Wird von Chat-Apps nicht unterstützt. |
OpenAs
Wenn durch eine OnClick
-Aktion ein Link geöffnet wird, kann der Client ihn entweder als Fenster in voller Größe (wenn dies der vom Client verwendete Frame ist) oder als Overlay (z. B. ein Pop-up) öffnen. Die Implementierung hängt von den Funktionen der Clientplattform ab. Der ausgewählte Wert wird möglicherweise ignoriert, wenn der Client ihn nicht unterstützt.
FULL_SIZE
wird von allen Clients unterstützt.
Unterstützt von Google Workspace-Add-ons, aber nicht von Google Chat-Apps.
Enums | |
---|---|
FULL_SIZE
|
Der Link wird in voller Größe geöffnet (wenn dieser Frame vom Client verwendet wird). |
OVERLAY
|
Der Link wird als Overlay geöffnet, beispielsweise als Pop-up. |
Beinahe
Was der Client tut, wenn ein Link, der durch eine OnClick
-Aktion geöffnet wird, geschlossen wird.
Die Implementierung hängt von den Funktionen der Clientplattform ab. Ein Webbrowser kann beispielsweise einen Link in einem Pop-up-Fenster mit einem OnClose
-Handler öffnen.
Wenn sowohl der Handler OnOpen
als auch der OnClose
festgelegt sind und die Clientplattform nicht beide Werte unterstützt, hat OnClose
Vorrang.
Unterstützt von Google Workspace-Add-ons, aber nicht von Google Chat-Apps.
Enums | |
---|---|
NOTHING
|
Standardwert. Die Karte wird nicht neu geladen und es passiert nichts. |
RELOAD
|
Die Karte wird neu geladen, nachdem das untergeordnete Fenster geschlossen wurde.
Bei Verwendung in Verbindung mit |
Verzierter Text
Ein Widget, das Text mit optionalen Elementen anzeigt, z. B. einer Beschriftung über oder unter dem Text, einem Symbol vor dem Text, einem Auswahl-Widget oder einer Schaltfläche nach dem Text. Ein Beispiel in Google Chat-Apps finden Sie unter Verzierter Text.
JSON-Darstellung |
---|
{ "icon": { object ( |
Felder | |
---|---|
icon
|
Zugunsten von |
startIcon
|
Das Symbol vor dem Text |
topLabel
|
Der Text, der über |
text
|
Erforderlich. Der Haupttext. Unterstützt einfache Formatierung. Weitere Informationen zum Formatieren von Text finden Sie unter Text in Google Chat-Anwendungen formatieren und Text in Google Workspace-Add-ons formatieren. |
wrapText
|
Die Einstellung für den Zeilenumbruch. Bei
Gilt nur für |
bottomLabel
|
Der Text, der unter |
onClick
|
Diese Aktion wird ausgelöst, wenn Nutzer auf |
Union-Feld control . Eine Schaltfläche, ein Schalter, ein Kästchen oder ein Bild, das im decoratedText -Widget rechts neben dem Text angezeigt wird.
Für control ist nur einer der folgenden Werte zulässig:
|
|
button
|
Eine Schaltfläche, auf die ein Nutzer klicken kann, um eine Aktion auszulösen. |
switchControl
|
Ein Schalter-Widget, auf das ein Nutzer klicken kann, um seinen Status zu ändern und eine Aktion auszulösen. |
endIcon
|
Ein Symbol, das nach dem Text angezeigt wird. Unterstützt integrierte und benutzerdefinierte Symbole. |
Icon
Ein Symbol, das in einem Widget auf einer Karte angezeigt wird. Ein Beispiel in Google Chat-Apps finden Sie unter Symbol.
Unterstützt integrierte und benutzerdefinierte Symbole.
JSON-Darstellung |
---|
{ "altText": string, "imageType": enum ( |
Felder | |
---|---|
altText
|
Optional. Eine Beschreibung des Symbols, die für die Barrierefreiheit verwendet wird. Wenn kein Wert angegeben ist, wird der Standardwert
Wenn das Symbol in einem |
imageType
|
Der Zuschneidestil, der auf das Bild angewendet wird. In einigen Fällen führt ein |
Union-Feld icons . Das Symbol, das im Widget auf der Karte angezeigt wird.
Für icons ist nur einer der folgenden Werte zulässig:
|
|
knownIcon
|
Zeigen Sie eines der integrierten Symbole von Google Workspace an.
Wenn beispielsweise ein Flugzeugsymbol angezeigt werden soll, geben Sie Eine vollständige Liste der unterstützten Symbole finden Sie unter Integrierte Symbole. |
iconUrl
|
Benutzerdefiniertes Symbol anzeigen, das unter einer HTTPS-URL gehostet wird Beispiel:
Unterstützte Dateitypen sind |
Schaltfläche
Ein Text, ein Symbol oder eine Text- und Symbolschaltfläche, auf die die Nutzenden klicken können. Ein Beispiel in Google Chat-Apps finden Sie unter Schaltflächenliste.
Wenn Sie ein Bild als anklickbare Schaltfläche festlegen möchten, geben Sie
(nicht Image
) an und legen Sie die Aktion ImageComponent
onClick
fest.
JSON-Darstellung |
---|
{ "text": string, "icon": { object ( |
Felder | |
---|---|
text
|
Der Text, der in der Schaltfläche angezeigt wird. |
icon
|
Das Symbolbild. Wenn sowohl |
color
|
Wenn diese Option aktiviert ist, wird die Schaltfläche mit einer einfarbigen Hintergrundfarbe gefüllt und die Schriftfarbe ändert sich, um den Kontrast zur Hintergrundfarbe aufrechtzuerhalten. Wenn Sie beispielsweise einen blauen Hintergrund festlegen, wird wahrscheinlich weißer Text angezeigt. Wenn die Richtlinie nicht konfiguriert ist, ist der Bildhintergrund weiß und die Schriftfarbe Blau.
Bei Rot, Grün und Blau ist der Wert jedes Feldes eine
Legen Sie optional
Für Die folgende Farbe stellt beispielsweise ein halbtransparentes Rot dar:
|
onClick
|
Erforderlich. Die Aktion, die ausgeführt werden soll, wenn ein Nutzer auf die Schaltfläche klickt, wie z. B. das Öffnen eines Hyperlinks oder das Ausführen einer benutzerdefinierten Funktion. |
disabled
|
Bei |
altText
|
Der alternative Text, der für die Barrierefreiheit verwendet wird. Legen Sie einen beschreibenden Text fest, der die Nutzenden über die Funktion der Schaltfläche informiert. Wenn beispielsweise über eine Schaltfläche ein Hyperlink geöffnet wird, können Sie Folgendes schreiben: „Öffnet einen neuen Browsertab und navigiert zur Google Chat-Entwicklerdokumentation unter https://developers.google.com/chat. |
Farbe
Ermöglicht die Darstellung einer Farbe im RGBA-Farbraum. Diese Darstellung ist auf eine einfachere Konvertierung in und aus Farbdarstellungen in verschiedenen Sprachen statt auf Kompaktheit ausgelegt. Die Felder dieser Darstellung können beispielsweise dem Konstruktor von java.awt.Color
in Java einfach zur Verfügung gestellt werden. Sie können auch problemlos an die Methode +colorWithRed:green:blue:alpha
von UIColor in iOS übergeben werden. Mit ein wenig Arbeit können sie in JavaScript als CSS-rgba()
-String formatiert werden.
Diese Referenzseite enthält keine Informationen zum absoluten Farbraum, der zur Interpretation des RGB-Werts verwendet werden sollte, z. B. sRGB, Adobe RGB, DCI-P3 und BT.2020. Standardmäßig sollte für Anwendungen der sRGB-Farbraum verwendet werden.
Wenn eine Farbgleichheit entschieden werden muss, behandeln Implementierungen, sofern nicht anders angegeben, zwei Farben als gleich, wenn sich alle ihre Rot-, Grün-, Blau- und Alpha-Werte jeweils um höchstens 1e-5
unterscheiden.
Beispiel (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();
}
// ...
Beispiel (iOS/Obj-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;
}
// ...
Beispiel (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('');
};
// ...
JSON-Darstellung |
---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
Felder | |
---|---|
red
|
Der Rotanteil der Farbe als Wert im Intervall [0, 1]. |
green
|
Der Grünanteil der Farbe als Wert im Intervall [0, 1]. |
blue
|
Der Blauanteil der Farbe als Wert im Intervall [0, 1]. |
alpha
|
Der Anteil dieser Farbe, der auf den Pixel angewendet werden soll. Die endgültige Pixelfarbe wird durch folgende Gleichung definiert:
Der Wert 1,0 entspricht einer soliden Farbdarstellung, während die Farbe bei einem Wert von 0,0 vollständig transparent ist. Dabei wird anstelle eines einfachen Float-Skalarwerts eine Wrapper-Nachricht verwendet, sodass zwischen einem Standardwert und dem zurückgesetzten Wert unterschieden werden kann. Wenn dieses Farbobjekt nicht angegeben wird, wird es als Vollton dargestellt, als ob dem Alpha-Wert explizit der Wert 1,0 gegeben worden wäre. |
SwitchControl
Entweder ein Ein-/Aus-Schalter oder ein Kästchen in einem decoratedText
-Widget.
Wird nur im decoratedText
-Widget unterstützt.
JSON-Darstellung |
---|
{ "name": string, "value": string, "selected": boolean, "onChangeAction": { object ( |
Felder | |
---|---|
name
|
Der Name, durch den das Schalter-Widget in einem Formulareingabeereignis identifiziert wird. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen. |
value
|
Der von einem Nutzer eingegebene Wert, der als Teil eines Formulareingabeereignisses zurückgegeben wird. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen. |
selected
|
Wenn |
onChangeAction
|
Die auszuführende Aktion, wenn sich der Schalterstatus ändert, z. B. die auszuführende Funktion. |
controlType
|
Wie der Schalter in der Benutzeroberfläche angezeigt wird |
Steuerelementtyp
Wie der Schalter in der Benutzeroberfläche angezeigt wird
Enums | |
---|---|
SWITCH
|
Ein Umschalter. |
CHECKBOX
|
Zugunsten von CHECK_BOX verworfen.
|
CHECK_BOX
|
Ein Kästchen. |
Schaltflächenliste
Eine Liste horizontal angeordneter Schaltflächen. Ein Beispiel in Google Chat-Apps finden Sie unter Schaltflächenliste.
JSON-Darstellung |
---|
{
"buttons": [
{
object (
|
Felder | |
---|---|
buttons[]
|
Ein Array mit Schaltflächen. |
TextInput
Ein Feld, in das Benutzer Text eingeben können. Unterstützt Vorschläge und Aktionen bei Änderung. Ein Beispiel in Google Chat-Apps finden Sie unter Texteingabe.
Chat-Apps empfangen den Wert des eingegebenen Textes und können ihn während der Eingabe im Formular verarbeiten. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.
Wenn Sie undefinierte oder abstrakte Daten von Nutzern erfassen müssen, verwenden Sie eine Texteingabe. Verwenden Sie das SelectionInput
-Widget, um definierte oder Aufzählungsdaten von Nutzern zu erfassen.
JSON-Darstellung |
---|
{ "name": string, "label": string, "hintText": string, "value": string, "type": enum ( |
Felder | |
---|---|
name
|
Der Name, anhand dessen die Texteingabe in einem Formulareingabeereignis identifiziert wird. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen. |
label
|
Der Text, der in der Benutzeroberfläche über dem Texteingabefeld angezeigt wird.
Geben Sie Text an, mit dem der Nutzer die Informationen eingeben kann, die Ihre App benötigt. Wenn Sie beispielsweise nach dem Namen einer Person fragen, aber ausdrücklich nach ihrem Nachnamen suchen, schreiben Sie
Erforderlich, wenn |
hintText
|
Text, der unterhalb des Texteingabefelds erscheint und Nutzende zur Eingabe eines bestimmten Werts auffordert. Dieser Text ist immer sichtbar.
Erforderlich, wenn |
value
|
Der von einem Nutzer eingegebene Wert, der als Teil eines Formulareingabeereignisses zurückgegeben wird. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen. |
type
|
Wie ein Texteingabefeld in der Benutzeroberfläche angezeigt wird. Geben Sie beispielsweise an, ob das Feld einzeilig oder mehrzeilig ist. |
onChangeAction
|
Vorgehensweise bei einer Änderung im Texteingabefeld Das kann beispielsweise der Fall sein, wenn ein Nutzer etwas in ein Feld einfügt oder Text löscht. Beispiele für Aktionen sind das Ausführen einer benutzerdefinierten Funktion oder das Öffnen eines Dialogfelds in Google Chat. |
initialSuggestions
|
Vorgeschlagene Werte, die Nutzer eingeben können. Diese Werte werden angezeigt, wenn Benutzer in das Texteingabefeld klicken. Während der Eingabe werden die vorgeschlagenen Werte dynamisch gefiltert, damit sie dem entsprechen, was sie eingegeben haben.
Ein Texteingabefeld für eine Programmiersprache kann beispielsweise Java, JavaScript, Python und C++ vorschlagen. Wenn Nutzer beginnen,
Vorgeschlagene Werte helfen Nutzern dabei, Werte einzugeben, die Ihre App verständlich ist. Wenn von JavaScript verwiesen wird, geben einige Nutzer möglicherweise
Wenn angegeben, ist |
autoCompleteAction
|
Optional. Geben Sie an, welche Aktion ausgeführt werden soll, wenn das Texteingabefeld Nutzern Vorschläge macht, die damit interagieren.
Wenn nicht angegeben, werden die Vorschläge von Wenn angegeben, führt die App die hier angegebene Aktion aus, z. B. das Ausführen einer benutzerdefinierten Funktion. Unterstützt von Google Workspace-Add-ons, aber nicht von Google Chat-Apps. |
placeholderText
|
Text, der im Texteingabefeld erscheint, wenn das Feld leer ist. Verwenden Sie diesen Text, um Nutzende zur Eingabe eines Werts aufzufordern. Beispiel: Von Google Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons. |
Typ
Wie ein Texteingabefeld in der Benutzeroberfläche angezeigt wird. Geben Sie beispielsweise an, ob es sich um ein ein- oder mehrzeiliges Eingabefeld handelt.
Wenn initialSuggestions
angegeben ist, ist type
immer SINGLE_LINE
, auch wenn MULTIPLE_LINE
festgelegt ist.
Enums | |
---|---|
SINGLE_LINE
|
Das Texteingabefeld hat eine feste Höhe von einer Zeile. |
MULTIPLE_LINE
|
Das Texteingabefeld hat eine feste Höhe von mehreren Zeilen. |
Vorschläge
Vorgeschlagene Werte, die Nutzer eingeben können. Diese Werte werden angezeigt, wenn Benutzer in das Texteingabefeld klicken. Während der Eingabe werden die vorgeschlagenen Werte dynamisch gefiltert, damit sie dem entsprechen, was sie eingegeben haben.
Ein Texteingabefeld für eine Programmiersprache kann beispielsweise Java, JavaScript, Python und C++ vorschlagen. Wenn Nutzer beginnen, Jav
einzugeben, wird die Liste der Vorschläge gefiltert, um Java
und JavaScript
anzuzeigen.
Vorgeschlagene Werte helfen Nutzern dabei, Werte einzugeben, die Ihre App verständlich ist. Wenn von JavaScript verwiesen wird, geben einige Nutzer möglicherweise javascript
und andere java script
ein. Durch den Vorschlag von JavaScript
kann die Interaktion von Nutzern mit deiner App standardisiert werden.
Wenn angegeben, ist TextInput.type
immer SINGLE_LINE
, auch wenn es auf MULTIPLE_LINE
gesetzt ist.
JSON-Darstellung |
---|
{
"items": [
{
object (
|
Felder | |
---|---|
items[]
|
Eine Liste von Vorschlägen, die für automatisch vervollständigte Empfehlungen in Texteingabefeldern verwendet werden. |
Vorschlagselement
Ein vorgeschlagener Wert, den Benutzer in ein Texteingabefeld eingeben können.
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld
Für |
|
text
|
Der Wert einer vorgeschlagenen Eingabe für ein Texteingabefeld. Dies entspricht den Daten, die Nutzer selbst eingeben. |
Auswahleingabe
Ein Widget, das ein oder mehrere UI-Elemente erstellt, die Benutzer auswählen können. Zum Beispiel ein Drop-down-Menü oder Kästchen. Sie können dieses Widget zum Erfassen von Daten verwenden, die vorhergesagt oder aufgezählt werden können. Ein Beispiel in Google Chat-Apps finden Sie unter Auswahleingabe.
Chat-Apps können den Wert von Elementen verarbeiten, die Nutzer auswählen oder eingeben. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen.
Verwenden Sie das TextInput
-Widget, um nicht definierte oder abstrakte Daten von Nutzern zu erfassen.
JSON-Darstellung |
---|
{ "name": string, "label": string, "type": enum ( |
Felder | |
---|---|
name
|
Der Name, der die Auswahleingabe in einem Formulareingabeereignis identifiziert. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen. |
label
|
Der Text, der in der Benutzeroberfläche über dem Eingabefeld für die Auswahl angezeigt wird. Geben Sie Text an, mit dem der Nutzer die Informationen eingeben kann, die Ihre App benötigt. Wenn Nutzer beispielsweise die Dringlichkeit eines Arbeitstickets aus einem Drop-down-Menü auswählen, kann das Label „Dringlichkeit“ oder „Dringlichkeit auswählen“ lauten. |
type
|
Der Elementtyp, der Nutzern in einem |
items[]
|
Ein Array aus auswählbaren Elementen. Beispiel: ein Array mit Optionsfeldern oder Kontrollkästchen. Unterstützt bis zu 100 Artikel. |
onChangeAction
|
Wenn angegeben, wird das Formular gesendet, wenn sich die Auswahl ändert. Falls nicht angegeben, müssen Sie eine separate Schaltfläche angeben, über die das Formular gesendet wird. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen. |
multiSelectMaxSelectedItems
|
Bei Mehrfachauswahl-Menüs ist dies die maximale Anzahl von Elementen, die ein Nutzer auswählen kann. Der Mindestwert beträgt 1 Element. Wenn nicht angegeben, legen Sie 3 Elemente fest.
|
multiSelectMinQueryLength
|
Bei Mehrfachauswahl-Menüs die Anzahl der Textzeichen, die ein Nutzer eingibt, bevor die Chat-App Abfragen ausführt und vorgeschlagene Elemente auf der Karte angezeigt werden. Wenn Sie nichts angeben, legen Sie für statische Datenquellen 0 Zeichen und für externe Datenquellen 3 Zeichen fest.
|
Union-Feld multi_select_data_source . Nur Chat-Apps Bei einem Menü mit Mehrfachauswahl ist es der Typ der Datenquelle.
Für multi_select_data_source ist nur einer der folgenden Werte zulässig:
|
|
externalDataSource
|
Eine externe Datenquelle, z. B. eine relationale Datenbank.
|
platformDataSource
|
Eine Datenquelle aus einer Google Workspace-Hostanwendung.
|
Auswahltyp
Das Format für die Elemente, die Nutzer auswählen können. Verschiedene Optionen unterstützen unterschiedliche Arten von Interaktionen. Nutzer können beispielsweise mehrere Kästchen auswählen, aber nur ein Element aus einem Drop-down-Menü auswählen.
Jede Auswahleingabe unterstützt einen Auswahltyp. Eine Kombination von Kästchen und Schaltern ist beispielsweise nicht möglich.
Enums | |
---|---|
CHECK_BOX
|
Eine Reihe von Kästchen. Nutzer können ein oder mehrere Kästchen auswählen. |
RADIO_BUTTON
|
Eine Reihe von Optionsfeldern Nutzer können ein Optionsfeld auswählen. |
SWITCH
|
Eine Reihe von Schaltern. Nutzer können einen oder mehrere Schalter aktivieren. |
DROPDOWN
|
Ein Drop-down-Menü. Nutzer können einen Eintrag aus dem Menü auswählen. |
MULTI_SELECT
|
Von Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons. Ein Mehrfachauswahl-Menü für statische oder dynamische Daten. In der Menüleiste können Nutzer ein oder mehrere Elemente auswählen. Benutzer können auch Werte eingeben, um dynamische Daten auszufüllen. Nutzer können beispielsweise mit der Eingabe des Namens eines Gruppenbereichs in Google Chat beginnen und das Widget schlägt automatisch den Gruppenbereich vor. Wenn Sie Elemente für ein Mehrfachauswahl-Menü ausfüllen möchten, können Sie eine der folgenden Arten von Datenquellen verwenden:
Beispiele für die Implementierung von Mehrfachauswahl-Menüs finden Sie auf der
|
Auswahlelement
Ein Element, das Nutzer in einer Auswahleingabe auswählen können, z. B. ein Kästchen oder einen Schalter.
JSON-Darstellung |
---|
{ "text": string, "value": string, "selected": boolean, "startIconUri": string, "bottomText": string } |
Felder | |
---|---|
text
|
Der Text, der den Artikel für Nutzende identifiziert oder beschreibt. |
value
|
Der mit diesem Element verknüpfte Wert. Der Client sollte diesen Wert als Formulareingabewert verwenden. Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen. |
selected
|
Gibt an, ob das Element standardmäßig ausgewählt ist. Wenn die Auswahleingabe nur einen Wert akzeptiert (z. B. für Optionsfelder oder ein Dropdown-Menü), legen Sie dieses Feld nur für ein Element fest. |
startIconUri
|
Bei Mehrfachauswahl-Menüs die URL für das Symbol, das neben dem Feld
|
bottomText
|
Bei Mehrfachauswahl-Menüs eine Textbeschreibung oder ein Label, die bzw. das unter dem Feld
|
Plattform-Datenquelle
Nur Chat-Apps Bei einem
-Widget, das ein Mehrfachauswahlmenü verwendet, die Daten aus einer Google Workspace-Hostanwendung. Dient zum Ausfüllen der Elemente im Mehrfachauswahl-Menü.
SelectionInput
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld data_source . Die Datenquelle.
Für data_source ist nur einer der folgenden Werte zulässig:
|
|
commonDataSource
|
Für ein
|
hostAppDataSource
|
Eine Datenquelle, die nur für eine Google Workspace-Hostanwendung gilt, z. B. Gmail-E-Mails, Google Kalender-Termine oder Google Chat-Nachrichten.
|
CommonDataSource
Nur Chat-Apps Eine Datenquelle, die von allen Google Workspace-Hostanwendungen gemeinsam genutzt wird.
Enums | |
---|---|
UNKNOWN
|
Standardwert. Nicht verwenden. |
USER
|
Eine Liste der Nutzer, die von der Google Workspace-Hostanwendung bereitgestellt werden. Wenn Sie beispielsweise Nutzer aus Google Chat als Quelle angeben möchten, verwenden Sie den Ressourcennamen des Nutzers. Format: Nutzer/{Nutzer}
|
HostAppDataSourceMarkup
Nur Chat-Apps Bei einem
-Widget, das ein Mehrfachauswahlmenü verwendet, eine Datenquelle aus einer Google Workspace-Hostanwendung.
SelectionInput
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld data_source . Die Google Workspace-Anwendung, die Daten für ein Menü mit Mehrfachauswahl bezieht.
Für data_source ist nur einer der folgenden Werte zulässig:
|
|
chatDataSource
|
Die Datenquelle ist Google Chat.
|
ChatClientDataSourceMarkup
Nur Chat-Apps Für ein
-Widget, das ein Mehrfachauswahlmenü verwendet, eine Datenquelle aus Google Chat. Das kann z. B. eine Liste von Gruppenbereichen in Google Chat sein, in denen der Nutzer Mitglied ist.
SelectionInput
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld source . Die Google Chat-Datenquelle.
Für source ist nur einer der folgenden Werte zulässig:
|
|
spaceDataSource
|
Eine Datenquelle, die einen Google Chat-Bereich darstellt. Format: Leerzeichen/{Leerzeichen}
|
SpaceDataSource
Eine Datenquelle, die einen Google Chat-Bereich darstellt.
Format: Leerzeichen/{Leerzeichen}
JSON-Darstellung |
---|
{ "defaultToCurrentSpace": boolean } |
Felder | |
---|---|
defaultToCurrentSpace
|
Bei
|
Datum/Uhrzeit-Auswahl
Damit können Nutzer ein Datum, eine Uhrzeit oder sowohl ein Datum als auch eine Uhrzeit eingeben. Ein Beispiel in Google Chat-Apps finden Sie unter Datum/Uhrzeit-Auswahl.
Benutzer können Text eingeben oder über die Auswahl Datum und Uhrzeit auswählen. Wenn Nutzer ein ungültiges Datum oder eine ungültige Uhrzeit eingeben, wird in der Auswahl ein Fehler angezeigt, der den Nutzer auffordert, die Informationen korrekt einzugeben.
JSON-Darstellung |
---|
{ "name": string, "label": string, "type": enum ( |
Felder | |
---|---|
name
|
Der Name, durch den die Weitere Informationen zum Arbeiten mit Formulareingaben finden Sie unter Formulardaten empfangen. |
label
|
Der Text, der Nutzende auffordert, ein Datum, eine Uhrzeit oder ein Datum und eine Uhrzeit einzugeben. Wenn Nutzer beispielsweise einen Termin vereinbaren, verwenden Sie ein Label wie |
type
|
Gibt an, ob das Widget die Eingabe eines Datums, einer Uhrzeit oder des Datums und der Uhrzeit unterstützt. |
valueMsEpoch
|
Der im Widget angezeigte Standardwert in Millisekunden seit der UNIX-Epoche.
Geben Sie den Wert basierend auf dem Auswahltyp (
|
timezoneOffsetDate
|
Die Zahl in Minuten, die den Zeitzonenunterschied zur koordinierten Weltzeit (UTC) angibt. Wenn festgelegt, wird |
onChangeAction
|
Wird ausgelöst, wenn der Nutzer auf der |
Datum/UhrzeitAuswahltyp
Das Format für Datum und Uhrzeit im DateTimePicker
-Widget. Legt fest, ob Nutzer ein Datum, eine Uhrzeit oder sowohl ein Datum als auch eine Uhrzeit eingeben können.
Enums | |
---|---|
DATE_AND_TIME
|
Nutzer geben Datum und Uhrzeit ein. |
DATE_ONLY
|
Nutzer geben ein Datum ein. |
TIME_ONLY
|
Nutzer geben eine Uhrzeit ein. |
Trennlinie
Dieser Typ hat keine Felder.
Trennt Widgets als horizontale Linie. Ein Beispiel in Google Chat-Apps finden Sie unter Fahrbahntrennung.
Mit der folgenden JSON-Datei wird beispielsweise eine Trennlinie erstellt:
"divider": {}
Raster
Zeigt ein Raster mit mehreren Elementen an. Elemente dürfen nur Text oder Bilder enthalten. Verwenden Sie
für responsive Spalten oder um mehr als Text oder Bilder einzufügen. Ein Beispiel in Google Chat-Apps finden Sie unter Raster.
Columns
Ein Raster unterstützt eine beliebige Anzahl von Spalten und Elementen. Die Anzahl der Zeilen wird durch die Anzahl der Elemente geteilt durch die Spalten bestimmt. Ein Raster mit 10 Elementen und 2 Spalten hat 5 Zeilen. Ein Raster mit 11 Elementen und 2 Spalten hat 6 Zeilen.
Mit der folgenden JSON-Datei wird beispielsweise ein zweispaltiges Raster mit einem einzelnen Element erstellt:
"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"
}
}
}
JSON-Darstellung |
---|
{ "title": string, "items": [ { object ( |
Felder | |
---|---|
title
|
Der Text, der in der Rasterüberschrift angezeigt wird. |
items[]
|
Die Elemente, die im Raster angezeigt werden sollen. |
borderStyle
|
Der Rahmenstil, der auf jedes Rasterelement angewendet wird. |
columnCount
|
Die Anzahl der Spalten, die im Raster angezeigt werden. Wenn dieses Feld nicht angegeben ist, wird ein Standardwert verwendet. Er unterscheidet sich je nachdem, wo das Raster angezeigt wird (Dialogfeld oder Companion). |
onClick
|
Dieser Callback wird von jedem einzelnen Rasterelement wiederverwendet, allerdings werden die ID und der Index des Elements aus der Elementliste zu den Callback-Parametern hinzugefügt. |
Gitterposition
Stellt ein Element in einem Rasterlayout dar. Elemente können Text, ein Bild oder sowohl Text als auch ein Bild enthalten.
JSON-Darstellung |
---|
{ "id": string, "image": { object ( |
Felder | |
---|---|
id
|
Eine benutzerdefinierte Kennung für dieses Rasterelement. Diese Kennung wird in den |
image
|
Das Bild, das im Rasterelement angezeigt wird. |
title
|
Der Titel des Rasterelements. |
subtitle
|
Der Untertitel des Rasterelements. |
layout
|
Das Layout, das für das Rasterelement verwendet werden soll. |
ImageComponent
Stellt ein Bild dar.
JSON-Darstellung |
---|
{ "imageUri": string, "altText": string, "cropStyle": { object ( |
Felder | |
---|---|
imageUri
|
Die Bild-URL. |
altText
|
Das Bedienungshilfen-Label für das Bild. |
cropStyle
|
Der Zuschneidestil, der auf das Bild angewendet werden soll. |
borderStyle
|
Der Rahmenstil, der auf das Bild angewendet werden soll. |
BildZuschneiden
Stellt den Zuschneidestil dar, der auf ein Bild angewendet wird.
So wenden Sie beispielsweise ein Seitenverhältnis von 16:9 an:
cropStyle {
"type": "RECTANGLE_CUSTOM",
"aspectRatio": 16/9
}
JSON-Darstellung |
---|
{
"type": enum (
|
Felder | |
---|---|
type
|
Der Zuschnitttyp. |
aspectRatio
|
Das Seitenverhältnis, das verwendet werden soll, wenn der Zuschnitttyp So wenden Sie beispielsweise ein Seitenverhältnis von 16:9 an:
|
Bildzuschnitttyp
Stellt den Zuschneidestil dar, der auf ein Bild angewendet wird.
Enums | |
---|---|
IMAGE_CROP_TYPE_UNSPECIFIED
|
Nicht verwenden. Nicht angegeben |
SQUARE
|
Standardwert. Wendet einen quadratischen Ausschnitt an. |
CIRCLE
|
Wendet einen kreisförmigen Zuschnitt an. |
RECTANGLE_CUSTOM
|
Wendet einen rechteckigen Zuschnitt mit einem benutzerdefinierten Seitenverhältnis an. Legen Sie das benutzerdefinierte Seitenverhältnis mit aspectRatio fest.
|
RECTANGLE_4_3
|
Wendet einen rechteckigen Ausschnitt mit einem Seitenverhältnis von 4:3 an. |
Rahmenstil
Die Stiloptionen für den Rahmen einer Karte oder eines Widgets, einschließlich Rahmentyp und -farbe.
JSON-Darstellung |
---|
{ "type": enum ( |
Felder | |
---|---|
type
|
Der Rahmentyp. |
strokeColor
|
Die zu verwendenden Farben, wenn der Typ |
cornerRadius
|
Der Eckenradius für die Rahmenlinie. |
Rahmentyp
Stellt die Rahmentypen dar, die auf Widgets angewendet werden.
Enums | |
---|---|
BORDER_TYPE_UNSPECIFIED
|
Nicht verwenden. Nicht angegeben |
NO_BORDER
|
Standardwert. Kein Rahmen. |
STROKE
|
Umriss |
GridItemLayout
Stellt die verschiedenen Layoutoptionen dar, die für ein Rasterelement verfügbar sind.
Enums | |
---|---|
GRID_ITEM_LAYOUT_UNSPECIFIED
|
Nicht verwenden. Nicht angegeben |
TEXT_BELOW
|
Titel und Untertitel werden unter dem Bild des Rasterelements angezeigt. |
TEXT_ABOVE
|
Titel und Untertitel werden über dem Bild des Rasterelements angezeigt. |
Spalten
Das Columns
-Widget zeigt bis zu zwei Spalten in einer Kartenmeldung oder einem Dialogfeld an. Sie können jeder Spalte Widgets hinzufügen. Die Widgets werden in der angegebenen Reihenfolge angezeigt. Ein Beispiel in Google Chat-Apps finden Sie unter Spalten.
Die Höhe jeder Spalte wird durch die höhere Spalte bestimmt. Wenn beispielsweise die erste Spalte höher als die zweite Spalte ist, haben beide Spalten die Höhe der ersten Spalte. Da jede Spalte eine unterschiedliche Anzahl von Widgets enthalten kann, können Sie keine Zeilen definieren oder Widgets zwischen den Spalten ausrichten.
Spalten werden nebeneinander angezeigt. Mit dem Feld HorizontalSizeStyle
lässt sich die Breite jeder Spalte anpassen. Wenn die Bildschirmbreite des Nutzers zu schmal ist, wird die zweite Spalte umgebrochen unter der ersten:
- Im Web wird die zweite Spalte umgebrochen, wenn die Bildschirmbreite maximal 480 Pixel beträgt.
- Auf iOS-Geräten wird die zweite Spalte umgebrochen, wenn die Bildschirmbreite maximal 300 pt beträgt.
- Auf Android-Geräten wird die zweite Spalte umgebrochen, wenn die Bildschirmbreite maximal 320 dp beträgt.
Wenn Sie mehr als zwei Spalten einschließen oder Zeilen verwenden möchten, verwenden Sie das Widget
.
Grid
Von Chat-Apps unterstützt, aber nicht von Google Workspace-Add-ons.
JSON-Darstellung |
---|
{
"columnItems": [
{
object (
|
Felder | |
---|---|
columnItems[]
|
Ein Array von Spalten. Sie können einer Karte oder einem Dialogfeld bis zu zwei Spalten hinzufügen. |
Säulendiagramm
Eine Spalte.
JSON-Darstellung |
---|
{ "horizontalSizeStyle": enum ( |
Felder | |
---|---|
horizontalSizeStyle
|
Gibt an, wie eine Spalte die Breite der Karte einnimmt. |
horizontalAlignment
|
Gibt an, ob Widgets links, rechts oder in der Mitte einer Spalte ausgerichtet werden. |
verticalAlignment
|
Gibt an, ob Widgets am oberen oder unteren Rand oder in der Mitte einer Spalte ausgerichtet werden. |
widgets[]
|
Ein Array von Widgets, die in einer Spalte enthalten sind. Widgets werden in der angegebenen Reihenfolge angezeigt. |
HorizontalSizeStyle
Gibt an, wie eine Spalte die Breite der Karte einnimmt. Die Breite der einzelnen Spalten hängt sowohl von der HorizontalSizeStyle
als auch von der Breite der Widgets innerhalb der Spalte ab.
Enums | |
---|---|
HORIZONTAL_SIZE_STYLE_UNSPECIFIED
|
Nicht verwenden. Nicht angegeben |
FILL_AVAILABLE_SPACE
|
Standardwert. Die Spalte füllt den verfügbaren Platz aus und nimmt bis zu 70% der Kartenbreite ein. Wenn beide Spalten auf FILL_AVAILABLE_SPACE gesetzt sind, füllt jede Spalte 50% des Bereichs aus.
|
FILL_MINIMUM_SPACE
|
Die Spalte füllt so wenig Platz wie möglich und nicht mehr als 30% der Kartenbreite aus. |
HorizontalAlignment (Horizontale Ausrichtung)
Gibt an, ob Widgets links, rechts oder in der Mitte einer Spalte ausgerichtet werden.
Enums | |
---|---|
HORIZONTAL_ALIGNMENT_UNSPECIFIED
|
Nicht verwenden. Nicht angegeben |
START
|
Standardwert. Richtet Widgets an der Startposition der Spalte aus. Bei rechtsläufigen Layouts wird es linksbündig ausgerichtet. Wird bei linksläufigen Layouts rechtsbündig ausgerichtet. |
CENTER
|
Richtet Widgets an der Mitte der Spalte aus. |
END
|
Richtet Widgets an der Endposition der Spalte aus. Bei rechtsläufigen Layouts werden Widgets rechtsbündig ausgerichtet. Bei linksläufigen Layouts werden Widgets linksbündig ausgerichtet. |
Vertikale Ausrichtung
Gibt an, ob Widgets am oberen oder unteren Rand oder in der Mitte einer Spalte ausgerichtet werden.
Enums | |
---|---|
VERTICAL_ALIGNMENT_UNSPECIFIED
|
Nicht verwenden. Nicht angegeben |
CENTER
|
Standardwert. Richtet Widgets an der Mitte einer Spalte aus. |
TOP
|
Richtet Widgets am oberen Rand einer Spalte aus. |
BOTTOM
|
Richtet Widgets am unteren Rand einer Spalte aus. |
Widgets
Die unterstützten Widgets, die Sie in eine Spalte aufnehmen können.
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld
Für |
|
textParagraph
|
|
image
|
|
decoratedText
|
|
buttonList
|
|
textInput
|
|
selectionInput
|
|
dateTimePicker
|
|
Trennlinienart
Trennlinienstil einer Karte. Wird derzeit nur für die Trennung zwischen Kartenabschnitten verwendet.
Enums | |
---|---|
DIVIDER_STYLE_UNSPECIFIED
|
Nicht verwenden. Nicht angegeben |
SOLID_DIVIDER
|
Standardoption. Stellen Sie eine durchgängige Trennlinie zwischen den Abschnitten dar. |
NO_DIVIDER
|
Wenn festgelegt, werden keine Trennlinien zwischen Abschnitten gerendert. |
Kartenaktion
Eine Kartenaktion ist die mit der Karte verknüpfte Aktion. Eine Rechnungskarte kann beispielsweise Aktionen wie das Löschen einer Rechnung oder das Senden einer Rechnung per E-Mail oder das Öffnen der Rechnung in einem Browser enthalten.
Wird von Chat-Apps nicht unterstützt.
JSON-Darstellung |
---|
{
"actionLabel": string,
"onClick": {
object (
|
Felder | |
---|---|
actionLabel
|
Das Label, das als Element im Aktionsmenü angezeigt wird. |
onClick
|
Die Aktion |
Darstellungsart
Legt in Google Workspace-Add-ons fest, wie eine Karte angezeigt wird.
Wird von Chat-Apps nicht unterstützt.
Enums | |
---|---|
DISPLAY_STYLE_UNSPECIFIED
|
Nicht verwenden. Nicht angegeben |
PEEK
|
Die Kopfzeile der Karte erscheint unten in der Seitenleiste und bedeckt teilweise die aktuelle obere Karte des Stapels. Durch Klicken auf die Überschrift wird die Karte in den Kartenstapel verschoben. Wenn die Karte keinen Header hat, wird stattdessen ein generierter Header verwendet. |
REPLACE
|
Standardwert. Die Karte wird angezeigt, indem die Ansicht der obersten Karte im Kartenstapel ersetzt wird. |