لمنع تبديل السياق عندما يشارك المستخدمون رابطًا في Google Chat، يمكن لتطبيق Chat معاينة الرابط من خلال إرفاق بطاقة بالرسالة تتضمّن المزيد من المعلومات وتتيح للمستخدمين اتّخاذ إجراء مباشرةً من Google Chat.
على سبيل المثال، تخيَّل مساحة في Google Chat تضم جميع موظفي خدمة العملاء في شركة بالإضافة إلى تطبيق Chat باسم Case-y. يشارك الموظفون بشكل متكرر روابط لطلبات خدمة العملاء في مساحة Chat، وفي كل مرة يفعلون ذلك، على زملائهم فتح رابط الطلب للاطّلاع على التفاصيل، مثل الشخص المسؤول والحالة والموضوع. وبالمثل، إذا أراد أحد المستخدمين تولي مسؤولية طلب أو تغيير حالته، عليه فتح الرابط.
تتيح ميزة "معاينة الروابط" لتطبيق Chat المدمج في المساحة، Case-y، إرفاق بطاقة تعرض معلومات عن الشخص المكلّف والحالة والموضوع عندما يشارك أحد المستخدمين رابطًا لطلب دعم. تتيح الأزرار الموجودة على البطاقة للموظفين تولي مسؤولية الطلب وتغيير حالته مباشرةً من المحادثة.
طريقة عمل ميزة "معاينة الروابط"
عندما يضيف مستخدم رابطًا إلى رسالته، تظهر شريحة تُعلِمه بأنّ تطبيق Chat قد يعرض معاينة للرابط.

بعد إرسال الرسالة، يتم إرسال الرابط إلى تطبيق Chat، الذي ينشئ البطاقة ويرفقها برسالة المستخدم.

إلى جانب الرابط، تقدّم البطاقة معلومات إضافية حول الرابط، بما في ذلك عناصر تفاعلية مثل الأزرار. يمكن لتطبيق Chat تعديل البطاقة المرفقة استجابةً لتفاعلات المستخدمين، مثل النقرات على الأزرار.
إذا كان المستخدم لا يريد أن يعرض تطبيق Chat معاينة للرابط من خلال إرفاق بطاقة بالرسالة، يمكنه منع المعاينة من خلال النقر على في شريحة المعاينة. يمكن للمستخدمين إزالة البطاقة المرفقة في أي وقت من خلال النقر على إزالة المعاينة.
المتطلبات الأساسية
HTTP
تطبيق Google Chat يتلقّى تفاعلات المستخدمين ويردّ عليها. لإنشاء أحدها، أكمل البداية السريعة لبروتوكول HTTP.
برمجة التطبيقات
تطبيق Google Chat يتلقّى تفاعلات المستخدمين ويردّ عليها. لإنشاء تطبيق، عليك إكمال دليل البدء السريع في برمجة تطبيقات.
ضبط معاينات الروابط
سجِّل روابط معيّنة، مثل example.com وsupport.example.com وsupport.example.com/cases/، كأنماط عناوين URL في صفحة إعدادات تطبيق Chat ضمن "وحدة تحكّم Google Cloud" ليتمكّن تطبيق Chat من عرض معاينة لها.

