Cards v2

Kart

Google Chat mesajında veya Google Workspace eklentisinde gösterilen kart arayüzü.

Kartlar; tanımlanmış bir düzeni, düğmeler gibi etkileşimli kullanıcı arayüzü öğelerini ve resim gibi rich media öğelerini destekler. Ayrıntılı bilgi sunmak, kullanıcılardan bilgi toplamak ve kullanıcıları bir sonraki adımı atmaya yönlendirmek için kartları kullanın.

Kartları nasıl oluşturacağınızı öğrenmek için aşağıdaki belgelere bakın:

Örnek: Bir Google Chat uygulaması için kart mesajı

Örnek kişi kartı

Google Chat'te örnek kart mesajını oluşturmak için aşağıdaki JSON kodunu kullanın:

{
  "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 gösterimi
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  }
}
Alanlar
header

object (CardHeader)

Kartın başlığı. Bir üstbilgi genellikle bir önde resim ve bir başlık içerir. Başlıklar her zaman kartın üst kısmında görünür.

sections[]

object (Section)

Bir widget koleksiyonu içerir. Her bölümün isteğe bağlı kendine ait başlığı vardır. Bölümler, bir çizgi ayırıcıyla görsel olarak ayrılır. Google Chat uygulamalarıyla ilgili bir örnek için Kart bölümüne göz atın.

sectionDividerStyle

enum (DividerStyle)

Bölümler arasındaki ayırıcı stil.

cardActions[]

object (CardAction)

Kartın işlemleri. İşlemler, kartın araç çubuğu menüsüne eklenir.

Chat uygulama kartlarının araç çubuğu olmadığından cardActions[], Chat uygulamaları tarafından desteklenmez.

Örneğin, aşağıdaki JSON'de Settings ve Send Feedback seçenekleriyle bir kart işlem menüsü oluşturulur:

"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

Kartın adı. Kart gezinmesinde kart tanımlayıcı olarak kullanılır.

Chat uygulamaları kartta gezinmeyi desteklemediğinden bu alanı yoksayar.

displayStyle

enum (DisplayStyle)

Google Workspace eklentilerinde, peekCardHeader öğesinin görüntüleme özelliklerini ayarlar.

Chat uygulamaları tarafından desteklenmez.

peekCardHeader

object (CardHeader)

Bağlamsal içerik görüntülerken, kısa arama kartı başlığı bir yer tutucu görevi görür. Böylece kullanıcı, ana sayfa kartları ile içerik kartları arasında ilerleyebilir.

Chat uygulamaları tarafından desteklenmez.

CardHeader

Bir kart başlığını temsil eder. Google Chat uygulamalarıyla ilgili bir örnek için Kart başlığı bölümüne bakın.

JSON gösterimi
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
Alanlar
title

string

Zorunlu. Kart başlığının başlığı. Başlığın yüksekliği sabittir: Hem başlık hem de alt başlık belirtilirse her biri bir satır kaplar. Yalnızca başlık belirtilirse başlık her iki satırı da kullanır.

subtitle

string

Kart başlığının alt başlığı. Belirtilmişse title öğesinin altında kendi satırında görünür.

imageType

enum (ImageType)

Resmi kırpmak için kullanılan şekil.

imageUrl

string

Kart başlığındaki resmin HTTPS URL'si.

imageAltText

string

Bu resmin erişilebilirlik için kullanılan alternatif metni.

ImageType

Resmi kırpmak için kullanılan şekil.

Sıralamalar
SQUARE Varsayılan değer. Resme kare maske uygular. Örneğin, 4x3 boyutundaki bir resim 3x3 olur.
CIRCLE Resme yuvarlak maske uygular. Örneğin, 4x3 boyutundaki bir resim, çapı 3 olan bir daireye dönüşür.

Bölüm

Bölüm, belirtildikleri sıraya göre dikey olarak oluşturulan bir widget koleksiyonunu içerir.

JSON gösterimi
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer
}
Alanlar
header

string

Bölümün üst kısmında görünen metin. Basit HTML biçimli metinleri destekler. Metin biçimlendirme hakkında daha fazla bilgi için Google Chat uygulamalarında metni biçimlendirme ve Google Workspace Eklentilerinde metni biçimlendirme başlıklı makaleleri inceleyin.

widgets[]

object (Widget)

Bölümdeki tüm widget'lar. En az bir widget içermelidir.

collapsible

boolean

Bu bölümün daraltılabilir olup olmadığını belirtir.

Daraltılabilir bölümler, widget'ların bazılarını veya tümünü gizler. Kullanıcılar Daha fazla göster'i tıklayarak gizli widget'ların görünmesi için bölümü genişletebilirler. Kullanıcılar Daha az göster'i tıklayarak widget'ları tekrar gizleyebilir.

Hangi widget'ların gizli olduğunu belirlemek için uncollapsibleWidgetsCount değerini belirtin.

uncollapsibleWidgetsCount

integer

Bir bölüm daraltıldığında bile görünür kalan daraltılamaz widget'ların sayısı.

Örneğin, bir bölüm beş widget içerdiğinde ve uncollapsibleWidgetsCount öğesi 2 olarak ayarlandığında her zaman ilk iki widget gösterilir ve son üçü varsayılan olarak daraltılır. uncollapsibleWidgetsCount, yalnızca collapsible değeri true olduğunda dikkate alınır.

Widget

Her kart, widget'lardan oluşur.

Widget; metin, resim, düğme ve diğer nesne türlerinden birini temsil edebilen bileşik bir nesnedir.

JSON gösterimi
{
  "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)
  }
  // End of list of possible types for union field data.
}
Alanlar
horizontalAlignment

enum (HorizontalAlignment)

Widget'ların bir sütunun soluna, sağına veya ortasına hizalanıp hizalanmayacağını belirtir.

Birlik alanı data. Bir widget'ta aşağıdakilerden yalnızca biri olabilir. Daha fazla öğe görüntülemek için birden çok widget alanı kullanabilirsiniz. data, aşağıdakilerden yalnızca biri olabilir:
textParagraph

object (TextParagraph)

Bir metin paragrafı görüntüler. Basit HTML biçimli metinleri destekler. Metin biçimlendirme hakkında daha fazla bilgi için Google Chat uygulamalarında metni biçimlendirme ve Google Workspace Eklentilerinde metni biçimlendirme başlıklı makaleleri inceleyin.

Örneğin, aşağıdaki JSON kalın harflerle yazılmış bir metin oluşturur:

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

object (Image)

Bir resim görüntüler.

Örneğin, aşağıdaki JSON alternatif metin içeren bir görüntü oluşturur:

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

object (DecoratedText)

Süslü bir metin öğesi görüntüler.

Örneğin, aşağıdaki JSON e-posta adresini gösteren süslü bir metin widget'ı oluşturur:

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "sasha@example.com",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
buttonList

object (ButtonList)

Düğme listesi.

Örneğin, aşağıdaki JSON iki düğme oluşturur. İlki mavi renkli bir metin düğmesi, ikincisi ise bir bağlantı açan resim düğmesidir:

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

object (TextInput)

Kullanıcıların yazabileceği bir metin kutusu görüntüler.

Örneğin, aşağıdaki JSON dosyası bir e-posta adresi için metin girişi oluşturur:

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

Başka bir örnek olarak aşağıdaki JSON, bir programlama dili için statik öneriler içeren bir metin girişi oluşturur:

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

object (SelectionInput)

