إنشاء إضافة Google Chat باستخدام Dialogflow ES

توضّح هذه الصفحة كيفية إنشاء تطبيق Google Chat كإضافة Google Workspace تستخدم Dialogflow ES لفهم اللغة الطبيعية والردّ عليها. يمكنك أيضًا استخدام Dialogflow CX الذي يتكامل مباشرةً مع Google Chat لإنشاء تطبيق Google Chat في Dialogflow CX باتّباع دليل Google Chat في Dialogflow CX.

الأهداف

  • إعداد البيئة
  • إنشاء وكيل Dialogflow ES ونشره
  • إنشاء تطبيق Chat يستند إلى وكيل Dialogflow ES ونشره
  • اختبار تطبيق Chat

المتطلبات الأساسية

هندسة معمارية

يوضّح الرسم البياني التالي بنية تطبيق Chat تم إنشاؤه باستخدام Dialogflow:

بنية تطبيق Chat تم تنفيذه باستخدام Dialogflow

في الرسم البياني السابق، يتفاعل المستخدم مع تطبيق Chat في Dialogflow وفقًا لسير المعلومات التالي:

  1. يرسل المستخدم رسالة في Chat إلى تطبيق Chat، إما في رسالة مباشرة أو في مساحة على Chat.
  2. يتلقّى وكيل افتراضي في Dialogflow الرسالة ويعالجها لإنشاء ردّ .
  3. يمكن لوكيل Dialogflow التفاعل اختياريًا مع خدمات خارجية تابعة لجهات خارجية، مثل نظام إدارة المشاريع أو أداة إصدار التذاكر، وذلك باستخدام طلبات ردّ من Dialogflow.
  4. يرسل وكيل Dialogflow ردًا إلى خدمة تطبيق Chat في Chat.
  5. يتم تسليم الردّ إلى مساحة Chat.

إعداد البيئة

قبل استخدام واجهات برمجة تطبيقات Google، عليك تفعيلها في مشروع على Google Cloud. يمكنك تفعيل واجهة برمجة تطبيقات واحدة أو أكثر في مشروع واحد على Google Cloud.
  1. في Google API Console، فعِّل Google Chat API وDialogflow API.

    تفعيل واجهات برمجة التطبيقات

  2. تأكَّد من أنّك تُفعِّل واجهات برمجة التطبيقات في مشروع Cloud الصحيح، ثم انقر على التالي.

  3. تأكَّد من أنّك تُفعِّل واجهات برمجة التطبيقات الصحيحة، ثم انقر على تفعيل.

إنشاء وكيل Dialogflow ES

إذا لم يكن لديك وكيل حالي في Dialogflow ES:

  1. انتقِل إلى Dialogflow ES Console.
  2. انقر على إنشاء وكيل.
  3. أدخِل اسمًا له واختَر لغة تلقائية ومنطقة زمنية.
  4. اربطه بمشروعك على السحابة الإلكترونية.
  5. انقر على إنشاء.
  6. أنشئ النوايا والكيانات حسب الحاجة لسير المحادثة في تطبيق Chat. يمكنك البدء بنية تحية.
  7. دوِّن رقم تعريف مشروعك.

للحصول على دليل مفصّل، يُرجى الاطّلاع على إنشاء وكيل.

إنشاء تطبيق Chat وربطه بوكيل Dialogflow

بعد إنشاء وكيل Dialogflow ES، اتّبِع الخطوات التالية لتحويله إلى تطبيق Chat:

  1. في Google API Console، انتقِل إلى Google Chat API. ابحث عن "Google Chat API" وانقر على Google Chat API، ثم انقر على إدارة.

    الانتقال إلى Chat API

  2. انقر على الإعدادات واضبط تطبيق Chat:

    1. في اسم التطبيق، أدخِل Dialogflow App.
    2. في عنوان URL للأفاتار ، أدخِل https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.
    3. في الوصف ، أدخِل Responds to real human conversation.
    4. ضمن الوظائف ، اختَر الانضمام إلى المساحات والمحادثات الجماعية.
    5. ضمن إعدادات الاتصال ، اختَر Dialogflow.
    6. ضمن إعدادات Dialogflow، اختَر Dialogflow ES.
    7. إتاحة تطبيق Chat هذا لمستخدمين ومجموعات معيّنة في نطاقك وأدخِل عنوان بريدك الإلكتروني.
    8. ضمن السجلات، اختَر تسجيل الأخطاء في Logging.
  3. انقر على حفظ.

أصبح تطبيق Chat جاهزًا لتلقّي الرسائل والردّ عليها في Chat.

اختبار تطبيق Chat

اختبِر تطبيق Chat في Dialogflow ES من خلال إرسال رسالة إليه في Google Chat.

  1. افتح Google Chat باستخدام حساب Google Workspace الذي قدّمته عند إضافة نفسك كمختبِر موثوق به.

    الانتقال إلى Google Chat

  2. انقر على محادثة جديدة.
  3. في حقل إضافة مستخدم واحد أو أكثر ، اكتب اسم تطبيق Chat.
  4. اختَر تطبيق Chat من النتائج. تُفتح رسالة مباشرة.

  5. في الرسالة المباشرة الجديدة مع التطبيق، اكتب Hello واضغط على enter.

    يردّ تطبيق Chat في Dialogflow برسالة تحية.

