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ı bilgiler 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 dosyasını 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 başlık genellikle önünde bir resim ve bir başlık içerir. Başlıklar her zaman kartın üstünde görünür.

sections[]

object (Section)

Bir widget koleksiyonu içerir. Her bölümün isteğe bağlı kendi 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 işlemleri. İşlemler, kartın araç çubuğu menüsüne eklenir.

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

Örneğin, aşağıdaki JSON'de Settings ve Send Feedback seçeneklerine sahip bir kart işlemi 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ı. Kartta gezinmede kart tanımlayıcısı 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österilirken, kısa göz kartı başlığı bir yer tutucu görevi görür. Böylece kullanıcı, ana sayfa kartları ve içeriğe dayalı kartlar arasında ilerleyebilir.

Chat uygulamaları tarafından desteklenmez.

Kart Başlığı

Kart başlığını temsil eder. Google Chat uygulamalarıyla ilgili bir örnek için Kart başlığı bölümüne göz atı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 alır. Yalnızca başlık belirtilirse başlık her iki satırda da yer alır.

subtitle

string

Kart başlığının alt başlığı. Belirtilirse 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.

Resim Türü

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

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

Bölüm

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

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

string

Bir 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. Ancak kullanıcılar Daha fazla göster'i tıklayarak bölümü genişleterek gizli widget'ları görebilir. 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 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 aşağıdaki öğelerin yalnızca birine sahip 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 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. Birincisi mavi metin düğmesi, ikincisi ise 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 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ın boyut seçmesine 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'de randevu planlamak için bir tarih saat seçici oluşturulur:

"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 koleksiyonu içeren bir ızgara görüntüler.

Izgarada istediğiniz sayıda sütun ve öğe desteklenir. 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 öğe ve 2 sütun içeren bir ızgarada 5 satır vardır. 11 öğe ve 2 sütun içeren bir ızgarada 6 satır vardır.

Ö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'de her biri metin paragrafları olan 2 sütun oluşturulur:

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

MetinParagraf

Biçimlendirmeyi destekleyen bir metin paragrafı. Google Chat uygulamalarıyla ilgili bir örnek için Metin paragrafı bölümünü inceleyin. 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

URL ile belirtilen ve onClick işlemi içerebilen bir resim. Örnek için Resim bölümüne 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)

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

altText

string

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

Tıklandığında

Kullanıcılar karttaki etkileşimli bir öğeyi (ör. düğme) tıkladığında nasıl yanıt verileceğini temsil eder.

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 tıklandığında kart yığınına yeni bir kart 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 eylemdir. Örneğin, formu işlemek için bir Apps Komut Dosyası 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 iki tarafa da etkinleştirildiğinde çağrılacak özel bir işlev.

Örneğin kullanımı, Etkileşimli kartlar oluşturma konusuna bakın.

parameters[]

object (ActionParameter)

İşlem parametrelerinin listesi.

loadIndicator

enum (LoadIndicator)

Harekete geçirici mesaj yapılırken gösterilen yükleme göstergesini belirtir.

persistValues

boolean

İşlemden sonra form değerlerinin devam edip etmediğini belirtir. Varsayılan değer: false.

true ise işlem tetiklendikten sonra form değerleri kalır. İşlem işlenirken kullanıcının değişiklik yapmasına izin vermek için LoadIndicator öğesini 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 öğesinin 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ı önlemek için LoadIndicator özelliğini SPINNER olarak ayarlayın.

interaction

enum (Interaction)

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

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

Belirtilmemişse uygulama normal şekilde bir action çalıştırarak (ör. bir bağlantı açarak veya bir işlevi çalıştırarak) yanıt verir.

Bir interaction belirtildiğinde, uygulama özel etkileşimli şekillerde yanıt verebilir. Örneğin, interaction OPEN_DIALOG olarak ayarlandığında uygulama bir iletişim kutusunu açabilir. Belirtildiğinde 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ı sadeleştirilir ve istemcide hiçbir şey gösterilmez.