Kullanıcıların öğe seçebilmesini sağlayan bir seçim denetimi görüntüler. Seçim kontrolleri; onay kutuları, radyo düğmeleri, anahtarlar veya açılır menüler olabilir.

Örneğin, aşağıdaki JSON'de kullanıcılar boyut seçmeye olanak tanıyan bir açılır menü oluşturulur:

"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)

Kullanıcıların tarih, saat veya tarih ve saat girmelerine olanak tanıyan bir widget görüntüler.

Örneğin, aşağıdaki JSON randevu planlamak için bir tarih ve saat seçici oluşturur:

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

object (Divider)

Widget'lar arasında yatay çizgi ayırıcı görüntüler.

Örneğin, aşağıdaki JSON bir ayırıcı oluşturur:

"divider": {
}
grid

object (Grid)

Öğe koleksiyonunu içeren bir ızgara görüntüler.

Bir ızgara, herhangi bir sayıda sütun ve öğeyi destekler. Satır sayısı, öğe sayısının üst sınırlarının sütun sayısına bölünmesiyle belirlenir. 10 öğeli ve 2 sütunlu bir ızgarada 5 satır bulunur. 11 öğe ve 2 sütunlu bir ızgarada 6 satır bulunur.

Örneğin, aşağıdaki JSON tek bir öğe içeren 2 sütunlu bir ızgara oluşturur:

"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)

En fazla 2 sütun gösterilir.

2'den fazla sütun eklemek veya satır kullanmak için Grid widget'ını kullanın.

Örneğin, aşağıdaki JSON her biri metin paragrafları içeren 2 sütun oluşturur:

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

TextParagraph

Biçimlendirmeyi destekleyen bir metin paragrafı. Google Chat uygulamalarıyla ilgili bir örnek için Metin paragrafı bölümüne bakın. Metin biçimlendirme hakkında daha fazla bilgi için Google Chat uygulamalarında metni biçimlendirme ve Google Workspace Eklentilerinde metni biçimlendirme başlıklı makaleleri inceleyin.

JSON gösterimi
{
  "text": string
}
Alanlar
text

string

Widget'ta gösterilen metin.

Resim

Bir URL ile belirtilen ve onClick işlemi olabilen bir resim. Örnek için Resim konusuna bakın.

JSON gösterimi
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
Alanlar
imageUrl

string

Resmi barındıran HTTPS URL'si.

Örneğin:

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

object (OnClick)

Kullanıcı resmi tıkladığında, tıklama bu işlemi tetikler.

altText

string

Bu resmin erişilebilirlik için kullanılan alternatif metni.

OnClick

Kullanıcılar karttaki düğme gibi etkileşimli bir öğeyi tıkladığında nasıl yanıt verileceğini gösterir.

JSON gösterimi
{

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

Birlik alanı data.

data, aşağıdakilerden yalnızca biri olabilir:

action

object (Action)

Belirtilirse bu onClick tarafından bir işlem tetiklenir.

card

object (Card)

Belirtilmişse yeni bir kart, tıklandıktan sonra kart yığınına aktarılır.

Google Workspace Eklentileri tarafından desteklenir ancak Google Chat uygulamaları tarafından desteklenmez.

İşlem

Form gönderildiğinde davranışı açıklayan bir işlem. Örneğin, formu işlemek için bir Apps Komut Dosyası'nı çağırabilirsiniz. İşlem tetiklenirse form değerleri sunucuya gönderilir.

JSON gösterimi
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction)
}
Alanlar
function

string

İçeren öğe tıklandığında veya otomatik olarak etkinleştirildiğinde çağrılacak özel bir işlev.

Örneğin kullanımı Etkileşimli kartlar oluşturma başlıklı makalede bulabilirsiniz.

parameters[]

object (ActionParameter)

İşlem parametrelerinin listesi.

loadIndicator

enum (LoadIndicator)

Harekete geçirici mesajda bulunurken görüntülenen yükleme göstergesini belirtir.

persistValues

boolean

İşlemden sonra form değerlerinin korunup korunmayacağını belirtir. false, varsayılan değerdir.

true ise form değerleri işlem tetiklendikten sonra kalır. İşlem işlenirken kullanıcının değişiklik yapmasına izin vermek için LoadIndicator özelliğini NONE olarak ayarlayın. Chat uygulamalarındaki kart mesajları için işlemin ResponseType değerini de UPDATE_MESSAGE olarak ayarlamanız ve işlemi içeren karttaki cardId etiketinin aynısını kullanmanız gerekir.

false ise işlem tetiklendiğinde form değerleri temizlenir. İşlem işlenirken kullanıcının değişiklik yapmasını engellemek için LoadIndicator özelliğini SPINNER olarak ayarlayın.

interaction

enum (Interaction)

İsteğe bağlı. İletişim kutusu açarken gereklidir.

Bir kullanıcıyla etkileşime (ör. bir kullanıcının kart mesajındaki bir düğmeyi tıklaması) yanıt olarak yapılması gereken işlem.

Belirtilmemişse uygulama, normal şekilde bir action yürüterek (ör. bir bağlantıyı açma veya bir işlevi çalıştırma) yanıt verir.

Bir interaction belirtildiğinde, uygulama özel etkileşimli yollarla yanıt verebilir. Örneğin, interaction OPEN_DIALOG olarak ayarlandığında uygulama bir iletişim kutusu açabilir. Belirtildiğinde, bir yükleme göstergesi gösterilmez.

Chat uygulamaları tarafından desteklenir ancak Google Workspace Eklentileri tarafından desteklenmez. Bir eklenti için belirtilirse kartın tamamı kaldırılır ve istemcide hiçbir şey gösterilmez.

ActionParameter

İşlem yöntemi çağrıldığında sağlanacak dize parametrelerinin listesi. Örneğin, şu üç erteleme düğmesini kullanabilirsiniz: Şimdi ertele, bir gün ertele veya gelecek hafta ertele. action method = snooze() kullanarak dize parametreleri listesinde erteleme türünü ve erteleme süresini iletebilirsiniz.

Daha fazla bilgi için CommonEventObject sayfasına bakın.

JSON gösterimi
{
  "key": string,
  "value": string
}
Alanlar
key

string

İşlem komut dosyası için parametrenin adı.

value

string

Parametrenin değeri.

LoadIndicator

Harekete geçirici mesajda bulunurken görüntülenen yükleme göstergesini belirtir.

Sıralamalar
SPINNER İçeriğin yüklenmekte olduğunu belirten bir döner simge görüntüler.
NONE Hiçbir şey gösterilmez.

Etkileşim

İsteğe bağlı. İletişim kutusu açarken gereklidir.

Bir kullanıcıyla etkileşime (ör. bir kullanıcının kart mesajındaki bir düğmeyi tıklaması) yanıt olarak yapılması gereken işlem.

Belirtilmemişse uygulama, normal şekilde bir action yürüterek (ör. bir bağlantıyı açma veya bir işlevi çalıştırma) yanıt verir.

Bir interaction belirtildiğinde, uygulama özel etkileşimli yollarla yanıt verebilir. Örneğin, interaction OPEN_DIALOG olarak ayarlandığında uygulama bir iletişim kutusu açabilir.

Belirtildiğinde, bir yükleme göstergesi gösterilmez.

Chat uygulamaları tarafından desteklenir ancak Google Workspace Eklentileri tarafından desteklenmez. Bir eklenti için belirtilirse kartın tamamı kaldırılır ve istemcide hiçbir şey gösterilmez.