الردود النصية

يتم إرسال الردود النصية إلى Google Chat كـ رسائل نصية. باستخدام هذا التنسيق، يمكنك جعل النص غامقًا أو مائلاً من خلال وضع النص بين رمزَين معيّنَين (تنسيق Markdown بسيط).

يبدو الردّ على الرسالة النصية من الناحية المرئية مطابقًا للردّ النصي التلقائي في Dialogflow Console. ومع ذلك، ستبدو استجابة واجهة برمجة التطبيقات الأولية مختلفة بعض الشيء. يضبط أيضًا إعدادات المنصة على GOOGLE_HANGOUTS، ما قد يكون مفيدًا عند إنشاء وكلاء لعمليات تكامل متعددة.

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

بيانات بطاقات الائتمان

يتم إرسال الردود على شكل بطاقات إلى Google Chat كـ رسائل بطاقات.

الصور

يتم إرسال الردود على شكل صور إلى Google Chat كـ عناصر واجهة مستخدم للصور في Google Chat.

الحمولة المخصّصة

لإرسال أنواع أخرى من رسائل Google Chat، يمكنك استخدام حمولة مخصّصة.

تتيح لك الحمولة المخصّصة في Google Chat إنشاء بطاقات أكثر تقدّمًا. يمكن أن تحتوي البطاقة على قسم واحد أو أقسام متعددة. يمكن أن يحتوي كل قسم على رأس. يمكنك الاطّلاع على دليل مرجعي لتوسيع بطاقات Chat في إضافة Google Workspace للاطّلاع على بعض التركيبات التي يمكنك إنشاؤها باستخدام هذه الميزة. ومع ذلك، يعني استخدام الحمولات المخصّصة أنّه عليك تقديم تنسيق JSON.

في ما يلي مثال على حمولة مخصّصة لإنشاء رسالة تتضمّن بطاقة:

{ "hangouts": { "hostAppDataAction": { "chatDataAction": {
  "createMessageAction": { "message": { "cardsV2": [{
    "cardId": "pizza",
    "card": {
      "header": {
        "title": "Pizza Delivery Customer Support",
        "subtitle": "pizzadelivery@example.com",
        "imageUrl": "https://goo.gl/aeDtrS"
      },
      "sections": [{ "widgets": [{ "textParagraph": {
        "text": " Your pizza is here!"
      }}]}]
    }
  }]}}
}}}}

الحدود والاعتبارات

  • عند استخدام إضافات Google Workspace مع Dialogflow، تتضمّن عناصر أحداث Chat الحدود والاعتبارات التالية:
    • أحداث الصفحة الرئيسية للتطبيق: لا تتوفّر بعد إمكانية استخدام أحداث APP_HOME.
    • إدخال طلب البحث في Dialogflow: يعتمد النص المُرسَل كإدخال لطلب البحث إلى وكيل Dialogflow على نوع الحدث:
      • MESSAGE: قيمة حقل argumentText من رسالة محادثة.
      • APP_COMMAND: السلسلة "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: يتم إرسال حدث ترحيب تلقائي.
      • REMOVED_FROM_SPACE: السلسلة "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED: السلسلة "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED: السلسلة "WIDGET_UPDATED_PAYLOAD" (تُستخدَم للملء التلقائي).
    • الحمولة الكاملة للحدث: يتم إرسال حمولة JSON الكاملة لحدث التفاعل في Chat إلى Dialogflow ضِمن حقل WebhookRequest.payload. يمكنك الوصول إلى هذه البيانات في طلب ردّ من Dialogflow. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات طلبات الردّ من Dialogflow ES.
  • اعتبارات الردّ على الأوامر و تلقّي البيانات من البطاقات أو مربّعات الحوار:
  • لا تتوفّر معاينات الروابط.
  • إذا ردّ وكيل Dialogflow برسالة واحدة فقط، يتم إرسال الرسالة إلى Google Chat بشكل متزامن. إذا ردّ وكيل Dialogflow برسائل متعددة، يتم إرسال جميع الرسائل إلى Chat بشكل غير متزامن من خلال استدعاء طريقة create على مورد spaces.messages في Chat API مرة واحدة لكل رسالة.
  • عند استخدام عملية التكامل بين Dialogflow ES وChat، يجب إعداد وكيل Dialogflow وتطبيق Chat في مشروع Google Cloud نفسه.

تحديد المشاكل وحلّها

لتحديد المشاكل في تطبيق Chat، ابدأ بمراجعة سجلّات الأخطاء. بما أنّ هذا التطبيق يستخدم Dialogflow، تتوفّر لك عدة موارد لتسجيل الأخطاء وتحديد المشاكل وحلّها:

تَنظيم

لتجنُّب تحصيل رسوم من حسابك مقابل الموارد المستخدَمة في هذا الدليل التوجيهي، ننصحك بحذف مشروع على السحابة الإلكترونية.

  1. في Google API Console، انتقِل إلى صفحة إدارة الموارد. انقر على القائمة > المشرف وإدارة الهوية وإمكانية الوصول > إدارة الموارد.

    الانتقال إلى Resource Manager

  2. في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف .
  3. في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف لحذف المشروع.
  • Dialogflow CX هي طريقة أخرى لاستخدام Dialogflow مع تطبيق Chat.