İşlem Parametresi

İş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. Dize parametreleri listesinde erteleme türünü ve erteleme süresini ileten action method = snooze() kullanabilirsiniz.

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.

Yük Göstergesi

Harekete geçirici mesaj yapılırken gösterilen yükleme göstergesini belirtir.

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

Etkileşim

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

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

Belirtilmemişse uygulama normal şekilde bir action çalıştırarak (ör. bir bağlantı açarak veya bir işlevi çalıştırarak) yanıt verir.

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

Belirtildiğinde 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ı sadeleştirilir 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.

Chat uygulamaları yalnızca kart mesajlarına yapılan düğme tıklamalarına yanıt olarak desteklenir.

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

OpenAs

OnClick işlemi bir bağlantıyı 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 istemci bu değeri desteklemiyorsa seçilen değer 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 olarak açılır (istemci tarafından kullanılan çerçeve).
OVERLAY Bağlantı, pop-up gibi bir yer paylaşımı olarak açılır.

AçıkKapat

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

Uygulama, müşteri platformunun özelliklerine bağlıdır. Örneğin, bir web tarayıcısı, OnClose işleyicisi olan 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ı bir iletişim kutusu görevi görür ve alt pencere kapanana kadar üst kart engellenir.

SüslüMetin

Metnin üstünde veya altında etiket, metnin önündeki bir simge, seçim widget'ı veya metinden sonraki 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üslü metin bölümüne göz atın.

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örüntülenen 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 kaydırılır ve birden çok satırda gösterilir. Aksi takdirde metin kısaltılır.

Yalnızca text için geçerli olup topLabel ve bottomLabel için geçerli değildir.

bottomLabel

string

text alanının 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 geçiş widget'ı.

endIcon

object (Icon)

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

Yerleşik ve özel simgeleri destekler.

Simge

Kart üzerindeki bir widget'ta gösterilen 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ı. Belirtilmemesi halinde varsayılan değer olarak Button sağlanır. En iyi uygulama olarak, simgenin ne gösterdiği ve varsa ne yaptığıyla ilgili 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ı fareyle 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 işareti yoksayılır.

imageType

enum (ImageType)

Resme uygulanan kırpma stili. Bazı durumlarda, CIRCLE kırpma işlemi uygulandığında resmin yerleşik bir 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, bir uçak simgesini görüntülemek için AIRPLANE değerini belirtin. Otobüs için BUS değerini 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örüntüler.

Ö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üne göz atın.

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 beyaz metinle sonuçlanabilir.

Ayarlanmadan bırakılırsa resim arka planı beyaz, yazı tipi rengi ise 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 sayısıdır: 0 ile 255 arasında bir sayının 255'e bölünmesi (153/255) veya 0 ile 1 arasında bir değer olarak (0,6). 0 değeri bir rengin olmadığını, 1 veya 255/255 değeri ise RGB ölçeğinde o rengin tam varlığını temsil eder.

İsteğe bağlı olarak alpha değerini ayarlayın. Bu işlem, aşağıdaki 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 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 bir 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üyü 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 gösterim, kompaktlık yerine çeşitli dillerdeki renk temsillerine dönüştürme kolaylığı sağlamak için tasarlanmıştır. Örneğin, bu gösterimin alanları Java'da java.awt.Color oluşturucuya basit bir şekilde sağlanabilir. Ayrıca iOS'teki UIColor'ın +colorWithRed:green:blue:alpha yöntemine de temel olarak sağlanabilir ve sadece çok az işle, JavaScript'te CSS rgba() dizesine kolayca biçimlendirilebilir.

Bu referans sayfada, 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). Uygulamalar, varsayılan olarak sRGB renk alanını dikkate almalıdır.

Renk eşitliğine karar verilmesi gerektiğinde, aksi belirtilmediği sürece uygulamalarda, iki rengin tümü kırmızı, yeşil, mavi ve alfa değerleri en fazla 1e-5 farklılık gösterse de eşit kabul edilir.

Ö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 rengin kırmızı miktarı.