Sıralamalar
INTERACTION_UNSPECIFIED Varsayılan değer. action, normal şekilde çalışır.
OPEN_DIALOG

Chat uygulamalarının kullanıcılarla etkileşimde bulunmak için kullandığı pencereli, kart tabanlı bir arayüz olan iletişim kutusunu açar.

Kart mesajlarındaki düğme tıklamalarına yanıt olarak yalnızca Chat uygulamaları tarafından desteklenir.

Google Workspace Eklentileri tarafından desteklenmez. Bir eklenti için belirtilirse kartın tamamı kaldırılır ve istemcide hiçbir şey gösterilmez.

OpenAs

Bir OnClick işlemi bir bağlantı açtığında, istemci bunu tam boyutlu bir pencere (istemci tarafından kullanılan çerçeveyse) veya yer paylaşımı (pop-up gibi) olarak açabilir. Uygulama, müşteri platformunun özelliklerine bağlıdır ve seçilen değer müşteri desteklemiyorsa yoksayılabilir. FULL_SIZE, tüm istemciler tarafından desteklenir.

Google Workspace Eklentileri tarafından desteklenir ancak Google Chat uygulamaları tarafından desteklenmez.

Sıralamalar
FULL_SIZE Bağlantı, tam boyutlu bir pencere (istemci tarafından kullanılan çerçeveyse) olarak açılır.
OVERLAY Bağlantı, pop-up gibi bir yer paylaşımı olarak açılır.

OnClose

OnClick işlemi tarafından açılan bir bağlantı kapatıldığında istemcinin ne yaptığı.

Uygulama, müşteri platformu özelliklerine bağlıdır. Örneğin, bir web tarayıcısı OnClose işleyicisi içeren bir pop-up pencerede bağlantıyı açabilir.

Hem OnOpen hem de OnClose işleyicileri ayarlanırsa ve istemci platformu her iki değeri de desteklemiyorsa OnClose öncelikli olur.

Google Workspace Eklentileri tarafından desteklenir ancak Google Chat uygulamaları tarafından desteklenmez.

Sıralamalar
NOTHING Varsayılan değer. Kart yeniden yüklenmez; hiçbir şey olmaz.
RELOAD

Alt pencere kapandıktan sonra kartı yeniden yükler.

OpenAs.OVERLAY ile birlikte kullanılırsa alt pencere, kalıcı iletişim kutusu görevi görür ve alt pencere kapanana kadar üst kart engellenir.

DecoratedText

Metnin üstünde veya altında etiket, metnin önünde bir simge, seçim widget'ı veya metinden sonra gelen bir düğme gibi isteğe bağlı süslemelerle metin görüntüleyen bir widget. Google Chat uygulamalarıyla ilgili bir örnek için Süslenmiş metin başlıklı makaleyi inceleyin.

JSON gösterimi
{
  "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.
}
Alanlar
icon
(deprecated)

object (Icon)

startIcon kullanılması için kullanımdan kaldırıldı.

startIcon

object (Icon)

Metnin önünde gösterilen simge.

topLabel

string

text öğesinin üzerinde görünen metin. Her zaman kısaltır.

text

string

Zorunlu. Birincil metin.

Basit biçimlendirmeyi destekler. Metin biçimlendirme hakkında daha fazla bilgi için Google Chat uygulamalarında metni biçimlendirme ve Google Workspace Eklentilerinde metni biçimlendirme başlıklı makaleleri inceleyin.

wrapText

boolean

Metni kaydırma ayarı. true ise metin birden fazla satırda kaydırılır ve gösterilir. Aksi halde metin kısaltılır.

topLabel ve bottomLabel için değil, yalnızca text için geçerlidir.

bottomLabel

string

text metninin altında görünen metin. Her zaman sarmalar.

onClick

object (OnClick)

Bu işlem, kullanıcılar topLabel veya bottomLabel seçeneğini tıkladığında tetiklenir.

Birlik alanı control. decoratedText widget'ında metnin sağ tarafında görünen bir düğme, anahtar, onay kutusu veya resim. control, aşağıdakilerden yalnızca biri olabilir:
button

object (Button)

Kullanıcının bir işlemi tetiklemek için tıklayabileceği düğme.

switchControl

object (SwitchControl)

Kullanıcının, durumunu değiştirmek ve bir işlemi tetiklemek için tıklayabileceği anahtar widget'ı.

endIcon

object (Icon)

Metinden sonra bir simge görüntülenir.

Yerleşik ve özel simgeleri destekler.

Simge

Bir karttaki widget'ta görüntülenen simge. Google Chat uygulamalarıyla ilgili bir örnek için Simge bölümüne göz atın.

Yerleşik ve özel simgeleri destekler.

JSON gösterimi
{
  "altText": string,
  "imageType": enum (ImageType),

  // Union field icons can be only one of the following:
  "knownIcon": string,
  "iconUrl": string
  // End of list of possible types for union field icons.
}
Alanlar
altText

string

İsteğe bağlı. Erişilebilirlik için kullanılan simgenin açıklaması. Belirtilmezse varsayılan değer Button sağlanır. En iyi uygulama olarak simgenin neyi gösterdiğine ve geçerliyse ne yaptığına ilişkin faydalı bir açıklama belirlemeniz gerekir. Örneğin, A user's account portrait veya Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/chat.

Simge bir Button içinde ayarlanırsa kullanıcı düğmenin üzerine geldiğinde altText yardımcı metin olarak görünür. Ancak, düğme aynı zamanda text değerini de ayarlarsa simgenin altText değeri yoksayılır.

imageType

enum (ImageType)

Resme uygulanan kırpma stili. Bazı durumlarda, CIRCLE kırpma işlemi uygulandığında resmin yerleşik simgeden daha büyük çizilmesine neden olur.

Birlik alanı icons. Karttaki widget'ta gösterilen simge. icons, aşağıdakilerden yalnızca biri olabilir:
knownIcon

string

Google Workspace tarafından sağlanan yerleşik simgelerden birini görüntüleyin.

Örneğin, uçak simgesini görüntülemek için AIRPLANE değerini belirtin. Otobüs için BUS belirtin.

Desteklenen simgelerin tam listesi için yerleşik simgeler konusuna bakın.

iconUrl

string

HTTPS URL'sinde barındırılan bir özel simge gösterme.

Örneğin:

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

Desteklenen dosya türleri şunlardır: .png ve .jpg.

Düğme

Kullanıcıların tıklayabileceği bir metin, simge veya metin ve simge düğmesi. Google Chat uygulamalarıyla ilgili bir örnek için Düğme listesi bölümünü inceleyin.

Bir resmi tıklanabilir düğme yapmak için bir Image (ImageComponent değil) belirtin ve onClick işlemi ayarlayın.

JSON gösterimi
{
  "text": string,
  "icon": {
    object (Icon)
  },
  "color": {
    object (Color)
  },
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean,
  "altText": string
}
Alanlar
text

string

Düğmenin içinde görüntülenen metin.

icon

object (Icon)

Simge resmi. Hem icon hem de text ayarlanmışsa simge metnin önünde görünür.

color

object (Color)

Ayarlanırsa düğme, düz bir arka plan rengiyle doldurulur ve yazı tipi rengi, arka plan rengiyle kontrastı koruyacak şekilde değişir. Örneğin, mavi bir arka plan ayarlamak büyük olasılıkla beyaz metinle sonuçlanabilir.

Politika ayarlanmazsa resmin arka planı beyaz ve yazı tipi rengi mavi olur.

