Kart
Kartlar tanımlı bir düzeni, düğmeler gibi etkileşimli kullanıcı arayüzü öğelerini ve resimler gibi rich media'yı destekler. Ayrıntılı bilgi sunmak, kullanıcılardan bilgi toplamak ve kullanıcıları sonraki adımı atmaya yönlendirmek için kartları kullanın.
Google Chat'te kartlar birkaç yerde görünür:
- Bağımsız mesajlar olarak.
- Kısa mesajın hemen altında, kısa mesajın altında bulunur.
- iletişim kutusu olarak.
Aşağıdaki örnek JSON, şunları içeren bir "iletişim kartı" oluşturur:
- Kişinin adı, iş unvanı, avatar resmini içeren bir başlık.
- İletişim bilgileri (biçimlendirilmiş metin dahil) bulunan bir bölümdür.
- Kullanıcıların kişiyi paylaşmak veya daha fazla ya da daha az bilgi görmek için tıklayabilecekleri düğmeler.
{
"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 ( |
Alanlar | |
---|---|
header
|
Kartın başlığı. Üstbilgiler genellikle baştaki resim ve başlıktan oluşur. Üstbilgiler her zaman kartın üst kısmında gösterilir. |
sections[]
|
Widget koleksiyonunu içerir. Her bölümün ayrı, isteğe bağlı bir başlığı vardır. Bölümler, bir çizgi ayırıcı ile görsel olarak ayrılır. |
cardActions[]
|
Kartın eylemleri. İşlemler, kartın araç çubuğu menüsüne eklenir.
Chat uygulama kartlarında araç çubuğu olmadığından
Örneğin, aşağıdaki JSON'da Ayarlar ve Geri Bildirim Gönder seçeneklerini içeren bir kart işlemi menüsü oluşturulur:
|
name
|
Kartın adı. Kartlı gezinmede kart tanımlayıcısı olarak kullanılır. Chat uygulamaları kartta gezinmeyi desteklemediği için bu alanı yoksayar. |
fixedFooter
|
Bu kartın altında gösterilen sabit altbilgi.
Chat uygulamaları
iletişim kutularında
|
displayStyle
|
Google Workspace eklentilerinde, Chat uygulamaları tarafından desteklenmez. |
peekCardHeader
|
Bağlamsal içerik gösterilirken göz atma kartı yer tutucu görevi görür, böylece kullanıcı ana sayfa kartları ve içeriğe dayalı kartlar arasında gezinebilir. Chat uygulamaları tarafından desteklenmez. |
Kart Başlığı
Kart başlığını gösterir.
JSON gösterimi |
---|
{
"title": string,
"subtitle": string,
"imageType": enum (
|
Alanlar | |
---|---|
title
|
Zorunlu. Kart başlığının başlığı. Başlık sabit bir yüksekliğe sahip: Hem başlık hem de alt başlık belirtilirse her biri bir satır alır. Yalnızca başlık belirtilirse her iki satırı da kaplar. |
subtitle
|
Kart başlığının alt başlığı. Belirtilirse |
imageType
|
Resmi kırpmak için kullanılan şekil. |
imageUrl
|
Kart başlığındaki resmin HTTPS URL'si. |
imageAltText
|
Erişilebilirlik için kullanılan bu resmin alternatif metni. |
ResimTürü
Resmi kırpmak için kullanılan şekil.
Sıralamalar | |
---|---|
SQUARE
|
Varsayılan değer. Resme kare maske ekler. Örneğin, 4x3 boyutunda bir resim 3x3 olur. |
CIRCLE
|
Görsele dairesel bir maske uygular. Örneğin, 4x3 boyutunda bir resim çapı 3 olan bir daire haline gelir. |
Bölüm
Bölüm, belirtilen sırayla dikey olarak oluşturulan bir widget koleksiyonunu içerir.
JSON gösterimi |
---|
{
"header": string,
"widgets": [
{
object (
|
Alanlar | |
---|---|
header
|
Bölümün üst kısmında görünen metin. Basit HTML biçimli metni destekler. |
widgets[]
|
Bölümdeki tüm widget'lar. En az 1 widget içermelidir. |
collapsible
|
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,{101} <br class="ph-0-0">{101} Daha fazla göster{101} <br class="ph" seçeneğini tıklayarak bölümü genişleterek gizli widget'ları ortaya çıkarabilir -1-1">{101} . Kullanıcılar, Daha az göster seçeneğini tıklayarak widget'ları tekrar gizleyebilir.
Hangi widget'ların gizlendiğini belirlemek için |
uncollapsibleWidgetsCount
|
Bir bölüm daraltıldığında bile görünür kalan daraltılamayan widget'ların sayısı.
Örneğin, bir bölümde beş widget varsa ve |
Widget
Her kart widget'lardan oluşur.
Widget; metin, resim, düğme ve diğer nesne türlerinden birini temsil edebilen birleşik bir nesnedir.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birlik alanı
data
. Bir widget yalnızca aşağıdaki öğelerden birine sahip olabilir. Daha fazla öğe görüntülemek için birden fazla widget alanı kullanabilirsiniz.
data
aşağıdakilerden yalnızca biri olabilir:
|
|
textParagraph
|
Bir metin paragrafı görüntüler. Basit HTML biçimli metni destekler. Örneğin, aşağıdaki JSON kalın metin oluşturur:
|
image
|
Bir resim gösterir. Örneğin, aşağıdaki JSON alternatif metinle birlikte bir resim oluşturur:
|
decoratedText
|
Süslü bir metin öğesi gösterir. Örneğin, aşağıdaki JSON, e-posta adresini gösteren süslü bir metin widget'ı oluşturur:
|
buttonList
|
Düğme listesi. Örneğin, aşağıdaki JSON iki düğme oluşturur. Bunlardan birincisi mavi renkli bir metin düğmesi, ikincisi ise bağlantıyı açan resim düğmesidir:
|
textInput
|
Kullanıcıların metin yazabileceği bir metin kutusu gösterir. Örneğin, aşağıdaki JSON bir e-posta adresi için metin girişi oluşturur:
Bir başka örnek olarak aşağıdaki JSON, statik önerilerle bir programlama dili için metin girişi oluşturur:
|
selectionInput
|
Kullanıcıların öğeleri seçmesine izin veren bir seçim kontrolü 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 kullanıcıların bir boyut seçmesine olanak tanıyan bir açılır menü oluşturur:
|
dateTimePicker
|
Tarih, saat veya tarih ve saat için bir seçim/giriş widget'ı görüntüler. Chat uygulamaları tarafından desteklenmez. Chat uygulamalarında destek yakında başlayacak. Örneğin, aşağıdaki JSON randevu planlamak için bir tarih ve saat seçici oluşturur:
|
divider
|
Widget'lar arasında yatay çizgi ayırıcısı gösterir. Örneğin, aşağıdaki JSON bir ayırıcı oluşturur:
|
grid
|
Bir öğe koleksiyonunun bulunduğu ızgarayı gösterir. Izgara, herhangi bir sayıda sütunu 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 ızgaranın 5 satırı vardır. 11 öğeli ve 2 sütunlu 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:
|
MetinParagraf
Biçimlendirmeyi destekleyen bir paragraf. Ayrıntılar için Metin biçimlendirme bölümüne bakın.
JSON gösterimi |
---|
{ "text": string } |
Alanlar | |
---|---|
text
|
Widget'ta gösterilen metin. |
Resim
URL ile belirtilen ve
onClick
işlemi olabilecek bir resim.
JSON gösterimi |
---|
{
"imageUrl": string,
"onClick": {
object (
|
Alanlar | |
---|---|
imageUrl
|
Resmi barındıran Örneğin:
|
onClick
|
Kullanıcı resmi tıkladığında, bu işlem tetiklenir. |
altText
|
Erişilebilirlik için kullanılan bu resmin alternatif metni. |
Tıklama
Kullanıcılar, karttaki etkileşimli bir öğeyi (ör. bir düğmeyi) tıkladıklarında nasıl yanıt vereceklerini temsil eder.
JSON gösterimi |
---|
{ // Union field |
Alanlar | |
---|---|
Birlik alanı
|
|
action
|
Belirtilirse bu |
openLink
|
Belirtilirse bu |
openDynamicLinkAction
|
Eklenti, bağlantının açılması gerektiğinde bu işlemi tetikler. Bu, bağlantıyı almak için sunucuyla iletişim kurulması gerektiği için yukarıdaki |
card
|
Belirtilirse, tıklama işleminden sonra kart yığınına yeni bir kart aktarılır. Google Workspace eklentileri tarafından desteklenir ancak Chat uygulamaları tarafından desteklenmez. |
İşlem
Form gönderildiğinde davranışı açıklayan bir işlem. Örneğin, formu işlemek için Apps Komut Dosyası çağırılabilir. İşlem tetiklenirse form değerleri sunucuya gönderilir.
JSON gösterimi |
---|
{ "function": string, "parameters": [ { object ( |
Alanlar | |
---|---|
function
|
Kapsayıcı öğe tıklandığında veya alt özellik etkinleştirildiğinde çağrılan özel işlev. Örneğin, Etkileşimli kart oluşturma bölümüne göz atın. |
parameters[]
|
İşlem parametrelerinin listesi. |
loadIndicator
|
Harekete geçirici mesaj gösterilirken işlemin gösterdiği yükleme göstergesini belirtir. |
persistValues
|
Form değerlerinin işlemden sonra da devam edip etmediğini belirtir. Varsayılan değer:
|
interaction
|
İsteğe bağlı. İletişim kutusu açılırken gerekir. Bir kullanıcının etkileşimine yanıt olarak yapılması gerekenler (ör. bir kullanıcı, kart mesajındaki düğmeyi tıkladığında).
Belirtilmemesi halinde uygulama, normal şekilde bir
Uygulama,
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ı çıkarılır ve istemcide hiçbir şey gösterilmez. |
İşlemParametresi
İşlem yöntemi çağrıldığında verilecek dize parametrelerinin listesi. Örneğin, şu üç erteleme düğmesini kullanabilirsiniz: "ertele", "1 gün ertele", "ertesi hafta ertele". Dize parametreleri listesinde erteleme türünü ve erteleme zamanını ileterek işlem yöntemi = pause() işlemini kullanabilirsiniz.
Daha fazla bilgi için CommonEventObject bölümüne bakın.
JSON gösterimi |
---|
{ "key": string, "value": string } |
Alanlar | |
---|---|
key
|
İşlem komut dosyası için parametrenin adı. |
value
|
Parametrenin değeri. |
Yük Göstergesi
Harekete geçirici mesaj gösterilirken işlemin gösterdiği yükleme göstergesini belirtir.
Sıralamalar | |
---|---|
SPINNER
|
İçeriğin yüklendiğini 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 gerekir.
Bir kullanıcının etkileşimine yanıt olarak yapılması gerekenler (ör. bir kullanıcı, kart mesajındaki düğmeyi tıkladığında).
Belirtilmemesi halinde uygulama, normal şekilde bir
action
işlemi (bağlantı açma veya bir işlevi çalıştırma gibi) çalıştırarak yanıt verir.
Uygulama,
interaction
belirterek özel etkileşimli şekillerde yanıt verebilir. Örneğin,
interaction
öğesini
OPEN_DIALOG
olarak ayarladığınızda, uygulama bir
iletişim kutusu
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ı çıkarı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şim kurmak için kullandığı, pencereye dayalı, kart tabanlı bir arayüz olan iletişim kutusunu açar. Yalnızca kart mesajlarındaki düğme tıklamalarına yanıt olarak Chat uygulamaları tarafından desteklenir. Google Workspace eklentileri tarafından desteklenmez. Bir eklenti için belirtilirse, kartın tamamı çıkarılır ve istemcide hiçbir şey gösterilmez. |
OpenLink
Bir köprünün açıldığı
onClick
etkinliğini temsil eder.
JSON gösterimi |
---|
{ "url": string, "openAs": enum ( |
Alanlar | |
---|---|
url
|
Açılacak URL. |
openAs
|
Bağlantı nasıl açılır? Chat uygulamaları tarafından desteklenmez. |
onClose
|
İstemcinin bir bağlantıyı açtıktan sonra unutup unutmadığı veya pencere kapanıncaya kadar gözlemleyip gözlemlemeyeceği. Chat uygulamaları tarafından desteklenmez. |
OpenA'lar
Bir OnClick tarafından bağlantı açıldığında, istemci bu bağlantıyı tam boyutlu pencere (istemci tarafından kullanılan çerçeve ise) veya yer paylaşımı (pop-up gibi) olarak açabilir. Uygulama, istemci platformu özelliklerine bağlıdır ve müşteri desteklemiyorsa seçilen değer yoksayılabilir.
FULL_SIZE
tüm istemciler tarafından destekleniyor.
Google Workspace eklentileri tarafından desteklenir ancak Chat uygulamaları tarafından desteklenmez.
Sıralamalar | |
---|---|
FULL_SIZE
|
Bağlantı, tam boyut penceresi olarak açılır (istemci tarafından kullanılan çerçeve buysa). |
OVERLAY
|
Bağlantı, pop-up gibi bir yer paylaşımı olarak açılır. |
Kapanış
OnClick
işlemi tarafından açılan bir bağlantı kapatıldığında istemcinin yaptığı işlem.
Kullanım, istemci platformu özelliklerine bağlıdır. Örneğin, bir web tarayıcısı,
OnClose
işleyicisine sahip bir pop-up pencerede bağlantı açabilir.
Hem
OnOpen
hem de
OnClose
işleyicisi ayarlanmışsa ve istemci platformu her iki değeri de destekleyemiyorsa
OnClose
öncelikli olur.
Google Workspace eklentileri tarafından desteklenir ancak Chat uygulamaları tarafından desteklenmez.
Sıralamalar | |
---|---|
NOTHING
|
Varsayılan değer. Kart yeniden yüklenmez; hiçbir şey olmaz. |
RELOAD
|
Alt pencere kapatıldıktan sonra kartı yeniden yükler. OpenAs.OVERLAY ile birlikte kullanıldığında alt pencere, kalıcı bir iletişim kutusu görevi görür ve alt pencere kapatılana kadar üst kart engellenir. |
Metin
İsteğe bağlı süslemelerle metnin, metnin üzerinde veya altında bir etiket, metnin önünde bir simge, bir seçim widget'ı veya metnin ardından gelen bir düğme gibi öğeleri gösteren bir widget.
JSON gösterimi |
---|
{ "icon": { object ( |
Alanlar | |
---|---|
icon
|
|
startIcon
|
Metnin önünde gösterilen simge. |
topLabel
|
|
text
|
Zorunlu. Birincil metin. Basit biçimlendirmeyi destekler. Biçimlendirme ayrıntıları için Metin biçimlendirme bölümüne bakın. |
wrapText
|
Metin kaydırma ayarı.
Yalnızca
|
bottomLabel
|
Metnin altında görünen metin
|
onClick
|
Kullanıcılar
|
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
|
Bir işlemi tetiklemek için tıklanabilen bir düğme. |
switchControl
|
Bir anahtar widget'ı, durumunu değiştirmek ve bir işlemi tetiklemek için tıklanabilir. |
endIcon
|
Metinden sonra bir simge görüntülenir. |
Simge
Karttaki bir widget'ta gösterilen simge.
JSON gösterimi |
---|
{ "altText": string, "imageType": enum ( |
Alanlar | |
---|---|
altText
|
İsteğe bağlı. Erişilebilirlik için kullanılan simgenin açıklaması. Belirtilmemesi durumunda varsayılan değer "Düğme" olarak sağlanmıştır. En iyi uygulama olarak, simgenin gösterdiği şeyler ve (varsa) ne işe yaradığı hakkında faydalı bir açıklama belirlemeniz gerekir. Örneğin,
Simge bir |
imageType
|
Resme uygulanan kırpma stili. Bazı durumlarda |
Birlik alanı
icons
. Karttaki widget'ta gösterilen simge.
icons
aşağıdakilerden yalnızca biri olabilir:
|
|
knownIcon
|
Google Workspace tarafından sağlanan yerleşik simgelerden birini görüntüleyin.
Örneğin, bir uçak simgesi görüntülemek için Desteklenen simgelerin tam listesi için yerleşik simgeler bölümüne bakın. |
iconUrl
|
HTTPS URL'sinde barındırılan bir özel simge görüntüleyin. Örneğin:
Desteklenen dosya türleri şunları içerir: |
Düğme
Kullanıcıların tıklayabileceği metin, simge veya metin + simge düğmesi.
Bir resmi tıklanabilir düğme yapmak için
Image
(
ImageComponent
değil) belirtin ve
onClick
işlemi ayarlayın.
Şu anda Chat uygulamalarında ( iletişim kutuları ve kart mesajları ve Google Workspace Eklentileri dahil) desteklenmektedir.
JSON gösterimi |
---|
{ "text": string, "icon": { object ( |
Alanlar | |
---|---|
text
|
Düğmenin içinde görüntülenen metin. |
icon
|
Simge resmi. Hem
|
color
|
Ayarlanırsa düğme düz bir arka plan rengiyle doldurulur ve arka plan rengiyle kontrastı korumak için yazı tipi rengi değişir. Örneğin, mavi bir arka plan ayarlamak büyük olasılıkla beyaz metne neden olacaktır. Bu politika ayarlanmadan bırakılırsa resim arka planı beyaz, yazı tipi rengi mavi olur.
Kırmızı, yeşil ve mavi için her alanın değeri, iki şekilde ifade edilebilen bir İsteğe bağlı olarak alfayı ayarlayın. Bu, şu denklemi kullanarak bir şeffaflık düzeyi belirler:
Alfa için 1 değeri tek bir renge, 0 değeri tamamen şeffaf bir renge karşılık gelir. Örneğin, aşağıdaki renk yarı saydam kırmızıyı temsil eder:
|
onClick
|
Zorunlu. Düğme tıklandığında gerçekleştirilecek işlemdir (ör. köprü açma veya özel bir işlev çalıştırma). |
disabled
|
|
altText
|
Erişilebilirlik için kullanılan alternatif metin. Kullanıcılara düğmenin işlevini bildirin. Örneğin, bir düğme köprü açarsa şunu yazabilirsiniz: "Yeni bir tarayıcı sekmesi açar ve https://developers.google.com/chat" adresindeki Google Chat geliştirici belgelerine gider. |
Renk
RGBA renk alanındaki bir rengi temsil eder. Bu temsil, farklı dillerdeki renk temsillerinin küçükten çoke doğru dönüşümünü kolaylaştırmak için tasarlanmıştır. Örneğin, bu temsilin alanları Java'da
java.awt.Color
adlı oluşturucunun önemli bir şekilde sağlanmasına, iOS'ta UIColor'ın
+colorWithRed:green:blue:alpha
yöntemi için de olumlu bir şekilde sağlanabilir. Ayrıca, çok az bir çalışmayla kolayca JavaScript'te bir CSS
rgba()
dizesi olarak 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, BT.2020 vb.). Uygulamalar, varsayılan olarak sRGB renk alanını dikkate almalıdır.
Renk eşitliğine karar verilmesi gerektiğinde, uygulamalar, 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 iki rengi eşit kabul edin.
Ö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
|
Renk [0, 1] değeri olarak kırmızı renktir. |
green
|
Renk [0, 1] değeri olarak yeşil renktir. |
blue
|
Renk [0, 1] değeri olarak mavi renk miktarı. |
alpha
|
Bu rengin piksele uygulanması gereken kısmı. Yani son piksel rengi şu denklemle tanımlanır:
Bu, 1,0 değerinin tek bir renge, 0,0 değerinin tamamen şeffaf bir renge karşılık geldiği anlamına gelir. Bu, basit bir kayan skaler yerine bir sarmalayıcı mesajı kullanır. Böylece varsayılan değer ile ayarlanmayan değer arasında ayrım yapabilirsiniz. Atlanırsa bu renk nesnesi tek bir renk olarak oluşturulur (alfa değerine açıkça 1.0 değeri verilmiş gibi). |
Anahtar Kontrolü
decoratedText
widget'ının içindeki açma/kapatma stili anahtarı veya onay kutusu.
Yalnızca
decoratedText
widget'ında desteklenir.
JSON gösterimi |
---|
{ "name": string, "value": string, "selected": boolean, "onChangeAction": { object ( |
Alanlar | |
---|---|
name
|
Form giriş etkinliğinde anahtar widget'ının tanımlandığı ad. Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma başlıklı makaleye bakın. |
value
|
Bir kullanıcı tarafından girilen ve form girişi etkinliğinin bir 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 başlıklı makaleye bakın. |
selected
|
|
onChangeAction
|
Anahtar durumu değiştirildiğinde, hangi işlevin yürütüleceği gibi gerçekleştirilecek işlem. |
controlType
|
Anahtarın kullanıcı arayüzünde nasıl göründüğü. |
Kontrol Türü
Anahtarın kullanıcı arayüzünde nasıl göründüğü.
Sıralamalar | |
---|---|
SWITCH
|
Açma/kapatma anahtarı. |
CHECKBOX
|
CHECK_BOX
lehine kullanımdan kaldırıldı.
|
CHECK_BOX
|
Onay kutusu. |
Düğme Listesi
Yatay olarak yerleştirilmiş bir düğme listesi.
JSON gösterimi |
---|
{
"buttons": [
{
object (
|
Alanlar | |
---|---|
buttons[]
|
Bir dizi düğme. |
TextInput
Kullanıcıların metin girebileceği bir alandır. Önerileri ve değiştirme işlemlerini destekler.
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 başlıklı makaleye bakın.
Kullanıcılardan soyut veriler toplamanız gerektiğinde bir metin girişi kullanın. Kullanıcılardan tanımlı veriler toplamak için bunun yerine seçim giriş widget'ını kullanın.
JSON gösterimi |
---|
{ "name": string, "label": string, "hintText": string, "value": string, "type": enum ( |
Alanlar | |
---|---|
name
|
Form girişi etkinliğinde metin girişinin tanımlandığı ad. Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma başlıklı makaleye bakın. |
label
|
Kullanıcı arayüzündeki 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 bir metin belirtin. Örneğin, birisinin adını öğrenmek istiyorsanız ancak bu kişinin soyadına ihtiyaç duyuyorsanız "ad" yerine "soyadı" yazın.
|
hintText
|
Belirli bir değeri girmelerini isteyerek kullanıcılara yardımcı olmayı amaçlayan metin giriş alanının altında görünen metin. Bu metin her zaman görünür.
|
value
|
Bir kullanıcı tarafından girilen ve form girişi etkinliğinin bir 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 başlıklı makaleye bakın. |
type
|
Metin giriş alanının kullanıcı arayüzünde nasıl göründüğü. Örneğin, alanın tek satır mı yoksa çok satırlı mı olduğu. |
onChangeAction
|
Metin giriş alanında değişiklik olduğunda yapılması gerekenler. Değişikliklere örnek olarak alana kullanıcı ekleme veya metni silme verilebilir. Özel bir işlev çalıştırmak veya Google Chat'te bir iletişim kutusu açmak, yapabileceğiniz işlemlere örnek olarak verilebilir. |
initialSuggestions
|
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österilir. 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++ önerisinde bulunabilir. Kullanıcılar "Jav" yazmaya başladığında, öneri listesi yalnızca Java ve JavaScript'i gösterecek şekilde filtreler. Önerilen değerler, uygulamanızın anlamlı bulabileceği değerler girmeye yardımcı olur. Bazı kullanıcılar JavaScript'ten bahsederken "javascript", diğer kullanıcılar "java komut dosyası" girebilir. "JavaScript" önerisi, kullanıcıların uygulamanızla etkileşimde bulunma şeklini standartlaştırabilir.
|
autoCompleteAction
|
İsteğe bağlı. Metin giriş alanı, etkileşimde bulunan kullanıcılara önerilerde bulunduğunda yapılacak işlemi belirtin.
Belirtilmemesi durumunda öneriler Belirtilirse uygulama burada belirtilen işlemi (ör. özel bir işlevin çalıştırılması) gerçekleştirir. Google Workspace eklentileri tarafından desteklenir ancak Chat uygulamaları tarafından desteklenmez. Sohbet uygulamaları desteği yakında geliyor. |
Tür
Metin giriş alanının kullanıcı arayüzünde nasıl göründüğü. Örneğin, tek satırlık giriş alanı mı yoksa çok satırlı giriş mi olduğu.
initialSuggestions
belirtilirse
MULTIPLE_LINE
olarak ayarlanmış olsa bile
type
her zaman
SINGLE_LINE
olur.
Sıralamalar | |
---|---|
SINGLE_LINE
|
Metin giriş alanının sabit yüksekliği bir satır. |
MULTIPLE_LINE
|
Metin giriş alanının sabit yüksekliği birden fazla satır içeriyor. |
Ö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österilir. 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++ önerisinde bulunabilir. Kullanıcılar "Jav" yazmaya başladığında, öneri listesi yalnızca Java ve JavaScript'i gösterecek şekilde filtreler.
Önerilen değerler, uygulamanızın anlamlı bulabileceği değerler girmeye yardımcı olur. Bazı kullanıcılar JavaScript'ten bahsederken "javascript", diğer kullanıcılar "java komut dosyası" girebilir. "JavaScript" önerisi, kullanıcıların uygulamanızla etkileşimde bulunma şeklini standartlaştırabilir.
TextInput.type
öğesi belirtildiğinde,
MULTIPLE_LINE
olarak ayarlanmış olsa bile
her zaman
SINGLE_LINE
olarak ayarlanır.
JSON gösterimi |
---|
{
"items": [
{
object (
|
Alanlar | |
---|---|
items[]
|
Metin giriş alanlarındaki önerileri otomatik tamamlama 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 |
Alanlar | |
---|---|
Birlik alanı
|
|
text
|
Metin girişi alanına önerilen bir girişin değeri. Bu, kullanıcıların kendilerinin gireceği değerle aynıdır. |
Giriş Girişi
Kullanıcıların seçebileceği seçenekler bulunan bir kullanıcı arayüzü öğesi oluşturan. Örneğin, bir açılır menü veya kontrol listesi.
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 başlıklı makaleye bakın.
Belirlediğiniz seçeneklerle eşleşen kullanıcılardan veri toplamanız gerektiğinde bir seçim girişi kullanın. Kullanıcılardan soyut veriler toplamak için bunun yerine metin girişi widget'ını kullanın.
JSON gösterimi |
---|
{ "name": string, "label": string, "type": enum ( |
Alanlar | |
---|---|
name
|
Form girişi etkinliğinde seçim girişinin tanımlandığı ad. Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma başlıklı makaleye bakın. |
label
|
Kullanıcı arayüzündeki 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 bir metin belirtin. Örneğin, kullanıcılar açılır menüden iş biletinin aciliyetini seçiyorsa etiket "Acil" veya "Aciliyet seçin" olabilir. |
type
|
Bir seçeneğin kullanıcılara gösterilme şekli. Farklı seçenekler, farklı etkileşim türlerini destekler. Örneğin, kullanıcılar birden fazla onay kutusunu etkinleştirebilir ancak açılır menüden yalnızca bir değer seçebilir. Her seçim girişi bir seçim türünü destekler. Örneğin, onay kutuları ile anahtarların karıştırılması desteklenmez. |
items[]
|
Seçilen öğelerin dizisi. Örneğin, seçili tüm onay kutuları için. |
onChangeAction
|
Belirtilirse seçim değiştiğinde form gönderilir. Belirtilmezse formu gönderen ayrı bir düğme belirtmelisiniz. Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma başlıklı makaleye bakın. |
Seçim Türü
Bir seçeneğin kullanıcılara gösterilme şekli. Farklı seçenekler, farklı etkileşim türlerini destekler. Örneğin, kullanıcılar birden fazla onay kutusunu etkinleştirebilir ancak açılır menüden yalnızca bir değer seçebilir.
Her seçim girişi bir seçim türünü destekler. Örneğin, onay kutuları ile anahtarların karıştırılması desteklenmez.
Sıralamalar | |
---|---|
CHECK_BOX
|
Bir dizi onay kutusu. Kullanıcılar, seçim girişi başına birden fazla onay kutusunu seçebilir. |
RADIO_BUTTON
|
Bir dizi radyo düğmesi. Kullanıcılar, seçim girişi başına bir radyo düğmesi seçebilir. |
SWITCH
|
Bir anahtarlar grubu. Kullanıcılar her seçim girişi için aynı anda birden fazla anahtarı etkinleştirebilir. |
DROPDOWN
|
Açılır menü. Kullanıcılar her seçim girişi için bir açılır menü öğesi seçebilir. |
Seçim Öğesi
Onay kutusu veya anahtar gibi bir seçim girişinde seçilebilir öğe.
JSON gösterimi |
---|
{ "text": string, "value": string, "selected": boolean } |
Alanlar | |
---|---|
text
|
Kullanıcılara gösterilen metin. |
value
|
Bu öğeyle ilişkilendirilen değer. İstemci bu formu 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 başlıklı makaleye bakın. |
selected
|
|
TarihSaat Seçici
Kullanıcıların bir tarih, saat veya hem tarih hem de saat belirtmesini sağlar.
Kullanıcılardan metin girişi kabul eder ancak kullanıcıların doğru şekilde biçimlendirilmiş tarih ve saatler girmesine yardımcı olan etkileşimli bir tarih ve saat seçici içerir. Kullanıcılar tarih veya saati yanlış girerse widget, kullanıcılardan doğru biçimi girmelerini isteyen bir hata gösterir.
Chat uygulamaları tarafından desteklenmez. Sohbet uygulamaları desteği yakında geliyor.
JSON gösterimi |
---|
{ "name": string, "label": string, "type": enum ( |
Alanlar | |
---|---|
name
|
Tarih giriş seçicisinin bir form girişi etkinliğinde tanımlandığı ad. Form girişleriyle çalışma hakkında ayrıntılı bilgi için Form verilerini alma başlıklı makaleye bakın. |
label
|
Kullanıcılardan tarih, saat veya tarih bilgisi girmelerini isteyen metin. Kullanıcının uygulamanızın ihtiyaç duyduğu bilgileri girmesine yardımcı olacak bir metin belirtin. Örneğin, kullanıcılar bir randevu belirliyorsa "Randevu tarihi" veya "Randevu tarihi ve saati" gibi bir etiket uygun olabilir. |
type
|
Tarih ve saat seçicinin desteklediği tarih ve saat türü. |
valueMsEpoch
|
Kullanıcı girişinden veya önceki kullanıcı girişinden önce varsayılan olarak gösterilen değer (milisaniye cinsinden). Dönem zamanı .
|
timezoneOffsetDate
|
UTC saat dilimine göre saat dilimi farkını dakika cinsinden gösteren sayı. Ayarlanırsa
|
onChangeAction
|
Kullanıcı, tarih ve saat dilimi seçici arayüzünden Kaydet veya Temizle seçeneğini tıkladığında tetiklenir. |
TarihSaat SeçiciTürü
Tarih ve saat seçicinin desteklediği tarih ve saat türü.
Sıralamalar | |
---|---|
DATE_AND_TIME
|
Kullanıcı bir tarih ve saat seçebilir. |
DATE_ONLY
|
Kullanıcı yalnızca bir tarih seçebilir. |
TIME_ONLY
|
Kullanıcı yalnızca saat seçebilir. |
Ayırıcı
Widget'lar arasında yatay bir çizgi olan bir ayırıcı görüntüler.
Örneğin, aşağıdaki JSON bir ayırıcı oluşturur:
"divider": {}
GRid
Bir öğe koleksiyonunun bulunduğu ızgarayı gösterir.
Izgara, herhangi bir sayıda sütunu ve öğeyi destekler. Satır sayısı, öğelerin sütunlara bölünmesiyle belirlenir. 10 öğeli ve 2 sütunlu bir ızgaranın 5 satırı vardır. 11 öğeli ve 2 sütunlu 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 ( |
Alanlar | |
---|---|
title
|
Izgara başlığında görüntülenen metin. |
items[]
|
Izgarada gösterilecek öğeler. |
borderStyle
|
Her bir ızgara öğesine uygulanacak kenarlık stili. |
columnCount
|
Izgarada görüntülenecek sütun sayısı. Bu alan belirtilmezse varsayılan bir değer kullanılır ve bu varsayılan değer, ızgaranın gösterildiği yere (iletişim kutusu ve tamamlayıcı) bağlı olarak farklılık gösterir. |
onClick
|
Bu geri çağırma, bağımsız her ızgara öğesi tarafından yeniden kullanılır. Ancak, geri çağırmanın parametrelerine eklenen öğe listesinde öğenin tanımlayıcısı ve dizini kullanılır. |
Izgara Öğesi
Izgara düzenindeki tek bir öğeyi temsil eder.
JSON gösterimi |
---|
{ "id": string, "image": { object ( |
Alanlar | |
---|---|
id
|
Bu ızgara öğesi için kullanıcı tarafından belirtilen tanımlayıcı. Bu tanımlayıcı, üst Tablo'nun onClick geri çağırma parametrelerinde döndürülür. |
image
|
Izgara öğesinde görüntülenen resim. |
title
|
Izgara öğesinin başlığı. |
subtitle
|
Izgara öğesinin alt başlığı. |
layout
|
Izgara öğesi için kullanılacak düzen. |
ResimBileşeni
Bir resmi temsil eder.
JSON gösterimi |
---|
{ "imageUri": string, "altText": string, "cropStyle": { object ( |
Alanlar | |
---|---|
imageUri
|
Resim URL'si. |
altText
|
Resmin erişilebilirlik etiketi. |
cropStyle
|
Resme uygulanacak kırpma stili. |
borderStyle
|
Resme uygulanacak kenarlık stili. |
ResimKırpma Stili
Bir resme uygulanan kırpma stilini gösterir.
Örneğin, 16x9 en boy oranını nasıl uygulayacağınız aşağıda açıklanmıştır:
cropStyle {
"type": "RECTANGLE_CUSTOM",
"aspectRatio": 16/9
}
JSON gösterimi |
---|
{
"type": enum (
|
Alanlar | |
---|---|
type
|
Kırpma türü. |
aspectRatio
|
Kırpma türü Örneğin, 16x9 en boy oranını nasıl uygulayacağınız aşağıda açıklanmıştır:
|
ResimKırpmaTürü
Bir resme uygulanan kırpma stilini gösterir.
Sıralamalar | |
---|---|
IMAGE_CROP_TYPE_UNSPECIFIED
|
Değer belirtilmedi. Kullanmayın. |
SQUARE
|
Varsayılan değer. Kare kırpma uygular. |
CIRCLE
|
Dairesel kırpma uygular. |
RECTANGLE_CUSTOM
|
Özel en boy oranına sahip dikdörtgen bir kırpma uygular. Özel en boy oranını
aspectRatio
ile ayarlayın.
|
RECTANGLE_4_3
|
4:3 en boy oranına sahip dikdörtgen bir kırpma uygular. |
Kenarlık Stili
Bir widget'taki öğelere uygulanan kenarlık stilinin tamamını gösterir.
JSON gösterimi |
---|
{ "type": enum ( |
Alanlar | |
---|---|
type
|
Kenarlık türü. |
strokeColor
|
Tür |
cornerRadius
|
Kenarlığın köşe yarıçapı. |
Kenarlık Türü
Widget'lara uygulanan kenarlık türlerini gösterir.
Sıralamalar | |
---|---|
BORDER_TYPE_UNSPECIFIED
|
Değer belirtilmedi. |
NO_BORDER
|
Varsayılan değer. Kenarlık yok. |
STROKE
|
Özet. |
IzgaraÖğeDüzeni
Izgara öğesi için kullanılabilen çeşitli düzen seçeneklerini gösterir.
Sıralamalar | |
---|---|
GRID_ITEM_LAYOUT_UNSPECIFIED
|
Düzen 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. |
Kartİşlemi
Kart işlemi, kartla ilişkilendirilmiş işlemdir. Örneğin, fatura kartı fatura silme, fatura e-postası gönderme veya faturayı tarayıcıda açma gibi işlemleri içerebilir.
Chat uygulamaları tarafından desteklenmez.
JSON gösterimi |
---|
{
"actionLabel": string,
"onClick": {
object (
|
Alanlar | |
---|---|
actionLabel
|
İşlem menü öğesi olarak görüntülenen etiket. |
onClick
|
Bu işlem öğesi için yapılan |
Ekran Stili
Google Workspace eklentilerinde, kartın nasıl görüntüleneceğini belirler.
Chat uygulamaları tarafından desteklenmez.
Sıralamalar | |
---|---|
DISPLAY_STYLE_UNSPECIFIED
|
Kullanmayın. |
PEEK
|
Kartın başlığı, kenar çubuğunun alt kısmında görünür ve kısmen yığının mevcut en iyi kartını kaplar. Başlığı tıkladığınızda kart, kart yığınına açılır. Kartın başlığı yoksa bunun yerine oluşturulan başlık kullanılır. |
REPLACE
|
Varsayılan değer. Kart, kart yığınındaki en iyi kartın görünümü değiştirilerek gösterilir. |