green

number

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

blue

number

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

alpha

number

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

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

Diğer bir deyişle, 1,0 değeri düz bir renge, 0,0 değeri ise tamamen şeffaf bir renge karşılık 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).

Anahtar Kontrolü

Açma/kapatma stilinde 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şi 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

Kullanıcı tarafından girilen ve bir form girişi etkinliğinin parçası olarak döndürülen 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ündeki görünümü.

DenetimTürü

Anahtarın kullanıcı arayüzündeki görünümü.

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

Düğme Listesi

Yatay olarak yerleştirilmiş düğmelerin listesi. Google Chat uygulamalarıyla ilgili bir örnek için Düğme listesi bölümüne göz atın.

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şi 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 veriler 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

Bir form girişi etkinliğinde metin 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 metin giriş alanının üzerinde görünen metin.

Kullanıcının, uygulamanızın ihtiyaç duyduğu bilgileri girmesine yardımcı olacak metni belirtin. Örneğin, birinin adını soruyor ancak özellikle soyadını istiyorsanız name yerine surname yazın.

hintText belirtilmezse gereklidir. Diğer durumlarda isteğe bağlıdır.

hintText

string

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

label belirtilmezse gereklidir. Diğer durumlarda isteğe bağlıdır.

value

string

Kullanıcı tarafından girilen ve bir form girişi etkinliğinin parçası olarak döndürülen 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 görünüşü. Ö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 ne yapılması gerekir? Örneğin, bir kullanıcının alana eklemesi veya metin silmesi.

Yapılacak 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. Kullanıcılar yazarken, önerilen değerler 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++ önerebilir. Kullanıcılar Jav yazmaya başladığında, öneri filtreleri listesinde yalnızca Java ve JavaScript gösterilir.

Önerilen değerler, uygulamanızın anlamlandırabileceği değerler girmeleri için kullanıcıları yönlendirmenize yardımcı olur. JavaScript'ten bahsederken bazı kullanıcılar javascript, diğerleri java script girebilir. JavaScript önerisinde bulunmak, kullanıcıların uygulamanızla etkileşimde bulunma şeklini standartlaştırabilir.

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ı, 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.

Type

Metin giriş alanının kullanıcı arayüzünde görünüşü. Ö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ında birden fazla satır sabit yüksekliği var.

Ö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. Kullanıcılar yazarken, önerilen değerler 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++ önerebilir. Kullanıcılar Jav yazmaya başladığında, Java ve JavaScript öneri filtrelerinin listesi gösterilir.

Önerilen değerler, uygulamanızın anlamlandırabileceği değerler girmeleri için kullanıcıları yönlendirmenize yardımcı olur. JavaScript'ten bahsederken bazı kullanıcılar javascript, diğerleri java script girebilir. JavaScript önerisinde bulunmak, kullanıcıların uygulamanızla etkileşimde bulunma şeklini standartlaştırabilir.

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.

Öneri Öğesi

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

Önerilen girişin metin giriş alanı için değeri. Bu, kullanıcıların kendilerinin girdiği girişle eşdeğerdir.

Seçim Girişi

Kullanıcıların seçebileceği bir veya daha fazla kullanıcı arayüzü öğesi oluşturan bir widget. Örneğin, açılır menü veya onay kutuları. Bu widget'ı tahmin edilebilecek veya numaralandırılabilir verileri toplamak için 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şi 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 ihtiyaç duyduğu bilgileri girmesine yardımcı olacak metni belirtin. Örneğin, kullanıcılar açılır menüden iş biletinin aciliyetini seçiyorsa etiket "Aciliyet" veya "Aciliyet seçin" olabilir.

type

enum (SelectionType)

Bir 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 kutusunu işaretleyebilir, ancak bir açılır menüden yalnızca bir değer seçebilir.

items[]

object (SelectionItem)

Seçilebilir öğeler dizisi. Örneğin, bir dizi radyo düğmesi veya onay kutusu. 100 öğeye kadar destekler.