Kırmızı, yeşil ve mavi için her bir alanın değeri, şu iki yöntemden birini kullanarak ifade edebileceğiniz bir float numarasıdır: 0 ile 255 arasında bir sayının 255'e bölümü (153/255) veya 0 ile 1 arasında bir değer (0,6). 0 bir rengin olmadığını, 1 veya 255/255 ise RGB ölçeğinde o rengin tam varlığını temsil eder.

İsteğe bağlı olarak alpha, bu denklemi kullanarak şeffaflık düzeyini ayarlar:

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

alpha için 1 değeri düz bir renge, 0 değeri ise tamamen şeffaf bir renge karşılık gelir.

Örneğin, aşağıdaki renk yarı şeffaf kırmızıyı temsil eder:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
   "alpha": 0.5
}
onClick

object (OnClick)

Zorunlu. Kullanıcı düğmeyi tıkladığında gerçekleştirilecek işlem (ör. köprü açma veya özel işlev çalıştırma).

disabled

boolean

true ise düğme etkin olmayan bir durumda görüntülenir ve kullanıcı işlemlerine yanıt vermez.

altText

string

Erişilebilirlik için kullanılan alternatif metin.

Kullanıcılara düğmenin ne yaptığını bildiren açıklayıcı bir metin ayarlayın. Örneğin, bir düğme köprü açıyorsa şöyle yazabilirsiniz: "Yeni bir tarayıcı sekmesi açar ve https://developers.google.com/chat" adresindeki Google Chat geliştirici dokümanlarına gider.

Renk

RGBA renk alanındaki bir rengi temsil eder. Bu temsil, kompaktlık yerine çeşitli dillerdeki renk temsillerine geçişin basit olması için tasarlanmıştır. Örneğin, bu temsilin alanları Java'daki java.awt.Color oluşturucuya basit bir şekilde sağlanabilir; ayrıca UIColor'ın iOS'teki +colorWithRed:green:blue:alpha yöntemine küçük bir şekilde sağlanabilir ve sadece küçük bir işle, JavaScript'te CSS rgba() dizesine kolayca biçimlendirilebilir.

Bu referans sayfasında, RGB değerini yorumlamak için kullanılması gereken mutlak renk alanı hakkında bilgi yoktur (ör. sRGB, Adobe RGB, DCI-P3 ve BT.2020). Uygulamalarda varsayılan olarak sRGB renk alanı kullanılmalıdır.

Renk eşitliğinin belirlenmesi gerektiğinde, aksi belirtilmediği sürece kırmızı, yeşil, mavi ve alfa değerlerinin her biri en fazla 1e-5 farklılık gösteriyorsa uygulamalarda iki renk eşit olarak işlenir.

Örnek (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();
 }
 // ...

Örnek (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;
}
// ...