- افتح Google Cloud Console.
- بجانب "Google Cloud"، انقر على السهم المتّجه للأسفل وافتح مشروع تطبيق Chat.
- في حقل البحث، اكتب
Google Chat APIوانقر على واجهة برمجة تطبيقات Google Chat. - انقر على إدارة > الإعداد.
- ضمن "معاينات الروابط"، أضِف نمط عنوان URL أو عدِّله.
- لضبط معاينات الروابط لنمط عنوان URL جديد، انقر على إضافة نمط عنوان URL.
- لتعديل إعدادات نمط عنوان URL حالي، انقر على السهم المتّجه للأسفل .
في الحقل نمط المضيف، أدخِل نطاق نمط عنوان URL. سيعاين تطبيق Chat الروابط المؤدية إلى هذا النطاق.
لكي يعرض تطبيق Chat معاينات للروابط الخاصة بنطاق فرعي معيّن، مثل
subdomain.example.com، عليك تضمين النطاق الفرعي.للسماح لتطبيق Chat بمعاينة الروابط الخاصة بالنطاق بأكمله، حدِّد حرف بدل مع علامة نجمة (*) كنطاق فرعي. على سبيل المثال، تتطابق
*.example.comمعsubdomain.example.comوany.number.of.subdomains.example.com.في حقل بادئة المسار، أدخِل مسارًا لإلحاقه بنطاق نمط المضيف.
لمطابقة جميع عناوين URL في نطاق نمط المضيف، اترك بادئة المسار فارغة.
على سبيل المثال، إذا كان نمط المضيف هو
support.example.com، أدخِلcases/لمطابقة عناوين URL للحالات المستضافة علىsupport.example.com/cases/.انقر على تم.
انقر على حفظ.
من الآن فصاعدًا، عندما يضيف مستخدم رابطًا يتطابق مع نمط عنوان URL لمعاينة الرابط إلى رسالة في مساحة Chat تتضمّن تطبيق Chat، سيعرض تطبيقك معاينة للرابط.
معاينة رابط
بعد ضبط إعدادات معاينة الروابط لرابط معيّن، يمكن لتطبيق Chat التعرّف على الرابط ومعاينته من خلال إرفاق المزيد من المعلومات به.
في مساحات Chat التي تتضمّن تطبيق Chat، عندما تتضمّن رسالة أحد المستخدمين رابطًا يتطابق مع نمط عنوان URL لمعاينة الرابط، يتلقّى تطبيق Chat عنصر حدث يتضمّن MessagePayload.
في الحمولة، يحتوي الكائن
message.matchedUrl
(chat.messagePayload.message.matchedUrl.url) على الرابط الذي أدرجه المستخدم في الرسالة:
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
من خلال التحقّق من توفّر الحقل matchedUrl في حمولة حدث MESSAGE (chat.messagePayload.message.matchedUrl.url)، يمكن لتطبيق Chat إضافة معلومات إلى الرسالة التي تتضمّن الرابط المعروض. يمكن لتطبيق Chat الرد برسالة نصية بسيطة أو إرفاق بطاقة.
الردّ برسالة نصية
بالنسبة إلى الردود الأساسية، يمكن لتطبيق Chat معاينة رابط من خلال الرد برسالة نصية بسيطة على الرابط. يرفق هذا المثال رسالة تكرّر عنوان URL للرابط الذي يتطابق مع نمط عنوان URL لمعاينة الرابط.
Node.js
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
Python
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
جافا
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
برمجة التطبيقات
إرفاق بطاقة تعرض معاينة للرابط
لإرفاق بطاقة برابط تمت معاينته،
عليك عرض الإجراء DataActions مع
الكائن ChatDataActionMarkup من النوع
UpdateInlinePreviewAction.
في المثال التالي، يضيف تطبيق Chat بطاقة معاينة إلى الرسائل التي تتضمّن نمط عنوان URL support.example.com.

Node.js
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
Python
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
جافا
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
برمجة التطبيقات
تعديل بطاقة معاينة رابط
يمكن لتطبيق Chat تعديل بطاقة معاينة الرابط عندما يتفاعل المستخدمون معها، مثلاً من خلال النقر على زر في البطاقة.
لتعديل البطاقة، يجب أن يعرض تطبيق Chat الإجراء DataActions مع أحد عناصر ChatDataActionMarkup التالية:
- إذا أرسل المستخدم الرسالة، عليك عرض عنصر
UpdateMessageAction. - إذا أرسل تطبيق Chat الرسالة، عليك عرض عنصر
UpdateInlinePreviewAction.
لتحديد هوية مرسل الرسالة، استخدِم حمولة الحدث
(buttonClickedPayload)
للتحقّق مما إذا كان المرسل (message.sender.type) مضبوطًا على HUMAN (مستخدم) أو
BOT (تطبيق Chat).
يوضّح المثال التالي كيف يحدّث تطبيق Chat معاينة الرابط عندما ينقر مستخدم على الزر تعيين لي من خلال تعديل الحقل المسؤول في البطاقة وإيقاف الزر.