onChangeAction

object (Action)

Belirtilirse form, seçim değiştiğinde gönderilir. Belirtilmezse 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ülerinde, bir kullanıcının seçebileceği maksimum öğe sayısı. Minimum değer 1 öğedir. Belirtilmemişse 3 öğe olarak ayarlayın.

multiSelectMinQueryLength

integer

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

Belirtilmemişse statik veri kaynakları için 0 karakter, harici veri kaynakları için 3 karakter olarak ayarlayın.

Birlik alanı multi_select_data_source. Yalnızca sohbet uygulamaları. Çoklu seçim menüsü için, veri kaynağı türü. multi_select_data_source şunlardan yalnızca biri olabilir:
externalDataSource

object (Action)

Harici veri kaynağı (ör. ilişkisel veri tabanı).

platformDataSource

object (PlatformDataSource)

Google Workspace ana makine uygulamasından alınan bir veri kaynağı.

Seçim Türü

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ı ile 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ı etkinleştirebilir.
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 çok seçimli menü. 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 Chat kullanıcıları veya alanları gibi bir Google Workspace uygulamasından alınan veriler kullanılarak doldurulur.
  • Harici veriler: Öğeler dinamik bir harici veri kaynağından doldurulur.

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

SeçimÖğesi

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ü için 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. Bir 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.

PlatformVeri Kaynağı

Yalnızca sohbet uygulamaları. Çoklu seçim menüsü kullanan bir SelectionInput widget'ında Google Workspace ana makine uygulamasından alınan veriler kullanılır. Ç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 şunlardan yalnızca biri olabilir:
commonDataSource

enum (CommonDataSource)

Çoklu seçim menüsü kullanan bir SelectionInput widget'ı için, tüm Google Workspace ana makine uygulamaları (ör. bir Google Workspace kuruluşundaki kullanıcılar) tarafından paylaşılan bir veri kaynağı.

hostAppDataSource

object (HostAppDataSourceMarkup)

Gmail e-postaları, Google Takvim etkinlikleri veya Google Chat mesajları gibi bir Google Workspace ana makine uygulamasına özgü veri kaynağı.

OrtakVeriKaynağı

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

Sıralamalar
UNKNOWN Varsayılan değer. Kullanmayın.
USER

Google Workspace ana makine uygulaması tarafından sağlanan kullanıcı listesi. Örneğin, kullanıcıları Google Chat'ten kaynak olarak sunmak için kullanıcının kaynak adını kullanın.

Biçim: kullanıcılar/{kullanıcı}

HostAppDataSourceMarkup'ı

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

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üsü için veri toplayan Google Workspace uygulaması. data_source, aşağıdakilerden yalnızca biri olabilir:
chatDataSource

object (ChatClientDataSourceMarkup)

Veri kaynağı Google Chat'tir.

Sohbet İstemciVeri Kaynağıİşaretlemesi

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

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)

Bir Google Chat alanını temsil eden veri kaynağı.

Biçim: boşluklar/{boşluk}

UzayVeri Kaynağı

Bir Google Chat alanını temsil eden veri kaynağı.

Biçim: boşluklar/{boşluk}

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

boolean

true olduğunda, kartın Google Chat alanını varsayılan seçim olarak kullanır. Varsayılan değer: false.

Tarih ve Saat Seçici

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 konusuna göz atın.

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

Bir form girişi 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 sıfır zamanından bu yana geçen milisaniye cinsinden widget'ta görüntülenen varsayılan değer.

Değeri seçici türüne ( DateTimePickerType) göre 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) olan bir takvim tarihi. Örneğin, 1 Ocak 2023'ü temsil etmek için 1672531200000 değerini 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 cinsinden farkını gösteren sayı. Ayarlanırsa valueMsEpoch, belirtilen saat diliminde görüntülenir. Politika ayarlanmazsa 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.

Tarih/Saat Seçici Türü

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 tarih ve saat girer.
DATE_ONLY Kullanıcılar tarih girer.
TIME_ONLY Kullanıcılar zaman girişi yapar.