Örnek (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 gösterimi
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Alanlar
red

number

[0, 1] aralığındaki bir değer olarak renkteki kırmızı miktarı.

green

number

[0, 1] aralığındaki bir değer olarak renkteki yeşil miktarı.

blue

number

[0, 1] aralığındaki bir değer olarak renkteki mavi miktarı.

alpha

number

Bu rengin piksele uygulanması gereken oranı. Yani, nihai piksel rengi şu denklemle tanımlanır:

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

Bu, 1,0 değerinin düz bir renge, 0,0 değerinin ise tamamen şeffaf bir renge karşılık geldiği anlamına gelir. Bu yöntemde basit bir kayan skaler yerine sarmalayıcı mesajı kullanılır, böylece varsayılan değer ile ayarlanmamış olan değer birbirinden ayırt edilebilir. Atlanırsa, bu renk nesnesi düz renk olarak oluşturulur (alfa değerine açık bir şekilde 1,0 değeri verilmiş gibi).

SwitchControl

Açma/kapatma tarzı bir anahtar veya decoratedText widget'ının içindeki onay kutusu.

Yalnızca decoratedText widget'ında desteklenir.

JSON gösterimi
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
Alanlar
name

string

Bir form giriş etkinliğinde geçiş widget'ının tanımlandığı ad.

Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

value

string

Form giriş etkinliğinin bir parçası olarak döndürülen ve kullanıcı tarafından girilen değer.

Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

selected

boolean

true olduğunda anahtar seçilir.

onChangeAction

object (Action)

Anahtar durumu değiştirildiğinde gerçekleştirilecek işlem (ör. hangi işlevin çalıştırılacağı).

controlType

enum (ControlType)

Anahtarın kullanıcı arayüzünde nasıl göründüğü.

ControlType

Anahtarın kullanıcı arayüzünde nasıl göründüğü.

Sıralamalar
SWITCH Açma/kapatma tarzı bir anahtar.
CHECKBOX CHECK_BOX kullanılması için kullanımdan kaldırıldı.
CHECK_BOX Onay kutusu.

ButtonList

Yatay olarak düzenlenmiş düğmeler listesi. Google Chat uygulamalarıyla ilgili bir örnek için Düğme listesi bölümünü inceleyin.

JSON gösterimi
{
  "buttons": [
    {
      object (Button)
    }
  ]
}
Alanlar
buttons[]

object (Button)

Bir dizi düğme.

TextInput

Kullanıcıların metin girebileceği bir alan. Önerileri ve değişiklik yapılan işlemleri destekler. Google Chat uygulamalarıyla ilgili bir örnek için Metin girişi bölümünü inceleyin.

Chat uygulamaları, form giriş etkinlikleri sırasında girilen metnin değerini alır ve işleyebilir. Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

Kullanıcılardan tanımlanmamış veya soyut veri toplamanız gerektiğinde metin girişi kullanın. Kullanıcılardan tanımlanmış veya numaralandırılmış verileri toplamak için SelectionInput widget'ını kullanın.

JSON gösterimi
{
  "name": string,
  "label": string,
  "hintText": string,
  "value": string,
  "type": enum (Type),
  "onChangeAction": {
    object (Action)
  },
  "initialSuggestions": {
    object (Suggestions)
  },
  "autoCompleteAction": {
    object (Action)
  },
  "placeholderText": string
}
Alanlar
name

string

Form giriş etkinliğinde metin girişinin tanımlandığı ad.

Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

label

string

Kullanıcı arayüzünde, metin giriş alanının üzerinde görünen metin.

Kullanıcının, uygulamanızın ihtiyacı olan bilgileri girmesine yardımcı olacak metni belirtin. Örneğin, birinin adını soruyor ancak özellikle soyadına ihtiyacınız varsa name yerine surname yazın.

hintText belirtilmezse gereklidir. Aksi takdirde, isteğe bağlıdır.

hintText

string

Metin giriş alanının altında görünen, kullanıcılara belirli bir değer girmelerini isteyerek yardımcı olmak amaçlanan metin. Bu metin her zaman görünür durumda.

label belirtilmezse gereklidir. Aksi takdirde, isteğe bağlıdır.

value

string

Form giriş etkinliğinin bir parçası olarak döndürülen ve kullanıcı tarafından girilen değer.

Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

type

enum (Type)

Metin giriş alanının kullanıcı arayüzünde nasıl göründüğü. Örneğin, alanın tek mi yoksa çok satırlı mı olduğu.

onChangeAction

object (Action)

Metin giriş alanında bir değişiklik olduğunda yapılması gerekenler. Örneğin, bir kullanıcının alana ekleme yapması veya metni silmesi.

Yapmanız gereken işlemlere örnek olarak özel işlev çalıştırmak veya Google Chat'te iletişim kutusu açmak verilebilir.

initialSuggestions

object (Suggestions)

Kullanıcıların girebileceği önerilen değerler. Bu değerler, kullanıcılar metin giriş alanının içini tıkladığında görünür. Önerilen değerler, kullanıcılar yazdıkça, kullanıcıların yazdıklarıyla eşleşecek şekilde dinamik olarak filtrelenir.

Örneğin, programlama dili için bir metin giriş alanı Java, JavaScript, Python ve C++ önerilerini önerebilir. Kullanıcılar Jav yazmaya başladığında, öneri listesinde yalnızca Java ve JavaScript gösterilir.

Önerilen değerler, uygulamanızın anlamlandırabileceği değerler girmeleri için kullanıcılara yol gösterir. JavaScript'ten bahsederken bazı kullanıcılar javascript, diğerleri java script girebilir. JavaScript önerildiğinde, kullanıcıların uygulamanızla etkileşimde bulunma şeklini standart hale getirebilirsiniz.

Bu parametre belirtildiğinde TextInput.type, MULTIPLE_LINE olarak ayarlanmış olsa bile her zaman SINGLE_LINE olur.

autoCompleteAction

object (Action)

İsteğe bağlı. Metin giriş alanı, kendisiyle etkileşimde bulunan kullanıcılara öneriler sağladığında hangi işlemin yapılacağını belirtin.

Belirtilmemesi halinde öneriler initialSuggestions tarafından ayarlanır ve istemci tarafından işlenir.

Belirtilirse uygulama, burada belirtilen işlemi (ör. özel bir işlev çalıştırmak) gerçekleştirir.

Google Workspace Eklentileri tarafından desteklenir ancak Google Chat uygulamaları tarafından desteklenmez.

placeholderText

string

Alan boş olduğunda metin giriş alanında görünen metin. Kullanıcılardan bir değer girmelerini istemek için bu metni kullanın. Örneğin, Enter a number from 0 to 100.

Google Chat uygulamaları tarafından desteklenir ancak Google Workspace Eklentileri tarafından desteklenmez.

Tür

Metin giriş alanının kullanıcı arayüzünde nasıl göründüğü. Örneğin, tek satırlı bir giriş alanı veya çok satırlı bir giriş olabilir.

initialSuggestions belirtilirse type, MULTIPLE_LINE olarak ayarlanmış olsa bile her zaman SINGLE_LINE olur.

Sıralamalar
SINGLE_LINE Metin giriş alanının sabit yüksekliği bir satırdır.
MULTIPLE_LINE Metin giriş alanı sabit olarak birden çok satır yüksekliğine sahip.

RenderActions

Bir karta işlem yapmasını ve/veya eklenti ana makine uygulamasına uygulamaya özgü bir işlem yapmasını söyleyen oluşturma talimatları grubu.

Alanlar
action

Action

İşlem

Alanlar
navigations[]

Navigation

Gösterilen kartları aktarın veya güncelleyin.

Yığına yeni bir kart ekleyin (ileriye gidin).

navigations: {
  pushCard: CARD
}

En üstteki kartı yeni bir kartla değiştirin.

navigations: {
  updateCard: CARD
}

Öneriler

Kullanıcıların girebileceği önerilen değerler. Bu değerler, kullanıcılar metin giriş alanının içini tıkladığında görünür. Önerilen değerler, kullanıcılar yazdıkça, kullanıcıların yazdıklarıyla eşleşecek şekilde dinamik olarak filtrelenir.

Örneğin, programlama dili için bir metin giriş alanı Java, JavaScript, Python ve C++ önerilerini önerebilir. Kullanıcılar Jav yazmaya başladığında, öneri listesinde Java ve JavaScript gösterilir.

Önerilen değerler, uygulamanızın anlamlandırabileceği değerler girmeleri için kullanıcılara yol gösterir. JavaScript'ten bahsederken bazı kullanıcılar javascript, diğerleri java script girebilir. JavaScript önerildiğinde, kullanıcıların uygulamanızla etkileşimde bulunma şeklini standart hale getirebilirsiniz.

Bu parametre belirtildiğinde TextInput.type, MULTIPLE_LINE olarak ayarlanmış olsa bile her zaman SINGLE_LINE olur.

JSON gösterimi
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
Alanlar
items[]

object (SuggestionItem)

Metin giriş alanlarında otomatik tamamlama önerileri için kullanılan önerilerin listesi.

SuggestionItem

Kullanıcıların metin giriş alanına girebileceği önerilen bir değer.

JSON gösterimi
{

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

Birlik alanı content.

content, aşağıdakilerden yalnızca biri olabilir:

text

string

Metin giriş alanında önerilen bir girişin değeri. Bu sayı, kullanıcıların kendi girişleriyle eşdeğerdir.

SelectionInput

Kullanıcıların seçebileceği bir veya daha fazla kullanıcı arayüzü öğesi oluşturan widget. Örneğin, açılır menü veya onay kutuları. Tahmin edilebilen veya numaralandırılabilir verileri toplamak için bu widget'ı kullanabilirsiniz. Google Chat uygulamalarıyla ilgili bir örnek için Seçim girişi bölümüne bakın.

Chat uygulamaları, kullanıcıların seçtiği veya girdiği öğelerin değerini işleyebilir. Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

Kullanıcılardan tanımlanmamış veya soyut veriler toplamak için TextInput widget'ını kullanın.

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

  // 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.
}
Alanlar
name

string

Bir form giriş etkinliğindeki seçim girişini tanımlayan ad.

Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

label

string

Kullanıcı arayüzünde, seçim giriş alanının üzerinde görünen metin.

Kullanıcının, uygulamanızın ihtiyacı olan bilgileri girmesine yardımcı olacak metni belirtin. Örneğin, kullanıcılar açılır menüden iş biletinin aciliyetini seçiyorsa "Aciliyet" veya "Aciliyet durumunu seçin" etiketi olabilir.

type

enum (SelectionType)

SelectionInput widget'ında kullanıcılara gösterilen öğelerin türü. Seçim türleri farklı etkileşim türlerini destekler. Örneğin, kullanıcılar bir veya daha fazla onay kutusu seçebilir, ancak bir açılır menüden yalnızca bir değer seçebilir.

items[]

object (SelectionItem)

Seçilebilir öğelerden oluşan bir dizi. Örneğin, bir dizi radyo düğmesi veya onay kutusu. 100 adede kadar öğeyi destekler.

onChangeAction

object (Action)

Belirtilmişse form, seçim değiştiğinde gönderilir. Belirtilmemişse formu gönderen ayrı bir düğme belirtmeniz gerekir.

Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

multiSelectMaxSelectedItems

integer

Çoklu seçim menüleri için, bir kullanıcının seçebileceği maksimum öğe sayısı. Minimum değer 1 öğedir. Belirtilmemişse varsayılan olarak 3 öğe olur.

multiSelectMinQueryLength

integer

Çoklu seçim menülerinde, kullanıcının Chat uygulaması sorgulamasından önce girdiği metin karakteri sayısı otomatik olarak tamamlanır ve menüde önerilen öğeler gösterilir.

Belirtilmemişse varsayılan olarak statik veri kaynakları için 0 karakter, harici veri kaynakları için 3 karakter varsayılan olur.

Birlik alanı multi_select_data_source. Yalnızca sohbet uygulamaları. Çoklu seçim menüsü için, seçim öğelerini dolduran veri kaynağı. multi_select_data_source, aşağıdakilerden yalnızca biri olabilir:
externalDataSource

object (Action)

İlişkisel veri tabanı gibi harici bir veri kaynağı.

platformDataSource

object (PlatformDataSource)

Google Workspace'ten bir veri kaynağı.

SelectionType

Kullanıcıların seçebileceği öğelerin biçimi. Farklı seçenekler farklı etkileşim türlerini destekler. Örneğin, kullanıcılar birden çok onay kutusu işaretleyebilir, ancak açılır menüden yalnızca bir öğe seçebilir.

Her seçim girişi bir seçim türünü destekler. Örneğin, onay kutuları ve anahtarların birlikte kullanılması desteklenmez.

Sıralamalar
CHECK_BOX Bir dizi onay kutusu. Kullanıcılar bir veya daha fazla onay kutusunu işaretleyebilir.
RADIO_BUTTON Bir dizi radyo düğmesi. Kullanıcılar bir radyo düğmesi seçebilir.
SWITCH Bir anahtar grubu. Kullanıcılar bir veya daha fazla anahtarı açabilir.
DROPDOWN Açılır menü. Kullanıcılar menüden bir öğe seçebilir.
MULTI_SELECT

Chat uygulamaları tarafından desteklenir ancak Google Workspace Eklentileri tarafından desteklenmez.

Statik veya dinamik veriler için çoklu seçim menüsü. Kullanıcılar, menü çubuğundan bir veya daha fazla öğe seçer. Kullanıcılar dinamik verileri doldurmak için değer de girebilir. Örneğin, kullanıcılar bir Google Chat alanının adını yazmaya başlayabilir. Widget, alanı otomatik olarak önerir.

Çoklu seçim menüsündeki öğeleri doldurmak için aşağıdaki veri kaynağı türlerinden birini kullanabilirsiniz:

  • Statik veri: Öğeler widget'ta SelectionItem nesneleri olarak belirtilir. En fazla 100 öğe.
  • Google Workspace verileri: Öğeler, Google Workspace kullanıcıları veya Google Chat alanları gibi Google Workspace verileri kullanılarak doldurulur.
  • Harici veriler: Öğeler Google Workspace dışındaki bir harici veri kaynağından doldurulur.

Çoklu seçim menülerinin nasıl uygulanacağına ilişkin örnekler için SelectionInput widget sayfasına bakın.

SelectionItem

Kullanıcıların bir seçim girişinde seçebileceği, onay kutusu veya anahtar gibi bir öğe.

JSON gösterimi
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
Alanlar
text

string

Öğeyi tanımlayan veya kullanıcılara açıklayan metin.

value

string

Bu öğeyle ilişkilendirilen değer. Müşteri bunu bir form girişi değeri olarak kullanmalıdır.

Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

selected

boolean

Öğenin varsayılan olarak seçili olup olmadığı. Seçim girişi yalnızca bir değer kabul ediyorsa (radyo düğmeleri veya açılır menü gibi) bu alanı yalnızca bir öğe için ayarlayın.

startIconUri

string

Çoklu seçim menülerinde, öğenin text alanının yanında görüntülenen simgenin URL'si. PNG ve JPEG dosyalarını destekler. HTTPS URL'si olmalıdır. Örneğin, https://developers.google.com/chat/images/quickstart-app-avatar.png.

bottomText

string

Çoklu seçim menüleri için, öğenin text alanının altında görüntülenen bir metin açıklaması veya etiket.

PlatformDataSource

Yalnızca sohbet uygulamaları. Çoklu seçim menüsü kullanan SelectionInput widget'ı için Google Workspace'ten bir veri kaynağı. Çoklu seçim menüsündeki öğeleri doldurmak için kullanılır.

JSON gösterimi
{

  // 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.
}
Alanlar
Birlik alanı data_source. Veri kaynağı. data_source, aşağıdakilerden yalnızca biri olabilir:
commonDataSource

enum (CommonDataSource)

Tüm Google Workspace uygulamaları (ör. bir Google Workspace kuruluşundaki kullanıcılar) tarafından paylaşılan veri kaynağı.

hostAppDataSource

object (HostAppDataSourceMarkup)

Google Chat'teki alanlar gibi Google Workspace ana makine uygulamasına özgü veri kaynağı.

CommonDataSource

Yalnızca sohbet uygulamaları. Tüm Google Workspace uygulamaları tarafından paylaşılan bir veri kaynağı.

Sıralamalar
UNKNOWN Varsayılan değer. Kullanmayın.
USER Google Workspace kullanıcıları Kullanıcı yalnızca kendi Google Workspace kuruluşundaki kullanıcıları görüntüleyebilir ve seçebilir.

HostAppDataSourceMarkup

Yalnızca sohbet uygulamaları. Çoklu seçim menüsü kullanan SelectionInput widget'ı için bir Google Workspace uygulamasından veri kaynağı. Veri kaynağı, çoklu seçim menüsü için seçim öğelerini doldurur.

JSON gösterimi
{

  // 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.
}
Alanlar
Birlik alanı data_source. Çoklu seçim menülerindeki öğeleri dolduran Google Workspace uygulaması. data_source, aşağıdakilerden yalnızca biri olabilir:
chatDataSource

object (ChatClientDataSourceMarkup)

Google Chat'ten bir veri kaynağı.

ChatClientDataSourceMarkup

Yalnızca sohbet uygulamaları. Çoklu seçim menüsü olan SelectionInput widget'ı için Google Chat'ten bir veri kaynağı. Veri kaynağı, çoklu seçim menüsü için seçim öğelerini doldurur. Örneğin, bir kullanıcı üyesi olduğu Google Chat alanlarını seçebilir.

JSON gösterimi
{

  // Union field source can be only one of the following:
  "spaceDataSource": {
    object (SpaceDataSource)
  }
  // End of list of possible types for union field source.
}
Alanlar
Birlik alanı source. Google Chat veri kaynağı. source, aşağıdakilerden yalnızca biri olabilir:
spaceDataSource

object (SpaceDataSource)

Kullanıcının üyesi olduğu Google Chat alanları.

SpaceDataSource

Çoklu seçim menüsü için Google Chat alanlarını seçim öğeleri olarak dolduran bir veri kaynağı. Yalnızca kullanıcının üyesi olduğu alanları doldurur.

JSON gösterimi
{
  "defaultToCurrentSpace": boolean
}
Alanlar
defaultToCurrentSpace

boolean

true değerine ayarlanırsa çoklu seçim menüsü, varsayılan olarak mevcut Google Chat alanını öğe olarak seçer.

DateTimePicker

Kullanıcıların tarih, saat veya hem tarih hem de saat girmelerine olanak tanır. Google Chat uygulamalarıyla ilgili bir örnek için Tarih saat seçici başlıklı makaleyi inceleyin.

Kullanıcılar metin girebilir veya tarih ve saat seçmek için seçiciyi kullanabilir. Kullanıcılar geçersiz bir tarih veya saat girerse seçici, kullanıcılardan bilgileri doğru girmelerini isteyen bir hata gösterir.

JSON gösterimi
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  }
}
Alanlar
name

