تضيف الردود المنسَّقة عناصر مرئية لتحسين تفاعلات المستخدم مع الإجراء. يمكنك استخدام أنواع الردود المنسّقة التالية كجزء من رسالة مطالبة:
- البطاقة الأساسية
- بطاقة الصورة
- بطاقة جدول
عند تحديد استجابة منسّقة، استخدِم مرشحًا مع إمكانية الوصول إلى RICH_RESPONSE
بحيث لا يعرض "مساعد Google" الاستجابة المنسّقة إلا على
الأجهزة المتوافقة. يمكنك استخدام رد واحد منسّق فقط لكل كائن content
في رسالة مطالبة.
البطاقة الأساسية
تم تصميم البطاقات الأساسية بحيث تكون مختصرة، لتقديم المعلومات الرئيسية (أو الملخص) للمستخدمين، والسماح للمستخدمين بمعرفة المزيد إذا اخترت ذلك (باستخدام رابط ويب).
استخدم البطاقات الأساسية بشكل أساسي لأغراض العرض، نظرًا لعدم وجود إمكانيات للتفاعل بدون زر. لربط زر بالويب، يجب أن تتوفّر أيضًا إمكانية WEB_LINK
للسطح.

أماكن إقامة
يتضمن نوع استجابة البطاقة الأساسية الخصائص التالية:
الخاصية | النوع | المتطلب | الوصف |
---|---|---|---|
title |
سلسلة | اختياري | عنوان نص عادي للبطاقة. العناوين لخط وحجم ثابتين، ويتم اقتطاع الأحرف التي تتجاوز السطر الأول. يتم تصغير ارتفاع البطاقة في حال عدم تحديد عنوان. |
subtitle |
سلسلة | اختياري | ترجمة نص عادي للبطاقة. العناوين لها خط وحجم ثابتين، ويتم اقتطاع الأحرف التي تتجاوز السطر الأول. يتم تصغير ارتفاع البطاقة في حال عدم تحديد عنوان فرعي. |
text |
سلسلة | الجملة الشرطية |
محتوى نص عادي للبطاقة. يتم اقتطاع النص الطويل جدًا في آخر فاصل كلمات بعلامة حذف. يجب استخدام هذه السمة ما لم يتوفّر
يخضع هذا الموقع للقيود التالية:
تتوفّر مجموعة فرعية محدودة من Markdown:
|
image |
Image |
اختياري | الصورة المعروضة في البطاقة. يمكن أن تكون الصور بتنسيق JPG وPNG وGIF (سواء كانت متحركة أو غير متحركة). |
image_fill |
ImageFill |
اختياري | حد بين البطاقة وحاوية الصورة المطلوب استخدامها عندما لا تتطابق نسبة العرض إلى الارتفاع للصورة مع نسبة العرض إلى الارتفاع لحاوية الصورة |
button |
Link |
اختياري | زر يربط المستخدم بعنوان URL عند النقر عليه. ويجب أن يحتوي الزر على
الخاصية name التي تحتوي على نص الزر، والخاصية url التي تحتوي على عنوان URL للرابط. قد لا يكون نص الزر مضللاً، ويتم التحقق منه أثناء عملية المراجعة. |
نموذج التعليمات البرمجية
ياميل
candidates: - first_simple: variants: - speech: This is a card. text: This is a card. content: card: title: Card Title subtitle: Card Subtitle text: Card Content image: url: 'https://developers.google.com/assistant/assistant_96.png' alt: Google Assistant logo
JSON
{ "candidates": [ { "first_simple": { "variants": [ { "speech": "This is a card.", "text": "This is a card." } ] }, "content": { "card": { "title": "Card Title", "subtitle": "Card Subtitle", "text": "Card Content", "image": { "url": "https://developers.google.com/assistant/assistant_96.png", "alt": "Google Assistant logo" } } } } ] }
Node.js
app.handle('Card', conv => { conv.add('This is a card.'); conv.add(new Card({ "title": "Card Title", "subtitle": "Card Subtitle", "text": "Card Content", "image": new Image({ url: 'https://developers.google.com/assistant/assistant_96.png', alt: 'Google Assistant logo' }) })); });
JSON
{ "responseJson": { "session": { "id": "session_id", "params": {} }, "prompt": { "override": false, "content": { "card": { "title": "Card Title", "subtitle": "Card Subtitle", "text": "Card Content", "image": { "alt": "Google Assistant logo", "height": 0, "url": "https://developers.google.com/assistant/assistant_96.png", "width": 0 } } }, "firstSimple": { "speech": "This is a card.", "text": "This is a card." } } } }
بطاقات الصور
تم تصميم بطاقات الصور بحيث تكون بديلاً أكثر بساطة للبطاقة الأساسية التي تحتوي أيضًا على صورة. استخدم بطاقة صورة عندما تريد مشاركة عرض صورة، وليست هناك حاجة إلى دعم النص أو المكونات التفاعلية.
أماكن إقامة
يتضمن نوع استجابة بطاقة الصورة الخصائص التالية:
الخاصية | النوع | المتطلب | الوصف |
---|---|---|---|
url |
سلسلة | مطلوب | عنوان URL المصدر للصورة. يمكن أن تكون الصور بتنسيق JPG أو PNG أو GIF (مع إمكانية تحريكها وجعلها غير متحركة). |
alt |
سلسلة | مطلوب | وصف نصي للصورة المراد استخدامها في إمكانية الوصول. |
height |
int32 | اختياري | ارتفاع الصورة بالبكسل. |
width |
int32 | اختياري | عرض الصورة بالبكسل. |
نموذج التعليمات البرمجية
ياميل
candidates: - first_simple: variants: - speech: This is an image prompt. text: This is an image prompt. content: image: alt: Google Assistant logo url: 'https://developers.google.com/assistant/assistant_96.png'
JSON
{ "candidates": [ { "first_simple": { "variants": [ { "speech": "This is an image prompt.", "text": "This is an image prompt." } ] }, "content": { "image": { "alt": "Google Assistant logo", "url": "https://developers.google.com/assistant/assistant_96.png" } } } ] }
Node.js
app.handle('Image', conv => { conv.add("This is an image prompt!"); conv.add(new Image({ url: 'https://developers.google.com/assistant/assistant_96.png', alt: 'Google Assistant logo' })); });
JSON
{ "responseJson": { "session": { "id": "session_id", "params": {} }, "prompt": { "override": false, "content": { "image": { "alt": "Google Assistant logo", "height": 0, "url": "https://developers.google.com/assistant/assistant_96.png", "width": 0 } }, "firstSimple": { "speech": "This is an image prompt.", "text": "This is an image prompt." } } } }
بطاقات الطاولة
تتيح لك بطاقات الجداول عرض بيانات جدولية في إجابتك (على سبيل المثال، الترتيب الرياضي ونتائج الانتخابات والرحلات الجوية). يمكنك تحديد الأعمدة والصفوف (ما يصل إلى 3 صفوف) التي يعرضها المساعد في بطاقة جدولك. يمكنك أيضًا تحديد أعمدة وصفوف إضافية، مع تحديد أولوياتها.