Ayırıcı

Bu türde alan yok.

Widget'lar arasında bir ayırıcıyı yatay çizgi olarak görüntüler. Google Chat uygulamalarına ilişkin bir örnek için Bölen konusuna bakın.

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

"divider": {}

Tablo

Öğe koleksiyonu 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üne bakın.

Izgarada istediğiniz sayıda sütun ve öğe desteklenir. Satır sayısı, öğelerin sütunlara bölünmesiyle belirlenir. 10 öğe ve 2 sütun içeren bir ızgarada 5 satır vardır. 11 öğe ve 2 sütun içeren bir ızgarada 6 satır vardır.

Ö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örüntülenen metin.

items[]

object (GridItem)

Izgarada görüntülenecek öğ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 öğenin tanımlayıcısı ve dizini eklenir.

IzgaraÖğesi

Bir öğeyi tablo 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örüntülenen 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.

ResimBileşeni

Bir görseli 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.

ResimKırpma Stili

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
}

ResimKırpma Türü

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 en boy oranına sahip dikdörtgen kırpma uygular. aspectRatio ile özel en boy oranını ayarlayın.
RECTANGLE_4_3 4:3 en boy oranına sahip dikdörtgen kırpma uygular.

Kenarlık Stili

Bir kartın veya widget'ın kenarlığıyla ilgili, kenarlık türü ve rengi de dahil olmak üzere 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ı.

KenarlıkTürü

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 Dış çizgi.

IzgaraÖğe Düzeni

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. Bu widget'lar belirtildikleri sırayla görünür. Google Chat uygulamalarına ilişkin bir örnek için Sütunlar konusuna bakın.

Her sütunun yüksekliği daha uzun olan 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 satır tanımlayamaz veya sütunlar arasında 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 ilk sütunun altına kaydırılır:

  • Web'de, ekran genişliği 480 pikselden az veya 480 piksele eşitse ikinci sütun sarmalanır.
  • iOS cihazlarda, ekran genişliği 300 puntodan az veya 300 pt'ye eşitse ikinci sütun sarmalanır.
  • Android cihazlarda, ekran genişliği 320 dp'den az veya 320 dp'ye eşitse ikinci sütun sarmalanı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

A 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 sütunun üst, alt veya orta kısmına hizalanıp hizalanmayacağını belirtir.

widgets[]

object (Widgets)

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

YatayBoyutStil

Bir sütunun, kartın genişliğini nasıl dolduracağını belirtir. Her sütunun genişliği hem HorizontalSizeStyle 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% 30'unu aşmamalıdır.

Yatay Hizalama

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üzenler için sola hizalanır. Sağdan sola düzenler için sağa hizalanır.
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.

Dikey Hizalama

Widget'ların sütunun üst, alt veya orta kısmı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ı sütunun alt kısmı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'ı.

Bölme Stili

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

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

Kart İşlemi

Kart işlemi, kartla ilişkilendirilmiş işlemdir. Örneğin, bir fatura kartı faturayı silme ve 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.

Kart Sabit Altbilgisi

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

primaryButton veya secondaryButton belirtilmeden fixedFooter işlevinin ayarlanması hataya neden olur.

Google Workspace Eklentileri ve Chat uygulamaları tarafından desteklenir. Chat uygulamaları için iletişim kutularında sabit altbilgiler kullanabilir, ancak kart mesajlarında kullanamazsınız.

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

object (Button)

Sabit altbilginin birincil düğmesi. Düğme, metin ve renk ayarları olan bir metin düğmesi olmalıdır.

secondaryButton

object (Button)

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

Ekran Stili

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 grubun mevcut üst kartını kısmen kaplar. Başlığı tıkladığınızda kart, kart yığınına yerleştirilir. Kartın başlığı yoksa bunun yerine oluşturulmuş bir başlık kullanılır.
REPLACE Varsayılan değer. Kart, kart yığınında en üstteki kartın görünümünü değiştirerek gösterilir.