string

Form giriş etkinliğinde DateTimePicker öğesinin tanımlandığı ad.

Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma bölümüne bakın.

label

string

Kullanıcılardan tarih, saat veya tarih ve saat girmelerini isteyen metin. Örneğin, kullanıcılar randevu planlıyorsa Appointment date veya Appointment date and time gibi bir etiket kullanın.

type

enum (DateTimePickerType)

Widget'ın tarih, saat veya tarih ve saat girmeyi destekleyip desteklemediği.

valueMsEpoch

string (int64 format)

Unix dönem zamanından itibaren widget'ta görüntülenen varsayılan değer (milisaniye cinsinden).

Seçicinin türüne göre ( DateTimePickerType) değeri belirtin:

  • DATE_AND_TIME : UTC saat diliminde takvim tarihi ve saati. Örneğin, 1 Ocak 2023 saat 12:00'yi (UTC) temsil etmek için 1672574400000 kullanın.
  • DATE_ONLY : 00:00:00 UTC saatli bir takvim tarihi. Örneğin, 1 Ocak 2023'ü temsil etmek için 1672531200000 kullanın.
  • TIME_ONLY : UTC saat diliminde. Örneğin, 12:00'yi temsil etmek için 43200000 (veya 12 * 60 * 60 * 1000) kullanın.