Node.js
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
Python
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
جافا
استبدِل FUNCTION_URL بنقطة نهاية HTTP التي تعالج نقرات الأزرار.
برمجة التطبيقات
الحدود والاعتبارات
أثناء إعداد معاينات الروابط لتطبيق Chat، يُرجى الانتباه إلى الحدود والاعتبارات التالية:
- يتيح كل تطبيق من تطبيقات Chat معاينات الروابط لما يصل إلى 5 أنماط عناوين URL.
- تعرض تطبيقات المحادثة معاينة لرابط واحد لكل رسالة. إذا كانت هناك عدة روابط قابلة للمعاينة في رسالة واحدة، ستتم معاينة الرابط الأول فقط.
- تعرض تطبيقات المحادثات معاينات للروابط التي تبدأ بـ
https://فقط، لذاhttps://support.example.com/cases/تعرض معاينات، ولكنsupport.example.com/cases/لا تعرضها. - ما لم تتضمّن الرسالة معلومات أخرى يتم إرسالها إلى تطبيق Chat، مثل أمر يبدأ بشرطة مائلة، لن يتم إرسال سوى عنوان URL للرابط إلى تطبيق Chat من خلال معاينات الروابط.
- إذا نشر مستخدم الرابط، لا يمكن لتطبيق Chat تعديل بطاقة معاينة الرابط إلا إذا تفاعل المستخدمون مع البطاقة، مثلاً من خلال النقر على زر. لا يمكنك استدعاء طريقة
update()في Chat API على الموردMessageلتعديل رسالة مستخدم بشكل غير متزامن. - يجب أن تعاين تطبيقات المحادثة الروابط لجميع المشاركين في المساحة، لذا يجب أن تحذف الرسالة الحقل
privateMessageViewer.
تصحيح أخطاء معاينات الروابط
أثناء تنفيذ معاينات الروابط، قد تحتاج إلى تصحيح أخطاء تطبيق Chat من خلال قراءة سجلات التطبيق. لقراءة السجلّات، انتقِل إلى مستكشف السجلّات في Google Cloud Console.
تطبيقات المحادثة غير الإضافات: معاينة الروابط
تنطبق المستندات التالية على تطبيقات Chat التي ليست إضافات Google Workspace. لنقل تطبيق Chat ليس إضافة، يُرجى الاطّلاع على تحويل تطبيق Google Chat إلى إضافة Google Workspace.
في مساحات Chat التي تتضمّن تطبيق Chat ليس إضافة، عندما تتضمّن رسالة أحد المستخدمين رابطًا يتطابق مع نمط عنوان URL لمعاينة الرابط، يتلقّى تطبيق Chat حدث تفاعل MESSAGE. تحتوي حمولة JSON الخاصة بحدث التفاعل على الحقل matchedUrl:
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
من خلال البحث عن الحقل matchedUrl في حمولة حدث MESSAGE، يمكن لتطبيق Chat غير إضافي إضافة معلومات إلى الرسالة التي تتضمّن الرابط الذي تمت معاينته.
الردّ برسالة نصية
بالنسبة إلى الردود الأساسية، يمكن لتطبيق Chat غير المضاف كإضافة معاينة رابط من خلال الرد برسالة نصية بسيطة على الرابط. يرفق هذا المثال رسالة تكرّر عنوان URL للرابط الذي يتطابق مع نمط عنوان URL لمعاينة الرابط:
Node.js
Python
جافا
برمجة التطبيقات
إرفاق بطاقة تعرض معاينة للرابط
لإرفاق بطاقة برابط تمت معاينته
في تطبيق Chat ليس
إضافة، يجب عرض
ActionResponse
من النوع UPDATE_USER_MESSAGE_CARDS. يُرفق هذا المثال بطاقة أساسية:
Node.js
Python
جافا
برمجة التطبيقات
يرسل هذا المثال رسالة بطاقة من خلال عرض ملف JSON للبطاقة. يمكنك أيضًا استخدام خدمة البطاقات في "برمجة تطبيقات Google".
تعديل بطاقة معاينة رابط
لتعديل بطاقة معاينة رابط في تطبيق Chat ليس إضافة، عليك التعامل مع حدث التفاعل CARD_CLICKED وعرض actionResponse استنادًا إلى المستخدم الذي أرسل الرسالة التي تتضمّن معاينة الرابط:
- إذا أرسل المستخدم الرسالة، اضبط قيمة
actionResponse.typeعلىUPDATE_USER_MESSAGE_CARDS. - إذا أرسل تطبيق Chat الرسالة، اضبط السمة
actionResponse.typeعلىUPDATE_MESSAGE.
لتحديد هوية مرسل الرسالة، يمكنك استخدام حقل message.sender.type في حدث التفاعل لمعرفة ما إذا كان المرسل مستخدمًا HUMAN أو BOT.
يوضّح المثال التالي كيف يحدّث تطبيق Chat غير إضافي معاينة الرابط عندما ينقر المستخدم على الزر تعيين لي من خلال تعديل حقل المكلَّف في البطاقة وإيقاف الزر:
Node.js
Python
جافا
برمجة التطبيقات
يرسل هذا المثال رسالة بطاقة من خلال عرض ملف JSON للبطاقة. يمكنك أيضًا استخدام خدمة البطاقات في "برمجة تطبيقات Google".