بطاقة
واجهة بطاقة معروضة في رسالة على Google Chat أو إضافة Google Workspace
تتيح البطاقات تخطيطًا محدّدًا وعناصر تفاعلية في واجهة المستخدم، مثل الأزرار والوسائط المتعددة، مثل الصور. استخدِم البطاقات لتقديم معلومات مفصّلة وجمع معلومات من المستخدمين وتوجيههم لاتّخاذ الخطوة التالية.
تصميم البطاقات ومعاينتها باستخدام "أداة إنشاء البطاقات"
فتح "أداة إنشاء البطاقات"
لمعرفة كيفية إنشاء البطاقات، يمكنك الاطّلاع على المستندات التالية:
- بالنسبة إلى تطبيقات Google Chat، يمكنك الاطّلاع على تصميم مكوّنات بطاقة أو مربّع حوار.
- بالنسبة إلى إضافات Google Workspace، يُرجى الاطّلاع على الواجهات المستندة إلى البطاقات.
ملاحظة: يمكنك إضافة ما يصل إلى 100 أداة لكل بطاقة. ويتم تجاهل أي أدوات تتجاوز هذا الحدّ. ينطبق هذا الحدّ على كلّ من رسائل البطاقات ومربّعات الحوار في تطبيقات Google Chat، وعلى البطاقات في إضافات Google Workspace.
مثال: رسالة بطاقة لتطبيق Google Chat
لإنشاء نموذج رسالة البطاقة في Google Chat، استخدِم JSON التالي:
{
"cardsV2": [
{
"cardId": "unique-card-id",
"card": {
"header": {
"title": "Sasha",
"subtitle": "Software Engineer",
"imageUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
"imageType": "CIRCLE",
"imageAltText": "Avatar for Sasha"
},
"sections": [
{
"header": "Contact Info",
"collapsible": true,
"uncollapsibleWidgetsCount": 1,
"widgets": [
{
"decoratedText": {
"startIcon": {
"knownIcon": "EMAIL"
},
"text": "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 |
---|
{ "header": { object ( |
الحقول | |
---|---|
header
|
تمثّل هذه السمة عنوان البطاقة. يحتوي العنوان عادةً على صورة في المقدّمة وعنوان. تظهر العناوين دائمًا في أعلى البطاقة. |
sections[]
|
تحتوي على مجموعة من التطبيقات المصغّرة. يحتوي كل قسم على عنوان اختياري خاص به. يتم فصل الأقسام بصريًا باستخدام فاصل خطي. للاطّلاع على مثال في تطبيقات Google Chat، راجِع مقالة تحديد قسم من بطاقة. |
sectionDividerStyle
|
نمط الفاصل بين الرأس والأقسام والتذييل |
cardActions[]
|
إجراءات البطاقة تتم إضافة الإجراءات إلى قائمة شريط أدوات البطاقة.
على سبيل المثال، ينشئ JSON التالي قائمة إجراءات بطاقة تتضمّن الخيارين
|
name
|
اسم البطاقة يُستخدَم كمعرّف للبطاقة في التنقّل بين البطاقات.
|
fixedFooter
|
التذييل الثابت المعروض في أسفل هذه البطاقة
يؤدي ضبط
|
displayStyle
|
في إضافات Google Workspace، يتم ضبط خصائص العرض الخاصة بـ
|
peekCardHeader
|
عند عرض محتوى سياقي، يعمل عنوان بطاقة المعاينة كعنصر نائب حتى يتمكّن المستخدم من التنقّل للأمام بين بطاقات الصفحة الرئيسية والبطاقات السياقية.
|
CardHeader
تمثّل هذه السمة عنوان البطاقة. للاطّلاع على مثال في تطبيقات Google Chat، راجِع مقالة إضافة عنوان.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{
"title": string,
"subtitle": string,
"imageType": enum ( |
الحقول | |
---|---|
title
|
مطلوب. تمثّل هذه السمة عنوان رأس البطاقة. يبلغ ارتفاع العنوان قيمة ثابتة: إذا تم تحديد كل من العنوان والعنوان الفرعي، سيشغل كل منهما سطرًا واحدًا. إذا تم تحديد العنوان فقط، سيشغل كلا السطرين. |
subtitle
|
تمثّل هذه السمة العنوان الفرعي لعنوان البطاقة. إذا تم تحديدها، ستظهر في سطر منفصل أسفل
|
imageType
|
الشكل المستخدَم لاقتصاص الصورة
|
imageUrl
|
عنوان HTTPS URL الخاص بالصورة في عنوان البطاقة |
imageAltText
|
النص البديل لهذه الصورة المستخدَم لتسهيل الاستخدام |
ImageType
الشكل المستخدَم لاقتصاص الصورة
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
SQUARE
|
القيمة التلقائية تطبيق قناع مربّع على الصورة على سبيل المثال، تتحوّل صورة بنسبة عرض إلى ارتفاع 4:3 إلى 3:3. |
CIRCLE
|
تطبيق قناع دائري على الصورة على سبيل المثال، تصبح الصورة ذات نسبة العرض إلى الارتفاع 4x3 دائرة بقطر 3. |
القسم
يحتوي القسم على مجموعة من التطبيقات المصغّرة التي يتم عرضها عموديًا بالترتيب المحدّد.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "header": string, "widgets": [ { object ( |
الحقول | |
---|---|
header
|
النص الذي يظهر في أعلى القسم يتوافق مع النصوص المنسَّقة بتنسيق HTML البسيط. لمزيد من المعلومات حول تنسيق النص، يُرجى الاطّلاع على تنسيق النص في تطبيقات Google Chat و تنسيق النص في إضافات Google Workspace. |
widgets[]
|
جميع الأدوات في القسم يجب أن تحتوي على تطبيق مصغّر واحد على الأقل. |
collapsible
|
يشير إلى ما إذا كان هذا القسم قابلاً للتصغير. تخفي الأقسام القابلة للتصغير بعض الأدوات أو كلها، ولكن يمكن للمستخدمين توسيع القسم للكشف عن الأدوات المخفية من خلال النقر على عرض المزيد. يمكن للمستخدمين إخفاء التطبيقات المصغّرة مرة أخرى من خلال النقر على عرض أقل.
لتحديد التطبيقات المصغّرة المخفية، حدِّد
|
uncollapsibleWidgetsCount
|
عدد الأدوات غير القابلة للتصغير التي تظل مرئية حتى عند تصغير أحد الأقسام
على سبيل المثال، عندما يحتوي قسم على خمس أدوات ويكون
|
collapseControl
|
اختيارية: تحديد زر توسيع القسم وتصغيره لن يظهر هذا الزر إلا إذا كان القسم قابلاً للتصغير. في حال عدم ضبط هذا الحقل، يتم استخدام الزر التلقائي. |
أداة
تتألف كل بطاقة من تطبيقات مصغّرة.
التطبيق المصغّر هو كائن مركّب يمكنه تمثيل أحد أنواع الكائنات، مثل النصوص والصور والأزرار وغيرها.
تمثيل JSON |
---|
{ "horizontalAlignment": enum ( |
الحقول | |
---|---|
horizontalAlignment
|
تحدّد ما إذا كانت العناصر تتراصف إلى يسار العمود أو يمينه أو وسطه. |
حقل الدمج
data . يمكن أن تحتوي الأداة على عنصر واحد فقط من العناصر التالية. يمكنك استخدام حقول تطبيقات مصغّرة متعددة لعرض المزيد من العناصر.
data
يمكن أن تكون إحدى القيم التالية فقط:
|
|
textParagraph
|
تعرض فقرة نصية. يتوافق مع النصوص المنسَّقة بتنسيق HTML البسيط. لمزيد من المعلومات حول تنسيق النص، يُرجى الاطّلاع على تنسيق النص في تطبيقات Google Chat و تنسيق النص في إضافات Google Workspace. على سبيل المثال، ينشئ ملف JSON التالي نصًا غامقًا:
|
image
|
تعرض هذه السمة صورة. على سبيل المثال، ينشئ ملف JSON التالي صورة مع نص بديل:
|
decoratedText
|
تعرِض هذه السمة عنصر نص مزخرفًا. على سبيل المثال، ينشئ ملف JSON التالي أداة نص مزخرف تعرض عنوان البريد الإلكتروني:
|
buttonList
|
قائمة بالأزرار على سبيل المثال، ينشئ رمز JSON التالي زرّين. الأول هو زر نصي أزرق والثاني هو زر صورة يفتح رابطًا:
|
textInput
|
تعرض هذه السمة مربّع نص يمكن للمستخدمين الكتابة فيه. على سبيل المثال، ينشئ ملف JSON التالي حقل إدخال نص لعنوان بريد إلكتروني:
كمثال آخر، ينشئ JSON التالي حقل إدخال نص للغة برمجة مع اقتراحات ثابتة:
|
selectionInput
|
تعرض عنصر تحكّم في الاختيار يتيح للمستخدمين تحديد عناصر. يمكن أن تكون عناصر التحكّم في التحديد مربّعات اختيار أو أزرار اختيار أو مفاتيح تبديل أو قوائم منسدلة. على سبيل المثال، ينشئ رمز JSON التالي قائمة منسدلة تتيح للمستخدمين اختيار الحجم:
|
dateTimePicker
|
تعرض هذه السمة أداة تتيح للمستخدمين إدخال تاريخ أو وقت أو تاريخ ووقت. على سبيل المثال، ينشئ ملف JSON التالي أداة اختيار التاريخ والوقت لجدولة موعد:
|
divider
|
تعرِض هذه السمة خطًا أفقيًا يفصل بين التطبيقات المصغّرة. على سبيل المثال، ينشئ ملف JSON التالي مقسّمًا:
|
grid
|
تعرِض هذه السمة شبكة تحتوي على مجموعة من العناصر. يمكن أن تحتوي الشبكة على أي عدد من الأعمدة والعناصر. يتم تحديد عدد الصفوف من خلال الحدود العليا لعدد العناصر مقسومًا على عدد الأعمدة. تحتوي الشبكة التي تضم 10 عناصر وعمودَين على 5 صفوف. تحتوي الشبكة التي تضم 11 عنصرًا وعمودَين على 6 صفوف.
على سبيل المثال، ينشئ ملف JSON التالي شبكة من عمودَين تحتوي على عنصر واحد:
|
columns
|
تعرِض ما يصل إلى عمودَين.
لتضمين أكثر من عمودَين أو لاستخدام الصفوف، استخدِم أداة
على سبيل المثال، ينشئ ملف JSON التالي عمودَين يحتوي كل منهما على فقرات نصية:
|
carousel
|
تحتوي لوحة العرض الدوّارة على مجموعة من التطبيقات المصغّرة المتداخلة. على سبيل المثال، هذا تمثيل JSON للوحة عرض دوّارة تحتوي على فقرتَين نصيتَين.
|
chipList
|
قائمة بالشرائح على سبيل المثال، ينشئ ملف JSON التالي شريحتَين. الأول عبارة عن شريحة نصية والثاني عبارة عن شريحة أيقونة تفتح رابطًا:
|
TextParagraph
فقرة نصية تتيح التنسيق للاطّلاع على مثال في تطبيقات Google Chat، راجِع إضافة فقرة من النص المنسَّق. لمزيد من المعلومات حول تنسيق النص، يُرجى الاطّلاع على تنسيق النص في تطبيقات Google Chat و تنسيق النص في إضافات Google Workspace.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{
"text": string,
"maxLines": integer,
"textSyntax": enum ( |
الحقول | |
---|---|
text
|
النص الذي يظهر في الأداة |
maxLines
|
الحد الأقصى لعدد أسطر النص التي يتم عرضها في الأداة إذا كان النص يتجاوز الحد الأقصى المحدّد لعدد الأسطر، يتم إخفاء المحتوى الزائد خلف زر عرض المزيد. إذا كان النص يساوي الحد الأقصى لعدد الأسطر المحدّد أو أقصر منه، لن يظهر الزر عرض المزيد. القيمة التلقائية هي 0، وفي هذه الحالة يتم عرض كل السياق. يتم تجاهل القيم السلبية. |
textSyntax
|
بنية النص في حال عدم ضبط هذه السمة، سيتم عرض النص بتنسيق HTML.
|
TextSyntax
بنية الجملة التي يجب استخدامها لتنسيق النص
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
عمليات التعداد | |
---|---|
TEXT_SYNTAX_UNSPECIFIED
|
يتم عرض النص بتنسيق HTML إذا لم يتم تحديد تنسيق آخر. |
HTML
|
يتم عرض النص بتنسيق HTML. هذه هي القيمة الافتراضية. |
MARKDOWN
|
يتم عرض النص بتنسيق Markdown. |
صورة
صورة يحدّدها عنوان URL ويمكن أن تتضمّن إجراء onClick
. للاطّلاع على مثال، راجِع مقالة
إضافة صورة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{
"imageUrl": string,
"onClick": {
object ( |
الحقول | |
---|---|
imageUrl
|
عنوان URL الخاص ببروتوكول HTTPS الذي يستضيف الصورة على سبيل المثال:
|
onClick
|
عندما ينقر المستخدم على الصورة، يؤدي النقر إلى تشغيل هذا الإجراء. |
altText
|
النص البديل لهذه الصورة المستخدَم لتسهيل الاستخدام |
OnClick
تمثّل هذه السمة كيفية الردّ عندما ينقر المستخدمون على عنصر تفاعلي في بطاقة، مثل زر.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الدمج
يمكن أن تكون |
|
action
|
في حال تحديدها، يتم تشغيل إجراء بواسطة |
openLink
|
في حال تحديدها، تؤدي هذه السمة |
openDynamicLinkAction
|
تُفعِّل إحدى الإضافات هذا الإجراء عندما يحتاج الإجراء إلى فتح رابط. يختلف هذا عن
|
card
|
يتم إرسال بطاقة جديدة إلى حزمة البطاقات بعد النقر عليها إذا تم تحديد ذلك.
|
overflowMenu
|
في حال تحديدها، سيؤدي ذلك إلى فتح قائمة كاملة. |
الإجراء
إجراء يصف السلوك عند إرسال النموذج. على سبيل المثال، يمكنك استدعاء نص برمجي في "برمجة تطبيقات Google" للتعامل مع النموذج. في حال تم تشغيل الإجراء، يتم إرسال قيم النموذج إلى الخادم.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "function": string, "parameters": [ { object ( |
الحقول | |
---|---|
function
|
دالة مخصّصة يتم استدعاؤها عند النقر على العنصر الحاوي أو تنشيطه بأي طريقة أخرى. للاطّلاع على مثال على الاستخدام، راجِع قراءة بيانات النموذج. |
parameters[]
|
قائمة مَعلمات الإجراءات |
loadIndicator
|
تحدّد مؤشر التحميل الذي يعرضه الإجراء أثناء تنفيذ طلب الإجراء. |
persistValues
|
تشير إلى ما إذا كانت قيم النموذج تظل محفوظة بعد تنفيذ الإجراء. القيمة التلقائية هي
إذا كانت القيمة
في حال ضبط القيمة على |
interaction
|
اختيارية: مطلوبة عند فتح مربّع حوار. الإجراء الذي يجب اتّخاذه استجابةً لتفاعل مع مستخدم، مثل نقر المستخدم على زر في رسالة بطاقة
في حال عدم تحديد ذلك، يستجيب التطبيق من خلال تنفيذ
من خلال تحديد
|
requiredWidgets[]
|
اختيارية: املأ هذه القائمة بأسماء الأدوات التي يحتاجها هذا الإجراء لإرسال طلب صالح. إذا لم تتضمّن الأدوات المدرَجة هنا قيمة عند استدعاء هذا الإجراء، سيتم إلغاء إرسال النموذج.
|
allWidgetsAreRequired
|
اختيارية: إذا كانت القيمة صحيحة، يعني ذلك أنّ هذا الإجراء يتطلّب توفّر جميع التطبيقات المصغّرة.
|
ActionParameter
قائمة بمَعلمات السلسلة التي يجب توفيرها عند استدعاء طريقة الإجراء على سبيل المثال، فكِّر في ثلاثة أزرار تأجيل: التأجيل الآن أو التأجيل ليوم واحد أو التأجيل للأسبوع التالي. يمكنك استخدام
action method = snooze()
، مع تمرير نوع الغفوة ووقت الغفوة في قائمة مَعلمات السلسلة.
لمزيد من المعلومات، يُرجى الاطّلاع على CommonEventObject
.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "key": string, "value": string } |
الحقول | |
---|---|
key
|
اسم المَعلمة لبرنامج الإجراءات النصي. |
value
|
قيمة المَعلمة |
LoadIndicator
تحدّد مؤشر التحميل الذي يعرضه الإجراء أثناء تنفيذ طلب الإجراء.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
SPINNER
|
تعرِض هذه السمة عنصر تحميل دوّارًا للإشارة إلى أنّ المحتوى قيد التحميل. |
NONE
|
لا يتم عرض أي شيء. |
التفاعل
اختيارية: مطلوبة عند فتح مربّع حوار.
الإجراء الذي يجب اتّخاذه استجابةً لتفاعل مع مستخدم، مثل نقر المستخدم على زر في رسالة بطاقة
في حال عدم تحديد ذلك، يستجيب التطبيق بتنفيذ action
—مثل فتح رابط أو تنفيذ وظيفة—كالمعتاد.
من خلال تحديد
interaction
، يمكن للتطبيق الاستجابة بطرق تفاعلية خاصة. على سبيل المثال، من خلال ضبط
interaction
على
OPEN_DIALOG
، يمكن للتطبيق فتح
مربع حوار.
عند تحديد هذه السمة، لا يظهر مؤشر التحميل. إذا تم تحديدها لإحدى الإضافات، تتم إزالة البطاقة بأكملها ولا يتم عرض أي شيء في التطبيق.
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
عمليات التعداد | |
---|---|
INTERACTION_UNSPECIFIED
|
القيمة التلقائية يتم تنفيذ
action
على النحو المعتاد.
|
OPEN_DIALOG
|
يفتح مربّع حوار، وهو واجهة مستندة إلى البطاقات ومقسّمة إلى نوافذ تستخدمها تطبيقات Chat للتفاعل مع المستخدمين. لا تتوفّر إلا لتطبيقات Chat عند النقر على أزرار في رسائل البطاقات. إذا تم تحديدها لإحدى الإضافات، تتم إزالة البطاقة بأكملها ولا يتم عرض أي شيء في التطبيق.
|
OpenLink
يمثّل هذا النوع حدثًا يفتح رابطًا تشعّبيًا.onClick
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "url": string, "openAs": enum ( |
الحقول | |
---|---|
url
|
عنوان URL المطلوب فتحه |
openAs
|
كيفية فتح رابط
|
onClose
|
ما إذا كان العميل ينسى الرابط بعد فتحه أو يراقبه إلى أن يتم إغلاق النافذة
|
OpenAs
عندما يفتح إجراء رابطًا، يمكن للعميل إما فتحه كنافذة بالحجم الكامل (إذا كان هذا هو الإطار الذي يستخدمه العميل)، أو كطبقة متراكبة (مثل نافذة منبثقة).OnClick
يعتمد التنفيذ على إمكانات النظام الأساسي للعميل، وقد يتم تجاهل القيمة المحدّدة إذا كان العميل لا يتيحها.
FULL_SIZE
متوافق مع جميع البرامج.
متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.
عمليات التعداد | |
---|---|
FULL_SIZE
|
يتم فتح الرابط كنافذة بالحجم الكامل (إذا كان هذا هو الإطار الذي يستخدمه العميل). |
OVERLAY
|
يتم فتح الرابط كتراكب، مثل نافذة منبثقة. |
OnClose
يتم تنفيذ هذا الإجراء عندما يتم إغلاق رابط تم فتحه من خلال إجراء OnClick
.
تعتمد عملية التنفيذ على إمكانات النظام الأساسي للعميل. على سبيل المثال، قد يفتح متصفّح ويب رابطًا في نافذة منبثقة باستخدام معالج OnClose
.
في حال ضبط كل من معالجَي OnOpen
وOnClose
، وتعذّر على منصة العميل دعم كلتا القيمتَين، تكون الأولوية لمعالج OnClose
.
متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.
عمليات التعداد | |
---|---|
NOTHING
|
القيمة التلقائية لا تتم إعادة تحميل البطاقة، ولا يحدث أي شيء. |
RELOAD
|
تعيد تحميل البطاقة بعد إغلاق النافذة الفرعية.
في حال استخدامها مع
|
OverflowMenu
أداة تعرض قائمة منبثقة تتضمّن إجراءً واحدًا أو أكثر يمكن للمستخدمين تنفيذه. على سبيل المثال، عرض إجراءات غير أساسية في بطاقة يمكنك استخدام هذه الأداة عندما لا تتناسب الإجراءات مع المساحة المتاحة. لاستخدام هذه السمة، حدِّد التطبيق المصغّر في
OnClick
الإجراء الخاص بالتطبيقات المصغّرة التي تتوافق معها. على سبيل المثال، في Button
.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{
"items": [
{
object ( |
الحقول | |
---|---|
items[]
|
مطلوب. قائمة خيارات القائمة |
OverflowMenuItem
خيار يمكن للمستخدمين استخدامه في قائمة الخيارات الكاملة
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "startIcon": { object ( |
الحقول | |
---|---|
startIcon
|
الأيقونة المعروضة أمام النص |
text
|
مطلوب. النص الذي يحدّد السلعة أو يصفها للمستخدمين |
onClick
|
مطلوب. الإجراء الذي يتم تنفيذه عند تحديد أحد خيارات القائمة. لا يمكن أن يحتوي هذا
|
disabled
|
تحديد ما إذا كان خيار القائمة غير مفعَّل. القيمة التلقائية هي "خطأ". |
رمز
رمز معروض في أداة على بطاقة للاطّلاع على مثال في تطبيقات Google Chat، يُرجى الانتقال إلى إضافة رمز.
يتيح استخدام الرموز المضمّنة والمخصّصة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "altText": string, "imageType": enum ( |
الحقول | |
---|---|
altText
|
اختيارية: وصف للرمز المستخدَم لتسهيل الاستخدام إذا لم يتم تحديدها، يتم تقديم القيمة التلقائية
إذا تم ضبط الرمز في
|
imageType
|
نمط الاقتصاص المُطبَّق على الصورة. في بعض الحالات، يؤدي تطبيق عملية قص إلى عرض الصورة بحجم أكبر من الرمز المضمّن. |
حقل الدمج
icons . الرمز المعروض في الأداة على البطاقة
icons
يمكن أن تكون إحدى القيم التالية فقط:
|
|
knownIcon
|
عرض إحدى الأيقونات المضمّنة التي توفّرها Google Workspace
على سبيل المثال، لعرض رمز طائرة، حدِّد
للحصول على قائمة كاملة بالرموز المتوافقة، راجِع الرموز المضمّنة. |
iconUrl
|
عرض رمز مخصّص مستضاف على عنوان URL يستخدم HTTPS على سبيل المثال:
تشمل أنواع الملفات المتوافقة
|
materialIcon
|
عرض أحد رموز Google Material على سبيل المثال، لعرض رمز مربّع اختيار، استخدِم
|
MaterialIcon
أ رمز Google Material، الذي يتضمّن أكثر من 2500 خيار
على سبيل المثال، لعرض رمز مربّع الاختيار بوزن ودرجة مخصّصَين، اكتب ما يلي:
{
"name": "check_box",
"fill": true,
"weight": 300,
"grade": -25
}
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
تمثيل JSON |
---|
{ "name": string, "fill": boolean, "weight": integer, "grade": integer } |
الحقول | |
---|---|
name
|
اسم الرمز المحدّد في
Google Material Icon، على سبيل المثال،
|
fill
|
تحديد ما إذا كان الرمز سيظهر ممتلئًا القيمة التلقائية هي "خطأ". لمعاينة إعدادات الرموز المختلفة، انتقِل إلى رموز خطوط Google واضبط الإعدادات ضمن تخصيص. |
weight
|
كثافة خط الرمز اختَر من بين {100, 200, 300, 400, 500, 600, 700}. إذا لم يتم تحديدها، تكون القيمة التلقائية 400. في حال تحديد أي قيمة أخرى، يتم استخدام القيمة التلقائية. لمعاينة إعدادات الرموز المختلفة، انتقِل إلى رموز خطوط Google واضبط الإعدادات ضمن تخصيص. |
grade
|
يؤثر الوزن والدرجة في سُمك الرمز. تكون التعديلات على الدرجة أكثر تفصيلاً من التعديلات على الوزن، كما أنّها تؤثر بشكل بسيط على حجم الرمز. اختَر من بين القيم {-25, 0, 200}. في حال عدم توفّرها، تكون القيمة التلقائية 0. في حال تحديد أي قيمة أخرى، يتم استخدام القيمة التلقائية. لمعاينة إعدادات الرموز المختلفة، انتقِل إلى رموز خطوط Google واضبط الإعدادات ضمن تخصيص. |
DecoratedText
أداة تعرض نصًا مع زخارف اختيارية، مثل تصنيف أعلى النص أو أسفله، أو رمز أمام النص، أو أداة اختيار، أو زر بعد النص. للاطّلاع على مثال في تطبيقات Google Chat، يُرجى الانتقال إلى عرض نص باستخدام نص مزخرف.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "icon": { object ( |
الحقول | |
---|---|
icon
|
تم إيقاف هذا الحقل نهائيًا واستبداله بالحقل |
startIcon
|
الأيقونة المعروضة أمام النص |
startIconVerticalAlignment
|
اختيارية: المحاذاة العمودية لرمز البدء في حال عدم ضبط هذه السمة، سيتم توسيط الرمز عموديًا.
|
topLabel
|
النص الذي يظهر فوق
|
topLabelText
|
|
text
|
مطلوب. النص الأساسي يتيح التنسيق البسيط. لمزيد من المعلومات حول تنسيق النص، يُرجى الاطّلاع على تنسيق النص في تطبيقات Google Chat و تنسيق النص في إضافات Google Workspace. |
contentText
|
|
wrapText
|
إعداد التفاف النص إذا كانت القيمة
ينطبق هذا التغيير على |
bottomLabel
|
النص الذي يظهر أسفل
|
bottomLabelText
|
|
onClick
|
يتم تشغيل هذا الإجراء عندما ينقر المستخدمون على
|
حقل الدمج
control . زر أو مفتاح تبديل أو مربّع اختيار أو صورة تظهر على الجانب الأيسر من النص في الأداة decoratedText .
control
يمكن أن تكون إحدى القيم التالية فقط:
|
|
button
|
زر يمكن للمستخدم النقر عليه لتنفيذ إجراء. |
switchControl
|
أداة تبديل يمكن للمستخدم النقر عليها لتغيير حالتها وتنفيذ إجراء. |
endIcon
|
رمز معروض بعد النص |
VerticalAlignment
تمثّل هذه السمة المحاذاة العمودية.
عمليات التعداد | |
---|---|
VERTICAL_ALIGNMENT_UNSPECIFIED
|
نوع غير محدَّد لا تستخدم هذه السمة. |
TOP
|
المحاذاة إلى الموضع العلوي |
MIDDLE
|
المحاذاة إلى الموضع الأوسط |
BOTTOM
|
المحاذاة إلى الموضع السفلي |
زرّ
زر يتضمّن نصًا أو رمزًا أو نصًا ورمزًا ويمكن للمستخدمين النقر عليه للاطّلاع على مثال في تطبيقات Google Chat، يُرجى الرجوع إلى إضافة زر.
لتحويل صورة إلى زر قابل للنقر، حدِّد
(وليس
Image
) واضبط إجراء
ImageComponent
onClick
.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "text": string, "icon": { object ( |
الحقول | |
---|---|
text
|
النص المعروض داخل الزر. |
icon
|
رمز معروض داخل الزر إذا تم ضبط كل من
|
color
|
اختيارية: لون الزر في حال ضبط هذا الخيار، سيتم ضبط الزر
لضبط لون الزر، حدِّد قيمة للحقول على سبيل المثال، يضبط ما يلي اللون على الأحمر بأقصى درجة سطوع:
الحقل
|
onClick
|
مطلوب. الإجراء المطلوب تنفيذه عندما ينقر المستخدم على الزر، مثل فتح ارتباط تشعّبي أو تنفيذ دالة مخصّصة |
disabled
|
إذا كانت القيمة |
altText
|
النص البديل المستخدَم لتسهيل الاستخدام اضبط نصًا وصفيًا يتيح للمستخدمين معرفة وظيفة الزر. على سبيل المثال، إذا كان الزر يفتح ارتباطًا تشعبيًا، يمكنك كتابة ما يلي: "يفتح علامة تبويب جديدة في المتصفّح وينتقِل إلى مستندات المطوّرين في Google Chat على الرابط https://developers.google.com/workspace/chat". |
type
|
اختيارية: تمثّل هذه السمة نوع الزر. إذا لم يتم ضبط نوع الزر، سيتم ضبطه تلقائيًا على |
اللون
تمثّل هذه السمة لونًا في مساحة الألوان RGBA. تم تصميم هذا التمثيل ليكون بسيطًا عند التحويل من وإلى تمثيلات الألوان بلغات مختلفة، مع التركيز على البساطة أكثر من التركيز على الحجم الصغير. على سبيل المثال، يمكن توفير حقول هذا التمثيل بشكل بسيط للدالة الإنشائية الخاصة بـ
java.awt.Color
في Java، ويمكن أيضًا توفيرها بشكل بسيط لطريقة +colorWithRed:green:blue:alpha
في UIColor على نظام التشغيل iOS، ويمكن تنسيقها بسهولة في سلسلة rgba()
في CSS باستخدام JavaScript.
لا تحتوي صفحة المرجع هذه على معلومات حول مساحة الألوان المطلقة التي يجب استخدامها لتفسير قيمة الأحمر والأخضر والأزرق، مثل sRGB وAdobe RGB وDCI-P3 وBT.2020. يجب أن تفترض التطبيقات تلقائيًا مساحة الألوان sRGB.
عند الحاجة إلى تحديد تساوي الألوان، تتعامل عمليات التنفيذ مع لونين على أنّهما متساويان إذا كان الفرق بين قيم اللون الأحمر والأخضر والأزرق وقيمة ألفا لكل منهما لا يتجاوز 1e-5
، ما لم يتم توثيق خلاف ذلك.
مثال (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();
}
// ...
مثال (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;
}
// ...
مثال (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 |
---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
الحقول | |
---|---|
red
|
تمثّل هذه السمة مقدار اللون الأحمر في اللون كقيمة في الفاصل الزمني [0, 1]. |
green
|
مقدار اللون الأخضر في اللون كقيمة في الفترة [0, 1] |
blue
|
تمثّل هذه السمة مقدار اللون الأزرق في اللون كقيمة في الفاصل الزمني [0, 1]. |
alpha
|
تمثّل هذه السمة جزء اللون الذي يجب تطبيقه على البكسل. أي أنّ لون البكسل النهائي يتم تحديده من خلال المعادلة التالية:
هذا يعني أنّ القيمة 1.0 تتوافق مع لون ثابت، بينما تتوافق القيمة 0.0 مع لون شفاف تمامًا. يستخدم هذا النوع رسالة غلاف بدلاً من عدد عشري بسيط، وذلك حتى يمكن التمييز بين القيمة التلقائية والقيمة التي لم يتم ضبطها. في حال حذفها، يتم عرض عنصر اللون هذا كلون ثابت (كما لو تم منح قيمة ألفا صراحةً القيمة 1.0). |
النوع
اختيارية: تمثّل هذه السمة
نوع
الزر. في حال ضبط الحقل color
، سيتم فرض القيمة FILLED
على الحقل type
.
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
عمليات التعداد | |
---|---|
TYPE_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
OUTLINED
|
الأزرار المحدَّدة الجوانب هي أزرار ذات أهمية متوسطة. وتتضمّن عادةً إجراءات مهمة، ولكنّها ليست الإجراء الأساسي في تطبيق Chat أو إضافة. |
FILLED
|
يحتوي الزر المعبأ على حاوية بلون خالص. ويُعدّ هذا الزر الأكثر تأثيرًا من الناحية المرئية، ويُنصح باستخدامه للإجراءات المهمة والرئيسية في تطبيق Chat أو إضافة. |
FILLED_TONAL
|
زر التعبئة اللونية هو حل وسط بديل بين الزرَّين المعبأ والمخطّط. تكون هذه الأزرار مفيدة في السياقات التي يتطلّب فيها الزر ذو الأولوية المنخفضة تركيزًا أكبر قليلاً مما يوفّره الزر ذو المخطّط التفصيلي. |
BORDERLESS
|
لا يحتوي الزر على حاوية غير مرئية في حالته التلقائية. يُستخدَم غالبًا للإجراءات ذات الأولوية الأدنى، خاصةً عند عرض خيارات متعدّدة. |
عنصر تحكم التبديل
إما مفتاح تبديل أو مربّع اختيار داخل أداة decoratedText
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تتوفّر هذه الميزة في أداة decoratedText
فقط.
تمثيل JSON |
---|
{ "name": string, "value": string, "selected": boolean, "onChangeAction": { object ( |
الحقول | |
---|---|
name
|
الاسم الذي يتم من خلاله تحديد أداة التبديل في حدث إدخال نموذج. للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج. |
value
|
القيمة التي أدخلها المستخدم، ويتم عرضها كجزء من حدث إدخال نموذج. للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج. |
selected
|
عندما تكون القيمة |
onChangeAction
|
الإجراء الذي سيتم تنفيذه عند تغيير حالة مفتاح التبديل، مثل الدالة التي سيتم تشغيلها |
controlType
|
طريقة ظهور مفتاح التبديل في واجهة المستخدم
|
ControlType
طريقة ظهور مفتاح التبديل في واجهة المستخدم
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
SWITCH
|
مفتاح تبديل بنمط زر الإيقاف/التشغيل |
CHECKBOX
|
تم إيقاف هذا الحقل نهائيًا واستبداله بالحقل CHECK_BOX .
|
CHECK_BOX
|
مربّع اختيار |
ButtonList
قائمة بأزرار مرتبة أفقيًا للاطّلاع على مثال في تطبيقات Google Chat، يُرجى الرجوع إلى إضافة زر.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{
"buttons": [
{
object ( |
الحقول | |
---|---|
buttons[]
|
مصفوفة من الأزرار |
TextInput
حقل يمكن للمستخدمين إدخال نص فيه يتيح الاقتراحات والإجراءات عند التغيير. يتيح التحقّق من صحة عمليات إرسال النماذج. عند ضبط
Action.all_widgets_are_required
على
true
أو تحديد هذه الأداة في
Action.required_widgets
، يتم حظر إجراء الإرسال ما لم يتم إدخال قيمة. للاطّلاع على مثال في تطبيقات Google Chat، راجِع
إضافة حقل يمكن للمستخدم إدخال نص فيه.
تتلقّى تطبيقات المحادثة قيمة النص الذي تم إدخاله ويمكنها معالجته أثناء أحداث إدخال النموذج. لمزيد من التفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.
عندما تحتاج إلى جمع بيانات غير محدّدة أو مجرّدة من المستخدمين، استخدِم حقل إدخال نصي. لجمع بيانات محدّدة أو مُعدَّدة من المستخدمين، استخدِم أداة SelectionInput
.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "name": string, "label": string, "hintText": string, "value": string, "type": enum ( |
الحقول | |
---|---|
name
|
الاسم الذي يتم من خلاله تحديد إدخال النص في حدث إدخال نموذج. للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج. |
label
|
النص الذي يظهر فوق حقل إدخال النص في واجهة المستخدم
حدِّد النص الذي يساعد المستخدم في إدخال المعلومات التي يحتاجها تطبيقك. على سبيل المثال، إذا كنت تسأل عن اسم شخص ما، ولكنك تحتاج تحديدًا إلى اسم عائلته، اكتب
هذه السمة مطلوبة إذا لم يتم تحديد السمة |
hintText
|
النص الذي يظهر أسفل حقل إدخال النص والمخصّص لمساعدة المستخدمين من خلال مطالبتهم بإدخال قيمة معيّنة يظهر هذا النص دائمًا.
هذه السمة مطلوبة إذا لم يتم تحديد السمة |
value
|
القيمة التي أدخلها المستخدم، ويتم عرضها كجزء من حدث إدخال نموذج. للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج. |
type
|
طريقة ظهور حقل إدخال النص في واجهة المستخدم على سبيل المثال، ما إذا كان الحقل سطرًا واحدًا أو عدة أسطر. |
onChangeAction
|
الإجراء الذي يجب اتّخاذه عند حدوث تغيير في حقل إدخال النص على سبيل المثال، إضافة مستخدم إلى الحقل أو حذف نص. تشمل الأمثلة على الإجراءات التي يمكن اتّخاذها تنفيذ وظيفة مخصّصة أو فتح مربّع حوار في Google Chat. |
initialSuggestions
|
القيم المقترَحة التي يمكن للمستخدمين إدخالها تظهر هذه القيم عندما ينقر المستخدمون داخل حقل إدخال النص. أثناء الكتابة، تتم فلترة القيم المقترَحة بشكل ديناميكي لتتطابق مع ما كتبه المستخدمون.
على سبيل المثال، قد يقترح حقل إدخال نصي خاص بلغة البرمجة Java وJavaScript وPython وC++. وعندما يبدأ المستخدمون في كتابة
تساعد القيم المقترَحة في توجيه المستخدمين لإدخال قيم يمكن لتطبيقك فهمها. عند الإشارة إلى JavaScript، قد يكتب بعض المستخدمين
عند تحديدها، تكون قيمة
|
autoCompleteAction
|
اختيارية: تحديد الإجراء الذي يجب اتّخاذه عندما يقدّم حقل إدخال النص اقتراحات للمستخدمين الذين يتفاعلون معه
إذا لم يتم تحديدها، يتم ضبط الاقتراحات من خلال
إذا تم تحديد ذلك، يتّخذ التطبيق الإجراء المحدّد هنا، مثل تنفيذ دالة مخصّصة.
|
validation
|
تحديد التحقّق من صحة تنسيق الإدخال المطلوب لحقل النص هذا
|
placeholderText
|
النص الذي يظهر في حقل إدخال النص عندما يكون الحقل فارغًا استخدِم هذا النص لحثّ المستخدمين على إدخال قيمة. على سبيل المثال،
|
النوع
طريقة ظهور حقل إدخال النص في واجهة المستخدم على سبيل المثال، ما إذا كان حقل إدخال بسطر واحد أو حقل إدخال متعدد الأسطر. في حال تحديد
initialSuggestions
،
تكون قيمة
type
دائمًا
SINGLE_LINE
، حتى إذا تم ضبطها على
MULTIPLE_LINE
.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
SINGLE_LINE
|
يبلغ الارتفاع الثابت لحقل إدخال النص سطرًا واحدًا. |
MULTIPLE_LINE
|
يحتوي حقل إدخال النص على ارتفاع ثابت لعدة أسطر. |
RenderActions
مجموعة من تعليمات العرض التي تطلب من البطاقة تنفيذ إجراء، أو تطلب من التطبيق المضيف للإضافة أو تطبيق Chat تنفيذ إجراء خاص بالتطبيق
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
الحقول | |
---|---|
action |
الإجراء
الحقول | |
---|---|
navigations[] |
إرسال بطاقة أو عرضها أو تعديلها |
اقتراحات
القيم المقترَحة التي يمكن للمستخدمين إدخالها تظهر هذه القيم عندما ينقر المستخدمون داخل حقل إدخال النص. أثناء الكتابة، تتم فلترة القيم المقترَحة بشكل ديناميكي لتتطابق مع ما كتبه المستخدمون.
على سبيل المثال، قد يقترح حقل إدخال نص خاص بلغة برمجة Java وJavaScript وPython وC++. وعندما يبدأ المستخدمون في كتابة
Jav
، يتم فلترة قائمة الاقتراحات لعرض
Java
و
JavaScript
.
تساعد القيم المقترَحة في توجيه المستخدمين لإدخال قيم يمكن لتطبيقك فهمها. عند الإشارة إلى JavaScript، قد يكتب بعض المستخدمين
javascript
بينما يكتب آخرون
java script
. يمكن أن يؤدي اقتراح
JavaScript
إلى توحيد طريقة تفاعل المستخدمين مع تطبيقك.
عند تحديدها، تكون قيمة TextInput.type
دائمًا SINGLE_LINE
، حتى إذا تم ضبطها على MULTIPLE_LINE
.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{
"items": [
{
object ( |
الحقول | |
---|---|
items[]
|
قائمة بالاقتراحات المستخدَمة في اقتراحات الإكمال التلقائي في حقول إدخال النص |
SuggestionItem
قيمة مقترَحة يمكن للمستخدمين إدخالها في حقل إدخال نصي
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الدمج
يمكن أن تكون |
|
text
|
قيمة الإدخال المقترَح في حقل إدخال نصي وهذا يعادل ما يدخله المستخدمون بأنفسهم. |
التحقّق من الصحة
تمثّل هذه السمة البيانات اللازمة للتحقّق من صحة العنصر المرتبط بها.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{
"characterLimit": integer,
"inputType": enum ( |
الحقول | |
---|---|
characterLimit
|
تحديد الحد الأقصى لعدد الأحرف في أدوات إدخال النص يُرجى العِلم أنّ هذا الخيار يُستخدم فقط لإدخال النص ويتم تجاهله بالنسبة إلى التطبيقات المصغّرة الأخرى.
|
inputType
|
حدِّد نوع أدوات الإدخال.
|
InputType
نوع أداة الإدخال.
عمليات التعداد | |
---|---|
INPUT_TYPE_UNSPECIFIED
|
نوع غير محدَّد لا تستخدم هذه السمة. |
TEXT
|
نص عادي يقبل جميع الأحرف |
INTEGER
|
قيمة عدد صحيح |
FLOAT
|
قيمة عائمة |
EMAIL
|
عنوان بريد إلكتروني |
EMOJI_PICKER
|
إيموجي تم اختياره من أداة اختيار الإيموجي التي يوفّرها النظام |
SelectionInput
تطبيق مصغّر ينشئ عنصرًا واحدًا أو أكثر من عناصر واجهة المستخدِم التي يمكن للمستخدمين اختيارها. تتيح هذه السمة التحقّق من صحة عمليات إرسال النماذج لقوائم dropdown
وmultiselect
فقط. عند ضبط
Action.all_widgets_are_required
على
true
أو تحديد هذه الأداة في
Action.required_widgets
، يتم حظر إجراء الإرسال ما لم يتم تحديد قيمة. على سبيل المثال، قائمة منسدلة أو مربّعات اختيار. يمكنك استخدام هذه الأداة لجمع البيانات التي يمكن توقّعها أو تعدادها. للاطّلاع على مثال في تطبيقات Google Chat، راجِع مقالة
إضافة عناصر واجهة مستخدم قابلة للتحديد.
يمكن لتطبيقات المحادثة معالجة قيمة العناصر التي يختارها المستخدمون أو يدخلونها. لمزيد من التفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج.
لجمع بيانات غير محدّدة أو مجرّدة من المستخدمين، استخدِم أداة TextInput
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "name": string, "label": string, "type": enum ( |
الحقول | |
---|---|
name
|
مطلوب. الاسم الذي يحدّد إدخال التحديد في حدث إدخال نموذج. للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج. |
label
|
النص الذي يظهر فوق حقل إدخال الاختيار في واجهة المستخدم حدِّد النص الذي يساعد المستخدم في إدخال المعلومات التي يحتاجها تطبيقك. على سبيل المثال، إذا كان المستخدمون يختارون مدى إلحاح طلب عمل من قائمة منسدلة، قد يكون التصنيف "مدى الإلحاح" أو "اختيار مدى الإلحاح". |
type
|
تمثّل هذه السمة نوع العناصر التي يتم عرضها للمستخدمين في أداة. |
items[]
|
مصفوفة من العناصر القابلة للاختيار على سبيل المثال، مصفوفة من أزرار الاختيار أو مربّعات الاختيار. يمكن أن يتضمّن ما يصل إلى 100 عنصر. |
onChangeAction
|
في حال تحديدها، يتم إرسال النموذج عند تغيير الاختيار. في حال عدم تحديد ذلك، يجب تحديد زرّ منفصل لإرسال النموذج. للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج. |
multiSelectMaxSelectedItems
|
بالنسبة إلى القوائم المتعددة الاختيارات، الحد الأقصى لعدد العناصر التي يمكن للمستخدم اختيارها. الحد الأدنى للقيمة هو سلعة واحدة. إذا لم يتم تحديد عدد، يكون العدد التلقائي 3 عناصر. |
multiSelectMinQueryLength
|
بالنسبة إلى قوائم الاختيار المتعدد، يمثّل هذا الحقل عدد أحرف النص التي يُدخلها المستخدم قبل أن تعرض القائمة عناصر الاختيار المقترَحة. في حال عدم ضبطها، تستخدم قائمة الاختيار المتعدد القيم التلقائية التالية:
|
حقل الدمج
|
|
externalDataSource
|
مصدر بيانات خارجي، مثل قاعدة بيانات ارتباطية |
platformDataSource
|
مصدر بيانات من Google Workspace |
SelectionType
تنسيق العناصر التي يمكن للمستخدمين اختيارها تتيح الخيارات المختلفة أنواعًا مختلفة من التفاعلات. على سبيل المثال، يمكن للمستخدمين وضع علامة في مربّعات اختيار متعدّدة، ولكن يمكنهم اختيار عنصر واحد فقط من قائمة منسدلة.
يتيح كل حقل إدخال اختيار نوعًا واحدًا من الاختيارات. على سبيل المثال، لا يمكن الجمع بين مربّعات الاختيار وأزرار التبديل.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
CHECK_BOX
|
مجموعة من مربّعات الاختيار يمكن للمستخدمين وضع علامة في مربّع اختيار واحد أو أكثر. |
RADIO_BUTTON
|
مجموعة من أزرار الاختيار يمكن للمستخدمين تحديد زر اختيار واحد. |
SWITCH
|
مجموعة من مفاتيح الإضاءة يمكن للمستخدمين تفعيل مفتاح تحكّم واحد أو أكثر. |
DROPDOWN
|
قائمة منسدلة يمكن للمستخدمين اختيار عنصر واحد من القائمة. |
MULTI_SELECT
|
قائمة تتضمّن مربّع نص يمكن للمستخدمين كتابة كلمة واحدة أو أكثر واختيارها. بالنسبة إلى إضافات Google Workspace، يجب ملء العناصر باستخدام مصفوفة ثابتة من
بالنسبة إلى تطبيقات Google Chat، يمكنك أيضًا ملء العناصر باستخدام مصدر بيانات ديناميكي واقتراح العناصر تلقائيًا أثناء كتابة المستخدمين في القائمة. على سبيل المثال، يمكن للمستخدمين البدء في كتابة اسم مساحة Google Chat، وستقترح الأداة المساحة تلقائيًا. لملء عناصر قائمة اختيار متعدّد بشكل ديناميكي، استخدِم أحد أنواع مصادر البيانات التالية:
للاطّلاع على أمثلة حول كيفية تنفيذ قوائم اختيار متعدّد لتطبيقات Chat، يُرجى الاطّلاع على إضافة قائمة اختيار متعدّد.
|
SelectionItem
عنصر يمكن للمستخدمين اختياره في حقل إدخال اختيار، مثل مربّع اختيار أو مفتاح تحكّم. يمكن أن يتضمّن ما يصل إلى 100 عنصر.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "text": string, "value": string, "selected": boolean, "bottomText": string, // Union field |
الحقول | |
---|---|
text
|
النص الذي يحدّد السلعة أو يصفها للمستخدمين |
value
|
تمثّل هذه السمة القيمة المرتبطة بهذا العنصر. على العميل استخدام هذا المعرّف كقيمة إدخال في النموذج. للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج. |
selected
|
تُستخدَم لتحديد ما إذا كان العنصر محدَّدًا تلقائيًا. إذا كان عنصر الإدخال المحدد يقبل قيمة واحدة فقط (مثل أزرار الاختيار أو القائمة المنسدلة)، اضبط هذا الحقل لعنصر واحد فقط. |
bottomText
|
بالنسبة إلى قوائم الاختيار المتعدد، وصف نصي أو تصنيف يظهر أسفل حقل |
حقل الدمج
start_icon . بالنسبة إلى قوائم الاختيار المتعدد، عنوان URL للرمز المعروض بجانب حقل
text
العنصر. يتوافق مع ملفات PNG وJPEG. يجب أن يكون عنوان URL تابعًا لـ
HTTPS . على سبيل المثال، https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png .
start_icon
يمكن أن تكون إحدى القيم التالية فقط:
|
|
startIconUri
|
|
PlatformDataSource
بالنسبة إلى أداة
تستخدم قائمة اختيار متعدّد، يجب توفير مصدر بيانات من Google Workspace. تُستخدَم لتعبئة العناصر في قائمة اختيار متعدّد.
SelectionInput
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الدمج
data_source . مصدر البيانات
data_source
يمكن أن تكون إحدى القيم التالية فقط:
|
|
commonDataSource
|
مصدر بيانات تشترك فيه جميع تطبيقات Google Workspace، مثل المستخدمين في مؤسسة Google Workspace |
hostAppDataSource
|
مصدر بيانات خاص بتطبيق مضيف في Google Workspace، مثل المساحات في Google Chat يتوافق هذا الحقل مع Google API Client Libraries، ولكنّه غير متاح في Cloud Client Libraries. لمزيد من المعلومات، يُرجى الاطّلاع على تثبيت مكتبات البرامج. |
CommonDataSource
مصدر بيانات مشترك بين جميع تطبيقات Google Workspace
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
عمليات التعداد | |
---|---|
UNKNOWN
|
القيمة التلقائية لا تستخدِمها. |
USER
|
مستخدمو Google Workspace يمكن للمستخدم عرض واختيار المستخدمين من مؤسسة Google Workspace فقط. |
HostAppDataSourceMarkup
بالنسبة إلى
عنصر واجهة مستخدم يستخدِم قائمة اختيار متعدّد، يكون مصدر البيانات من أحد تطبيقات Google Workspace. يملأ مصدر البيانات عناصر التحديد لقائمة الاختيار المتعدد.
SelectionInput
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الدمج
data_source . تطبيق Google Workspace الذي يملأ العناصر في قائمة اختيار متعدّد.
data_source
يمكن أن تكون إحدى القيم التالية فقط:
|
|
chatDataSource
|
مصدر بيانات من Google Chat |
ChatClientDataSourceMarkup
بالنسبة إلى أداة
تستخدم قائمة اختيار متعدّد، يجب توفير مصدر بيانات من Google Chat. يملأ مصدر البيانات عناصر التحديد لقائمة الاختيار المتعدد. على سبيل المثال، يمكن للمستخدم اختيار مساحات Google Chat التي هو عضو فيها.
SelectionInput
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الدمج
source . مصدر بيانات Google Chat
source
يمكن أن تكون إحدى القيم التالية فقط:
|
|
spaceDataSource
|
مساحات Google Chat التي يكون المستخدم عضوًا فيها |
SpaceDataSource
مصدر بيانات يملأ مساحات Google Chat كعناصر اختيار لقائمة اختيار متعدّد. يتم ملء المساحات التي يكون المستخدم عضوًا فيها فقط.
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
تمثيل JSON |
---|
{ "defaultToCurrentSpace": boolean } |
الحقول | |
---|---|
defaultToCurrentSpace
|
في حال ضبطها على
|
DateTimePicker
تتيح للمستخدمين إدخال تاريخ أو وقت أو كليهما. يتيح التحقّق من صحة عمليات إرسال النماذج. عند ضبط
Action.all_widgets_are_required
على
true
أو تحديد هذه الأداة في
Action.required_widgets
، يتم حظر إجراء الإرسال ما لم يتم تحديد قيمة. للاطّلاع على مثال في تطبيقات Google Chat، راجِع
السماح للمستخدم باختيار تاريخ ووقت.
يمكن للمستخدمين إدخال نص أو استخدام أداة الاختيار لتحديد التواريخ والأوقات. إذا أدخل المستخدمون تاريخًا أو وقتًا غير صالحَين، ستعرض أداة الاختيار خطأ يطلب من المستخدمين إدخال المعلومات بشكل صحيح.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "name": string, "label": string, "type": enum ( |
الحقول | |
---|---|
name
|
الاسم الذي يتم من خلاله تحديد للحصول على تفاصيل حول استخدام إدخالات النماذج، يُرجى الاطّلاع على تلقّي بيانات النماذج. |
label
|
النص الذي يطلب من المستخدمين إدخال تاريخ أو وقت أو تاريخ ووقت على سبيل المثال، إذا كان المستخدمون يحدّدون موعدًا، استخدِم تصنيفًا مثل
|
type
|
تحدّد هذه السمة ما إذا كانت الأداة تتيح إدخال تاريخ أو وقت أو كليهما. |
valueMsEpoch
|
القيمة التلقائية المعروضة في الأداة، بالمللي ثانية منذ وقت حقبة Unix
حدِّد القيمة استنادًا إلى نوع أداة الاختيار (
|
timezoneOffsetDate
|
الرقم الذي يمثّل معادلة المنطقة الزمنية من التوقيت العالمي المنسّق، بالدقائق في حال ضبطها، يتم عرض
|
onChangeAction
|
يتم تشغيله عندما ينقر المستخدم على حفظ أو محو من واجهة |
DateTimePickerType
تمثّل هذه السمة تنسيق التاريخ والوقت في التطبيق المصغّر DateTimePicker
. يحدّد ما إذا كان يمكن للمستخدمين إدخال تاريخ أو وقت أو كليهما.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
DATE_AND_TIME
|
يُدخل المستخدمون تاريخًا ووقتًا. |
DATE_ONLY
|
يُدخل المستخدمون تاريخًا. |
TIME_ONLY
|
يُدخل المستخدمون وقتًا. |
حاجز
لا يتضمّن هذا النوع أي حقول.
تعرض هذه السمة فاصلاً بين التطبيقات المصغّرة على شكل خط أفقي. للاطّلاع على مثال في تطبيقات Google Chat، راجِع إضافة فاصل أفقي بين التطبيقات المصغّرة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
على سبيل المثال، ينشئ ملف JSON التالي مقسّمًا:
"divider": {}
شبكة
تعرِض هذه السمة شبكة تحتوي على مجموعة من العناصر. يمكن أن تتضمّن العناصر نصًا أو صورًا فقط. بالنسبة إلى الأعمدة السريعة الاستجابة أو لتضمين أكثر من نص أو صور، استخدِم
. للاطّلاع على مثال في تطبيقات Google Chat، راجِع
عرض شبكة تتضمّن مجموعة من العناصر.
Columns
يمكن أن تحتوي الشبكة على أي عدد من الأعمدة والعناصر. يتم تحديد عدد الصفوف من خلال تقسيم عدد العناصر على عدد الأعمدة. تحتوي الشبكة التي تضم 10 عناصر وعمودَين على 5 صفوف. تحتوي الشبكة التي تضم 11 عنصرًا وعمودَين على 6 صفوف.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
على سبيل المثال، ينشئ ملف JSON التالي شبكة من عمودَين تحتوي على عنصر واحد:
"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 |
---|
{ "title": string, "items": [ { object ( |
الحقول | |
---|---|
title
|
النص الذي يظهر في عنوان الجدول |
items[]
|
تمثّل هذه السمة العناصر المطلوب عرضها في الشبكة. |
borderStyle
|
نمط الحدود الذي سيتم تطبيقه على كل عنصر من عناصر الشبكة |
columnCount
|
عدد الأعمدة المطلوب عرضها في الشبكة يتم استخدام قيمة تلقائية إذا لم يتم تحديد هذا الحقل، وتختلف هذه القيمة التلقائية حسب مكان عرض الشبكة (مربّع الحوار مقابل الإعلان المرافق). |
onClick
|
تتم إعادة استخدام دالة معاودة الاتصال هذه من خلال كل عنصر من عناصر الشبكة، ولكن مع إضافة معرّف العنصر وفهرسه في قائمة العناصر إلى مَعلمات دالة معاودة الاتصال. |
GridItem
تمثّل هذه السمة عنصرًا في تصميم شبكي. يمكن أن تحتوي العناصر على نص أو صورة أو كليهما.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "id": string, "image": { object ( |
الحقول | |
---|---|
id
|
معرّف يحدّده المستخدم لعنصر الشبكة هذا. يتم عرض هذا المعرّف في مَعلمات معاودة الاتصال الخاصة بالشبكة الرئيسية
|
image
|
الصورة التي تظهر في عنصر الشبكة |
title
|
تمثّل هذه السمة عنوان العنصر في الشبكة. |
subtitle
|
العنوان الفرعي لعنصر الشبكة |
layout
|
تنسيق العنصر في الشبكة |
ImageComponent
تمثّل هذه السمة صورة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "imageUri": string, "altText": string, "cropStyle": { object ( |
الحقول | |
---|---|
imageUri
|
عنوان URL الخاص بالصورة |
altText
|
تمثّل هذه السمة التصنيف المخصّص لتسهيل استخدام الصورة. |
cropStyle
|
نمط الاقتصاص الذي سيتم تطبيقه على الصورة. |
borderStyle
|
نمط الحدود المطلوب تطبيقه على الصورة. |
ImageCropStyle
تمثّل هذه السمة نمط الاقتصاص الذي تم تطبيقه على صورة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
على سبيل المثال، إليك كيفية تطبيق نسبة عرض إلى ارتفاع 16:9:
cropStyle {
"type": "RECTANGLE_CUSTOM",
"aspectRatio": 16/9
}
تمثيل JSON |
---|
{
"type": enum ( |
الحقول | |
---|---|
type
|
نوع المحصول |
aspectRatio
|
تمثّل هذه السمة نسبة العرض إلى الارتفاع التي سيتم استخدامها إذا كان نوع الاقتصاص هو على سبيل المثال، إليك كيفية تطبيق نسبة عرض إلى ارتفاع 16:9:
|
ImageCropType
تمثّل هذه السمة نمط الاقتصاص الذي تم تطبيقه على صورة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
IMAGE_CROP_TYPE_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
SQUARE
|
القيمة التلقائية تطبيق اقتصاص مربّع |
CIRCLE
|
تطبيق اقتصاص دائري |
RECTANGLE_CUSTOM
|
تطبيق اقتصاص مستطيل بنسبة عرض إلى ارتفاع مخصّصة اضبط نسبة العرض إلى الارتفاع المخصّصة باستخدام
aspectRatio .
|
RECTANGLE_4_3
|
تطبيق اقتصاص مستطيل بنسبة عرض إلى ارتفاع 4:3 |
BorderStyle
خيارات النمط لحدود البطاقة أو الأداة، بما في ذلك نوع الحد ولونه
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "type": enum ( |
الحقول | |
---|---|
type
|
نوع الحدّ |
strokeColor
|
الألوان التي سيتم استخدامها عندما تكون القيمة
لضبط لون الحد، حدِّد قيمة للحقول
على سبيل المثال، يضبط ما يلي اللون على الأحمر بأقصى درجة سطوع:
الحقل
|
cornerRadius
|
نصف قطر الزاوية للحدود |
BorderType
تمثّل هذه السمة أنواع الحدود المطبَّقة على التطبيقات المصغّرة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
BORDER_TYPE_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
NO_BORDER
|
بلا حدود |
STROKE
|
القيمة التلقائية مخطّط |
GridItemLayout
تمثّل هذه السمة خيارات التنسيق المختلفة المتاحة لعنصر في شبكة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
GRID_ITEM_LAYOUT_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
TEXT_BELOW
|
يظهر العنوان والعنوان الفرعي أسفل صورة عنصر الشبكة. |
TEXT_ABOVE
|
يظهر العنوان والعنوان الفرعي فوق صورة عنصر الشبكة. |
الأعمدة
تعرض الأداة Columns
ما يصل إلى عمودَين في بطاقة أو مربّع حوار. يمكنك إضافة أدوات إلى كل عمود، وتظهر الأدوات بالترتيب الذي تم تحديده. للاطّلاع على مثال في تطبيقات Google Chat، راجِع مقالة
عرض البطاقات ومربّعات الحوار في أعمدة.
يتم تحديد ارتفاع كل عمود من خلال العمود الأطول. على سبيل المثال، إذا كان العمود الأول أطول من العمود الثاني، سيكون ارتفاع كلا العمودين هو ارتفاع العمود الأول. بما أنّ كل عمود يمكن أن يحتوي على عدد مختلف من التطبيقات المصغّرة، لا يمكنك تحديد الصفوف أو محاذاة التطبيقات المصغّرة بين الأعمدة.
يتم عرض الأعمدة جنبًا إلى جنب. يمكنك تخصيص عرض كل عمود باستخدام الحقل HorizontalSizeStyle
. إذا كان عرض شاشة المستخدم ضيقًا جدًا، سيتم التفاف العمود الثاني أسفل العمود الأول:
- على الويب، يتم التفاف العمود الثاني إذا كان عرض الشاشة أقل من أو يساوي 480 بكسل.
- على أجهزة iOS، يتم التفاف العمود الثاني إذا كان عرض الشاشة أقل من أو يساوي 300 نقطة.
- على أجهزة Android، يتم التفاف العمود الثاني إذا كان عرض الشاشة أقل من 320 وحدة بكسل مستقلة الكثافة أو يساويها.
لتضمين أكثر من عمودَين أو لاستخدام الصفوف، استخدِم أداة
.
Grid
متاحة لتطبيقات Google Chat وإضافات Google Workspace. تشمل واجهات المستخدم للإضافات التي تتوافق مع الأعمدة ما يلي:
- مربّع الحوار الذي يظهر عندما يفتح المستخدمون الإضافة من مسودة رسالة إلكترونية
- مربّع الحوار الذي يظهر عندما يفتح المستخدمون الإضافة من قائمة إضافة مرفق في حدث "تقويم Google".
تمثيل JSON |
---|
{
"columnItems": [
{
object ( |
الحقول | |
---|---|
columnItems[]
|
مصفوفة من الأعمدة يمكنك تضمين ما يصل إلى عمودَين في بطاقة أو مربّع حوار. |
العمود
عمود
تمثيل JSON |
---|
{ "horizontalSizeStyle": enum ( |
الحقول | |
---|---|
horizontalSizeStyle
|
تحدّد هذه السمة كيفية ملء العمود لعرض البطاقة. |
horizontalAlignment
|
تحدّد ما إذا كانت العناصر تتراصف إلى يسار العمود أو يمينه أو وسطه. |
verticalAlignment
|
تحدّد ما إذا كانت الأدوات تتوافق مع أعلى العمود أو أسفله أو وسطه. |
widgets[]
|
مجموعة من التطبيقات المصغّرة المضمّنة في عمود تظهر التطبيقات المصغّرة بالترتيب الذي تم تحديده. |
HorizontalSizeStyle
تحدّد هذه السمة كيفية ملء العمود لعرض البطاقة. يعتمد عرض كل عمود على كل من
HorizontalSizeStyle
وعرض التطبيقات المصغّرة ضمن العمود.
عمليات التعداد | |
---|---|
HORIZONTAL_SIZE_STYLE_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
FILL_AVAILABLE_SPACE
|
القيمة التلقائية يملأ العمود المساحة المتاحة، بما يصل إلى% 70 من عرض البطاقة. إذا تم ضبط كلا العمودين على
FILL_AVAILABLE_SPACE ، سيملأ كل عمود% 50 من المساحة.
|
FILL_MINIMUM_SPACE
|
يملأ العمود أقل مساحة ممكنة ولا يزيد عن% 30 من عرض البطاقة. |
HorizontalAlignment
تحدّد ما إذا كانت العناصر تتراصف إلى يسار العمود أو يمينه أو وسطه.
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
عمليات التعداد | |
---|---|
HORIZONTAL_ALIGNMENT_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
START
|
القيمة التلقائية تتم محاذاة التطبيقات المصغّرة مع موضع البداية للعمود. بالنسبة إلى التنسيقات من اليسار إلى اليمين، تتم المحاذاة إلى اليسار. بالنسبة إلى التنسيقات من اليمين إلى اليسار، تتم المحاذاة إلى اليمين. |
CENTER
|
تتم محاذاة التطبيقات المصغّرة إلى منتصف العمود. |
END
|
تتم محاذاة التطبيقات المصغّرة مع موضع نهاية العمود. بالنسبة إلى التنسيقات من اليسار إلى اليمين، تتم محاذاة التطبيقات المصغّرة إلى اليسار. بالنسبة إلى التنسيقات من اليمين إلى اليسار، تتم محاذاة الأدوات المصغّرة إلى اليسار. |
VerticalAlignment
تحدّد ما إذا كانت الأدوات تتوافق مع أعلى العمود أو أسفله أو وسطه.
عمليات التعداد | |
---|---|
VERTICAL_ALIGNMENT_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
CENTER
|
القيمة التلقائية تتم محاذاة التطبيقات المصغّرة إلى وسط العمود. |
TOP
|
تتم محاذاة التطبيقات المصغّرة مع أعلى العمود. |
BOTTOM
|
تتم محاذاة التطبيقات المصغّرة إلى أسفل العمود. |
التطبيقات المصغَّرة
الأدوات المصغّرة المتوافقة التي يمكنك تضمينها في عمود
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الدمج
يمكن أن تكون |
|
textParagraph
|
التطبيق المصغَّر |
image
|
التطبيق المصغَّر |
decoratedText
|
التطبيق المصغَّر |
buttonList
|
التطبيق المصغَّر |
textInput
|
التطبيق المصغَّر |
selectionInput
|
التطبيق المصغَّر |
dateTimePicker
|
التطبيق المصغَّر |
chipList
|
التطبيق المصغَّر |
ChipList
قائمة بالرقائق مرتّبة أفقيًا، ويمكن إما التمرير أفقيًا أو الانتقال إلى السطر التالي.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "layout": enum ( |
الحقول | |
---|---|
layout
|
تخطيط قائمة الشرائح المحدّد |
chips[]
|
مجموعة من الشرائح. |
التنسيق
تنسيق قائمة الشرائح
عمليات التعداد | |
---|---|
LAYOUT_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
WRAPPED
|
القيمة التلقائية تلتفّ قائمة الشرائح إلى السطر التالي إذا لم تتوفّر مساحة أفقية كافية. |
HORIZONTAL_SCROLLABLE
|
يتم تمرير الشرائح أفقيًا إذا لم تتسع في المساحة المتاحة. |
شريحة
شريحة نصية أو رمز أو شريحة نصية ورمز يمكن للمستخدمين النقر عليها
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "icon": { object ( |
الحقول | |
---|---|
icon
|
صورة الرمز إذا تم ضبط كل من
|
label
|
النص المعروض داخل الشريحة |
onClick
|
اختيارية: الإجراء الذي سيتم تنفيذه عندما ينقر المستخدم على الشريحة، مثل فتح رابط تشعّبي أو تنفيذ دالة مخصّصة |
enabled
|
تُستخدَم لتحديد ما إذا كانت الشريحة في حالة نشطة وتستجيب لإجراءات المستخدم. القيمة التلقائية هي |
disabled
|
تُستخدَم لتحديد ما إذا كانت الشريحة في حالة غير نشطة وتتجاهل إجراءات المستخدم. القيمة التلقائية هي |
altText
|
النص البديل المستخدَم لتسهيل الاستخدام اضبط نصًا وصفيًا يتيح للمستخدمين معرفة وظيفة الشريحة. على سبيل المثال، إذا كانت الشريحة تفتح ارتباطًا تشعبيًا، اكتب: "يفتح علامة تبويب جديدة في المتصفّح وينتقِل إلى مستندات المطوّرين الخاصة بـ Google Chat على الرابط https://developers.google.com/workspace/chat". |
لوحة عرض دوّارة
تعرض لوحة العرض الدوّارة، المعروفة أيضًا باسم شريط التمرير، قائمة بعناصر واجهة المستخدم بتنسيق عرض شرائح، مع أزرار للتنقّل إلى عنصر واجهة المستخدم السابق أو التالي.
على سبيل المثال، هذا تمثيل JSON للوحة عرض دوّارة تحتوي على ثلاث أدوات فقرات نصية.
{
"carouselCards": [
{
"widgets": [
{
"textParagraph": {
"text": "First text paragraph in carousel",
}
}
]
},
{
"widgets": [
{
"textParagraph": {
"text": "Second text paragraph in carousel",
}
}
]
},
{
"widgets": [
{
"textParagraph": {
"text": "Third text paragraph in carousel",
}
}
]
}
]
}
متاحة لتطبيقات Google Chat وغير متاحة لإضافات Google Workspace.
تمثيل JSON |
---|
{
"carouselCards": [
{
object ( |
الحقول | |
---|---|
carouselCards[]
|
تمثّل هذه السمة قائمة بالبطاقات المُدرَجة في لوحة العرض الدوّارة. |
CarouselCard
بطاقة يمكن عرضها كعنصر في لوحة عرض دوّارة.
تمثيل JSON |
---|
{ "widgets": [ { object ( |
الحقول | |
---|---|
widgets[]
|
تمثّل هذه السمة قائمة بالتطبيقات المصغّرة المعروضة في بطاقة لوحة العرض الدوّارة. يتم عرض التطبيقات المصغّرة بالترتيب الذي تم تحديده. |
footerWidgets[]
|
قائمة بالتطبيقات المصغّرة المعروضة في أسفل بطاقة لوحة العرض الدوّارة يتم عرض التطبيقات المصغّرة بالترتيب الذي تم تحديده. |
NestedWidget
قائمة بالتطبيقات المصغّرة التي يمكن عرضها في تخطيط حاوٍ، مثل
CarouselCard
.
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الدمج
يمكن أن تكون |
|
textParagraph
|
أداة فقرة نصية |
buttonList
|
عنصر واجهة مستخدم لقائمة أزرار |
image
|
أداة صورة |
CollapseControl
تمثّل عنصر تحكّم للتوسيع والتصغير.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
تمثيل JSON |
---|
{ "horizontalAlignment": enum ( |
الحقول | |
---|---|
horizontalAlignment
|
المحاذاة الأفقية لزرَي التوسيع والتصغير |
expandButton
|
اختيارية: حدِّد زرًا قابلاً للتخصيص لتوسيع القسم. يجب ضبط كلّ من الحقلَين expandButton وcollapseButton. لن يتم تفعيل مجموعة حقول واحدة فقط. في حال عدم ضبط هذا الحقل، يتم استخدام الزر التلقائي. |
collapseButton
|
اختيارية: حدِّد زرًا قابلاً للتخصيص لتصغير القسم. يجب ضبط كلّ من الحقلَين expandButton وcollapseButton. لن يتم تفعيل مجموعة حقول واحدة فقط. في حال عدم ضبط هذا الحقل، يتم استخدام الزر التلقائي. |
DividerStyle
تمثّل هذه السمة نمط فاصل البطاقة. تُستخدَم حاليًا فقط للفواصل بين أقسام البطاقات.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
عمليات التعداد | |
---|---|
DIVIDER_STYLE_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
SOLID_DIVIDER
|
الخيار التلقائي عرض مقسّم ثابت |
NO_DIVIDER
|
في حال ضبط هذا الخيار، لن يتم عرض أي فاصل. يزيل هذا النمط الفاصل من التصميم تمامًا. والنتيجة مماثلة لعدم إضافة فاصل على الإطلاق. |
CardAction
إجراء البطاقة هو الإجراء المرتبط بالبطاقة. على سبيل المثال، قد تتضمّن بطاقة الفاتورة إجراءات مثل حذف الفاتورة أو إرسال الفاتورة عبر البريد الإلكتروني أو فتح الفاتورة في متصفّح.
متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.
تمثيل JSON |
---|
{
"actionLabel": string,
"onClick": {
object ( |
الحقول | |
---|---|
actionLabel
|
التصنيف الذي يظهر كعنصر في قائمة الإجراءات. |
onClick
|
تمثّل هذه السمة
|
DisplayStyle
في إضافات Google Workspace، تحدّد هذه السمة طريقة عرض البطاقة.
متاحة لإضافات Google Workspace وغير متاحة لتطبيقات Google Chat.
عمليات التعداد | |
---|---|
DISPLAY_STYLE_UNSPECIFIED
|
لا تستخدِمها. غير محدد |
PEEK
|
يظهر عنوان البطاقة في أسفل الشريط الجانبي، ويغطي جزئيًا البطاقة العلوية الحالية في الحزمة. يؤدي النقر على العنوان إلى إظهار البطاقة في حزمة البطاقات. إذا لم تتضمّن البطاقة عنوانًا، سيتم استخدام عنوان من إنشاء النظام بدلاً من ذلك. |
REPLACE
|
القيمة التلقائية يتم عرض البطاقة من خلال استبدال طريقة عرض البطاقة العلوية في حزمة البطاقات. |