timezoneOffsetDate

integer

Saat diliminin UTC ile dakika farkını gösteren sayı. Ayarlanırsa valueMsEpoch, belirtilen saat diliminde görüntülenir. Ayarlanmadan bırakılırsa değer, varsayılan olarak kullanıcının saat dilimi ayarına ayarlanır.

onChangeAction

object (Action)

Kullanıcı DateTimePicker arayüzünden Kaydet veya Temizle'yi tıkladığında tetiklenir.

DateTimePickerType

DateTimePicker widget'ındaki tarih ve saat biçimi. Kullanıcıların tarih, saat veya hem tarih hem de saat girip giremeyeceğini belirler.

Sıralamalar
DATE_AND_TIME Kullanıcılar bir tarih ve saat girer.
DATE_ONLY Kullanıcılar bir tarih girer.
TIME_ONLY Kullanıcılar zaman girişi yapar.

Ayırıcı

Bu türde alan yok.

Widget'lar arasındaki bir ayırıcıyı yatay bir çizgi olarak görüntüler. Google Chat uygulamalarıyla ilgili bir örnek için Bölen bölümüne bakın.

Örneğin, aşağıdaki JSON bir ayırıcı oluşturur:

"divider": {}

Tablo

Öğe koleksiyonunu içeren bir ızgara görüntüler. Öğeler yalnızca metin veya resim içerebilir. Duyarlı sütunlar için veya metin ya da resimden daha fazlasını eklemek için Columns kullanın. Google Chat uygulamalarıyla ilgili bir örnek için Izgara bölümünü inceleyin.

Bir ızgara, herhangi bir sayıda sütun ve öğeyi destekler. Satır sayısı, öğelerin sütunlara bölünmesiyle belirlenir. 10 öğeli ve 2 sütunlu bir ızgarada 5 satır bulunur. 11 öğe ve 2 sütunlu bir ızgarada 6 satır bulunur.

Örneğin, aşağıdaki JSON tek bir öğe içeren 2 sütunlu bir ızgara oluşturur:

"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 gösterimi
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
Alanlar
title

string

Izgara başlığında gösterilen metin.

items[]

object (GridItem)

Izgarada gösterilecek öğeler.

borderStyle

object (BorderStyle)

Her bir ızgara öğesine uygulanacak kenarlık stili.

columnCount

integer

Izgarada görüntülenecek sütun sayısı. Bu alan belirtilmezse varsayılan değer kullanılır ve bu varsayılan değer, ızgaranın gösterildiği yere göre farklı olur (iletişim kutusu veya tamamlayıcı).

onClick

object (OnClick)

Bu geri çağırma, her bir ızgara öğesi tarafından yeniden kullanılır ancak geri çağırmanın parametrelerine öğe listesindeki öğe tanımlayıcısı ve dizini eklenir.

GridItem

Bir öğeyi ızgara düzeninde temsil eder. Öğeler metin, resim veya hem metin hem de resim içerebilir.

JSON gösterimi
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
Alanlar
id

string

Bu tablo öğesi için kullanıcı tarafından belirtilen tanımlayıcı. Bu tanımlayıcı, üst tablonun onClick geri çağırma parametrelerinde döndürülür.

image

object (ImageComponent)

Izgara öğesinde gösterilen resim.

title

string

Izgara öğesinin başlığı.

subtitle

string

Izgara öğesinin alt başlığı.

layout

enum (GridItemLayout)

Izgara öğesi için kullanılacak düzen.

ImageComponent

Bir resmi temsil eder.

JSON gösterimi
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
Alanlar
imageUri

string

Resim URL'si.

altText

string

Resmin erişilebilirlik etiketi.

cropStyle

object (ImageCropStyle)

Resme uygulanacak kırpma stili.

borderStyle

object (BorderStyle)

Resme uygulanacak kenarlık stili.

ImageCropStyle

Bir resme uygulanan kırpma stilini temsil eder.

Örneğin, 16:9 en boy oranının nasıl uygulanacağı aşağıda açıklanmıştır:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
JSON gösterimi
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
Alanlar
type

enum (ImageCropType)

Kırpma türü.

aspectRatio

number

Kırpma türü RECTANGLE_CUSTOM ise kullanılacak en boy oranı.

Örneğin, 16:9 en boy oranının nasıl uygulanacağı aşağıda açıklanmıştır:

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

ImageCropType

Bir resme uygulanan kırpma stilini temsil eder.

Sıralamalar
IMAGE_CROP_TYPE_UNSPECIFIED Kullanmayın. Belirtilmedi.
SQUARE Varsayılan değer. Kare kırpma uygular.
CIRCLE Dairesel kırpma uygular.
RECTANGLE_CUSTOM Özel bir en boy oranına sahip dikdörtgen kırpma işlemi uygular. aspectRatio ile özel en boy oranını ayarlayın.
RECTANGLE_4_3 4:3 en boy oranına sahip dikdörtgen kırpma işlemi uygular.

BorderStyle

Kenarlık türü ve rengi de dahil olmak üzere, bir kartın veya widget'ın kenarlığıyla ilgili stil seçenekleri.

JSON gösterimi
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
Alanlar
type

enum (BorderType)

Kenarlık türü.

strokeColor

object (Color)

Tür BORDER_TYPE_STROKE olduğunda kullanılacak renkler.

cornerRadius

integer

Kenarlığın köşe yarıçapı.

BorderType

Widget'lara uygulanan kenarlık türlerini gösterir.

Sıralamalar
BORDER_TYPE_UNSPECIFIED Kullanmayın. Belirtilmedi.
NO_BORDER Varsayılan değer. Kenarlık yok.
STROKE Özet.

GridItemLayout

Bir ızgara öğesi için kullanılabilen çeşitli düzen seçeneklerini gösterir.

Sıralamalar
GRID_ITEM_LAYOUT_UNSPECIFIED Kullanmayın. Belirtilmedi.
TEXT_BELOW Başlık ve alt başlık, ızgara öğesi resminin altında gösterilir.
TEXT_ABOVE Başlık ve alt başlık, ızgara öğesi resminin üzerinde gösterilir.

Sütunlar

Columns widget'ı, bir kart mesajında veya iletişim kutusunda en fazla 2 sütun görüntüler. Her bir sütuna widget ekleyebilirsiniz. Widget'lar belirtildikleri sırayla görünür. Google Chat uygulamalarıyla ilgili bir örnek için Sütunlar bölümüne bakın.