تعرض الجداول بيانات ثابتة ولا يمكن التفاعل معها. للحصول على إجابات تفاعلية عن الاختيارات، يمكنك استخدام استجابة اختيار مرئي بدلاً من ذلك.
أماكن إقامة
يتضمن نوع استجابة بطاقة الجدول الخصائص التالية:
الخاصية | النوع | المتطلب | الوصف |
---|---|---|---|
title |
سلسلة | الجملة الشرطية | عنوان نص عادي للجدول. وتكون هذه السمة مطلوبة في حال ضبط السمة subtitle . |
subtitle |
سلسلة | اختياري | ترجمة نص عادي للجدول. ولا يؤثر ذلك في تخصيص المظاهر في بطاقات الجداول. |
columns |
مصفوفة TableColumn |
مطلوب | رؤوس الأعمدة ومحاذاتها. يصف كل كائن TableColumn عنوان عمود مختلف ومحاذاته في الجدول نفسه. |
rows |
مصفوفة TableRow |
مطلوب |
بيانات صف الجدول. من المؤكّد ظهور الصفوف الثلاثة الأولى، ولكن قد لا تظهر صفوف أخرى على أسطح معيّنة. يمكنك إجراء الاختبار باستخدام المحاكي لتحديد الصفوف التي يتم عرضها على سطح معيّن. يصف كل كائن |
image |
Image |
اختياري | الصورة مرتبطة بالجدول. |
button |
Link |
اختياري | زر يربط المستخدم بعنوان URL عند النقر عليه. ويجب أن يحتوي الزر على
الخاصية name التي تحتوي على نص الزر، والسمة
url التي تحتوي على عنوان URL للرابط. قد لا يكون نص الزر مضللاً، ويتم التحقق منه أثناء عملية المراجعة.
|
نموذج التعليمات البرمجية
توضح المقتطفات التالية كيفية تنفيذ بطاقة جدول:
ياميل
candidates: - first_simple: variants: - speech: This is a table. text: This is a table. content: table: title: Table Title subtitle: Table Subtitle columns: - header: Column A - header: Column B - header: Column C rows: - cells: - text: A1 - text: B1 - text: C1 - cells: - text: A2 - text: B2 - text: C2 - cells: - text: A3 - text: B3 - text: C3 image: alt: Google Assistant logo url: 'https://developers.google.com/assistant/assistant_96.png'
JSON
{ "candidates": [ { "first_simple": { "variants": [ { "speech": "This is a table.", "text": "This is a table." } ] }, "content": { "table": { "title": "Table Title", "subtitle": "Table Subtitle", "columns": [ { "header": "Column A" }, { "header": "Column B" }, { "header": "Column C" } ], "rows": [ { "cells": [ { "text": "A1" }, { "text": "B1" }, { "text": "C1" } ] }, { "cells": [ { "text": "A2" }, { "text": "B2" }, { "text": "C2" } ] }, { "cells": [ { "text": "A3" }, { "text": "B3" }, { "text": "C3" } ] } ], "image": { "alt": "Google Assistant logo", "url": "https://developers.google.com/assistant/assistant_96.png" } } } } ] }
Node.js
app.handle('Table', conv => { conv.add('This is a table.'); conv.add(new Table({ "title": "Table Title", "subtitle": "Table Subtitle", "image": new Image({ url: 'https://developers.google.com/assistant/assistant_96.png', alt: 'Google Assistant logo' }), "columns": [{ "header": "Column A" }, { "header": "Column B" }, { "header": "Column C" }], "rows": [{ "cells": [{ "text": "A1" }, { "text": "B1" }, { "text": "C1" }] }, { "cells": [{ "text": "A2" }, { "text": "B2" }, { "text": "C2" }] }, { "cells": [{ "text": "A3" }, { "text": "B3" }, { "text": "C3" }] }] })); });
JSON
{ "responseJson": { "session": { "id": "session_id", "params": {} }, "prompt": { "override": false, "content": { "table": { "button": {}, "columns": [ { "header": "Column A" }, { "header": "Column B" }, { "header": "Column C" } ], "image": { "alt": "Google Assistant logo", "height": 0, "url": "https://developers.google.com/assistant/assistant_96.png", "width": 0 }, "rows": [ { "cells": [ { "text": "A1" }, { "text": "B1" }, { "text": "C1" } ] }, { "cells": [ { "text": "A2" }, { "text": "B2" }, { "text": "C2" } ] }, { "cells": [ { "text": "A3" }, { "text": "B3" }, { "text": "C3" } ] } ], "subtitle": "Table Subtitle", "title": "Table Title" } }, "firstSimple": { "speech": "This is a table.", "text": "This is a table." } } } }
تخصيص ردودك
يمكنك تغيير مظهر الردود المنسقة عن طريق إنشاء مظهر مخصص لمشروع الإجراءات. ويمكن أن يكون هذا التخصيص مفيدًا في تعريف شكل وأسلوب فريدين للمحادثة عندما يستدعي المستخدمون إجراءاتك على إحدى الشاشات.
لتعيين مظهر رد مخصص، يمكنك إجراء ما يلي:
- في وحدة تحكّم الإجراءات، انتقِل إلى تطوير > تخصيص المظهر.
- اضبط أيًا مما يلي أو كل ما يلي:
- لون الخلفية: يُستخدم كخلفية لبطاقاتك. بشكل عام، يمكنك استخدام لون فاتح للخلفية لتسهيل قراءة محتوى البطاقة.
- اللون الأساسي: اللون الرئيسي لنصوص رؤوس بطاقاتك وعناصر واجهة المحل. بوجه عام، استخدم لونًا أساسيًا داكنًا للحصول على تباين أفضل مع لون الخلفية.
- مجموعة الخطوط: تصف نوع الخط المستخدم في العناوين والعناصر النصية البارزة الأخرى.
- نمط زاوية الصورة: تغيير مظهر زوايا البطاقات.
- صورة الخلفية: استخدام صورة مخصصة بدلاً من لون الخلفية. قدِّم صورتين مختلفتين عندما يكون الجهاز السطحي في وضع أفقي أو رأسي. إذا كنت تستخدم صورة خلفية، فسيتم تعيين اللون الأساسي إلى اللون الأبيض.
- انقر على حفظ.