Her sütunun yüksekliği uzun sütuna göre belirlenir. Örneğin, ilk sütun ikinci sütundan daha uzunsa her iki sütun da ilk sütunun yüksekliğine sahip olur. Her sütun farklı sayıda widget içerebileceğinden, sütunlar arasında satır tanımlayamaz veya widget'ları hizalayamazsınız.

Sütunlar yan yana gösterilir. HorizontalSizeStyle alanını kullanarak her bir sütunun genişliğini özelleştirebilirsiniz. Kullanıcının ekran genişliği çok darsa ikinci sütun birincinin altına kaydırılır:

  • Web'de, ekran genişliği 480 pikselden az veya 480 piksele eşitse ikinci sütun kaydırılır.
  • iOS cihazlarda, ekran genişliği 300 punto veya daha az olduğunda ikinci sütun kaydırılır.
  • Android cihazlarda, ekran genişliği 320 dp'den az veya 320 dp'ye eşitse ikinci sütun kaydırılır.

2'den fazla sütun eklemek veya satır kullanmak için Grid widget'ını kullanın.

Chat uygulamaları tarafından desteklenir ancak Google Workspace Eklentileri tarafından desteklenmez.

JSON gösterimi
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
Alanlar
columnItems[]

object (Column)

Sütun dizisi. Bir karta veya iletişim kutusuna en fazla 2 sütun ekleyebilirsiniz.

Sütun

Bir sütun.

JSON gösterimi
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
Alanlar
horizontalSizeStyle

enum (HorizontalSizeStyle)

Bir sütunun, kartın genişliğini nasıl dolduracağını belirtir.

horizontalAlignment

enum (HorizontalAlignment)

Widget'ların bir sütunun soluna, sağına veya ortasına hizalanıp hizalanmayacağını belirtir.

verticalAlignment

enum (VerticalAlignment)

Widget'ların bir sütunun üstüne, altına veya ortasına hizalanıp hizalanmayacağını belirtir.

widgets[]

object (Widgets)

Bir sütuna dahil edilen widget dizisidir. Widget'lar belirtildikleri sırada görünür.

HorizontalSizeStyle

Bir sütunun, kartın genişliğini nasıl dolduracağını belirtir. Her sütunun genişliği hem HorizontalSizeStyle öğesine hem de sütundaki widget'ların genişliğine bağlıdır.

Sıralamalar
HORIZONTAL_SIZE_STYLE_UNSPECIFIED Kullanmayın. Belirtilmedi.
FILL_AVAILABLE_SPACE Varsayılan değer. Sütun, kart genişliğinin% 70'ine kadar kullanılabilir alanı kaplar. Her iki sütun da FILL_AVAILABLE_SPACE değerine ayarlanırsa her sütun alanın% 50'sini kaplar.
FILL_MINIMUM_SPACE Sütun, mümkün olan en az alanı ve kart genişliğinin en fazla% 30'unu kaplar.

HorizontalAlignment

Widget'ların bir sütunun soluna, sağına veya ortasına hizalanıp hizalanmayacağını belirtir.

Sıralamalar
HORIZONTAL_ALIGNMENT_UNSPECIFIED Kullanmayın. Belirtilmedi.
START Varsayılan değer. Widget'ları sütunun başlangıç konumuna hizalar. Soldan sağa düzenlerde sola hizalar. Sağdan sola düzenler için sağa hizalar.
CENTER Widget'ları sütunun ortasına hizalar.
END Widget'ları sütunun son konumuna hizalar. Soldan sağa düzenler için widget'ları sağa hizalar. Sağdan sola düzenler için widget'ları sola hizalar.

VerticalAlignment

Widget'ların bir sütunun üstüne, altına veya ortasına hizalanıp hizalanmayacağını belirtir.

Sıralamalar
VERTICAL_ALIGNMENT_UNSPECIFIED Kullanmayın. Belirtilmedi.
CENTER Varsayılan değer. Widget'ları bir sütunun ortasına hizalar.
TOP Widget'ları bir sütunun üst kısmına hizalar.
BOTTOM Widget'ları bir sütunun altına hizalar.

Widget'lar

Bir sütuna ekleyebileceğiniz desteklenen widget'lar.

JSON gösterimi
{

  // 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)
  }
  // End of list of possible types for union field data.
}
Alanlar

Birlik alanı data.

data, aşağıdakilerden yalnızca biri olabilir:

textParagraph

object (TextParagraph)

TextParagraph widget'ı.

image

object (Image)

Image widget'ı.

decoratedText

object (DecoratedText)

DecoratedText widget'ı.

buttonList

object (ButtonList)

ButtonList widget'ı.

textInput

object (TextInput)

TextInput widget'ı.

selectionInput

object (SelectionInput)

SelectionInput widget'ı.

dateTimePicker

object (DateTimePicker)

DateTimePicker widget'ı.

DividerStyle

Kartın bölme stili. Şu anda yalnızca kart bölümleri arasındaki ayırıcılar için kullanılmaktadır.

Sıralamalar
DIVIDER_STYLE_UNSPECIFIED Kullanmayın. Belirtilmedi.
SOLID_DIVIDER Varsayılan seçenek. Bölümler arasında kesintisiz bir ayırıcı oluşturun.
NO_DIVIDER Ayarlanırsa bölümler arasında ayırıcı oluşturulmaz.

CardAction

Kart işlemi, kartla ilişkilendirilmiş işlemdir. Örneğin, fatura kartları faturayı silme veya faturayı e-postayla gönderme veya faturayı bir tarayıcıda açma gibi işlemler içerebilir.

Chat uygulamaları tarafından desteklenmez.

JSON gösterimi
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
Alanlar
actionLabel

string

İşlem menüsü öğesi olarak görüntülenen etiket.

onClick

object (OnClick)

Bu işlem öğesi için onClick işlemi.

CardFixedFooter

Kartın en altında görünen kalıcı (yapışkan) altbilgi. Google Chat uygulamalarıyla ilgili bir örnek için Kart altbilgisi bölümüne bakın.

primaryButton veya secondaryButton belirtilmeden fixedFooter politikasının ayarlanması hataya neden olur.

Google Workspace Eklentileri ve Chat uygulamaları tarafından desteklenir. Chat uygulamalarında, iletişim kutularında sabit altbilgileri kullanabilirsiniz, ancak kart mesajları kullanamazsınız.

JSON gösterimi
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
Alanlar
primaryButton

object (Button)

Düzeltilmiş altbilginin birincil düğmesi. Düğme, metin ve renk ayarlanmış bir metin düğmesi olmalıdır.

secondaryButton

object (Button)

Düzeltilmiş altbilginin ikincil düğmesi. Düğme, metin ve renk ayarlanmış bir metin düğmesi olmalıdır. secondaryButton ayarlandıysa primaryButton değerini de ayarlamanız gerekir.

DisplayStyle

Google Workspace Eklentilerinde, kartların nasıl gösterileceğini belirler.

Chat uygulamaları tarafından desteklenmez.

Sıralamalar
DISPLAY_STYLE_UNSPECIFIED Kullanmayın. Belirtilmedi.
PEEK Kartın başlığı kenar çubuğunun en altında görünür ve kartın en üstündeki mevcut kartı kısmen kaplar. Başlığı tıkladığınızda kart, kart yığınına yerleştirilir. Kartta başlık yoksa bunun yerine oluşturulmuş bir başlık kullanılır.
REPLACE Varsayılan değer. Kart, kart yığınının en üstündeki kartın görünümü yerine yenisi ile gösterilir.