إنشاء "مهام مع مساعد Google" باستخدام "أداة إنشاء المهام" (المستوى 1)

1. نظرة عامة

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

يغطّي هذا الدرس التطبيقي حول الترميز مفاهيم للمبتدئين حول التطوير باستخدام "مساعد Google"، ولا تحتاج إلى أي خبرة سابقة في المنصة لإكماله. في هذا الدرس العملي، ستنشئ إجراءً بسيطًا في "مساعد Google" يخبر المستخدمين عن حظهم عند بدء مغامرتهم في أرض Gryffinberg الأسطورية. في الدرس العملي حول "أداة إنشاء الإجراءات" المستوى 2، يمكنك تطوير هذا الإجراء بشكل أكبر لتخصيص توقعات المستخدم استنادًا إلى إدخالاته.

ما ستنشئه

في هذا الدرس البرمجي، ستنشئ إجراءً بسيطًا يتضمّن الوظائف التالية:

  • الردّ على المستخدمين برسالة ترحيب
  • تطرح سؤالاً على المستخدمين. عندما يجيب المستخدم، تردّ مهمّتك بشكل مناسب على اختياره
  • توفير شرائح اقتراحات يمكن للمستخدمين النقر عليها لتقديم إدخال
  • تعديل رسالة الترحيب للمستخدم استنادًا إلى ما إذا كان مستخدمًا متكرّرًا

عند الانتهاء من هذا الدرس البرمجي، سيتضمّن الإجراء المكتمل مسار المحادثة التالي:

1c1e79902bed7230.png

18ef55647b4cb52c.png

أهداف الدورة التعليمية

  • كيفية إنشاء مشروع في "وحدة تحكّم المهام"
  • كيفية إرسال طلب إلى المستخدم بعد أن يستدعي الإجراء
  • كيفية معالجة إدخال المستخدم وعرض ردّ
  • كيفية اختبار الإجراء في محاكي الإجراءات
  • كيفية تنفيذ عملية التنفيذ باستخدام محرِّر Cloud Functions

المتطلبات

يجب أن تتضمّن بيئتك الأدوات التالية:

2. إعداد

توضّح الأقسام التالية كيفية إعداد بيئة التطوير وإنشاء مشروع "إجراءات".

التحقّق من إعدادات أذوناتك على Google

لاختبار الإجراء الذي تنشئه في هذا الدرس العملي، عليك تفعيل الأذونات اللازمة حتى يتمكّن المحاكي من الوصول إلى الإجراء. لتفعيل الأذونات، اتّبِع الخطوات التالية:

  1. انتقِل إلى صفحة عناصر التحكّم في النشاط.
  2. سجِّل الدخول باستخدام حسابك على Google إذا لم يسبق لك إجراء ذلك.
  3. فعِّل الأذونات التالية:
  • النشاط على الويب وفي التطبيقات
  • ضَع علامة في المربّع تضمين سجلّ Chrome والأنشطة التي تتم على المواقع والتطبيقات والأجهزة التي تستخدم خدمات Google ضمن النشاط على الويب وفي التطبيقات.

إنشاء مشروع "الإجراءات"

مشروع "الإجراءات" هو حاوية للإجراء. لإنشاء مشروع "أفعال على Google" لهذا الدرس العملي، اتّبِع الخطوات التالية:

  1. افتح وحدة تحكّم الإجراءات.
  2. انقر على مشروع جديد.
  3. اكتب اسم مشروع، مثل actions-codelab. (الاسم مخصّص للرجوع إليه عند الحاجة. يمكنك لاحقًا ضبط اسم خارجي لمشروعك.)

8cd05a84c1c0a32f.png

  1. انقر على إنشاء مشروع.
  2. في شاشة ما نوع الإجراء الذي تريد إنشاءه؟، اختَر بطاقة مخصّص.
  3. انقر على التالي.
  4. انقر على بطاقة مشروع فارغ.
  5. انقر على بدء الإنشاء.

ربط حساب فوترة

لنشر عملية التنفيذ لاحقًا في هذا الدرس العملي باستخدام Cloud Functions، يجب ربط حساب فوترة بمشروعك في Google Cloud.

إذا لم يسبق لك ربط حساب فوترة بمشروعك، اتّبِع الخطوات التالية:

  1. انتقِل إلى صفحة الفوترة في Google Cloud Platform.
  2. انقر على إضافة حساب فوترة أو إنشاء حساب.
  3. أدخِل معلومات الدفع.
  4. انقر على بدء الفترة التجريبية المجانية أو إرسال الفوترة وتفعيلها.
  5. انتقِل إلى صفحة الفوترة في Google Cloud Platform.
  6. انقر على علامة التبويب مشاريعي.
  7. انقر على النقاط الثلاث تحت الإجراءات بجانب مشروع "الإجراءات" الخاص ببرنامج التدريب العملي.
  8. انقر على تغيير الفوترة.
  9. في القائمة المنسدلة، اختَر حساب الفوترة الذي أعددته. انقر على ضبط الحساب.

لتجنُّب تحمّل رسوم، اتّبِع الخطوات الواردة في قسم تنظيف مشروعك في نهاية هذا الدرس العملي.

3- بدء محادثة

يبدأ المستخدمون المحادثة مع تطبيقك من خلال الاستدعاء. على سبيل المثال، إذا كان لديك إجراء باسم MovieTime، يمكن للمستخدمين تفعيل الإجراء من خلال قول عبارة مثل "Ok Google، أريد التحدث مع MovieTime"، حيث MovieTime هو الاسم المعروض. يجب أن تتضمّن مهمّتك اسمًا معروضًا إذا كنت تريد نشرها في مرحلة الإنتاج، ولكن لا تحتاج إلى تحديد الاسم المعروض لاختبار مهمّتك. بدلاً من ذلك، يمكنك استخدام العبارة "التحدّث إلى تطبيق الاختبار" في المحاكي لتفعيل الإجراء.

عليك تعديل الاستدعاء الرئيسي لتحديد ما يحدث بعد أن يستدعي المستخدم الإجراء.

يوفّر Actions Builder تلقائيًا طلبًا عامًا عند تفعيل طلب الاستدعاء ("ابدأ إنشاء الإجراء من خلال تحديد طلب الاستدعاء الرئيسي").

في القسم التالي، يمكنك تخصيص الطلب الخاص بعملية الاستدعاء الرئيسية في "وحدة تحكّم الإجراءات".

إعداد عملية الاستدعاء الرئيسية

لتعديل الطلب الذي يرسله تطبيقك إلى المستخدم عندما يستدعي تطبيقك، اتّبِع الخطوات التالية:

  1. انقر على الاستدعاء الرئيسي في شريط التنقّل.

966d037e1d7914df.png

  1. في محرِّر الرموز، استبدِل النص في الحقل speech (Start building your action...) برسالة الترحيب التالية: A wondrous greeting, adventurer! Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you're on your way to an epic journey.
  1. انقر على حفظ.

اختبار طلب التفعيل الرئيسي في المحاكي

توفّر وحدة تحكّم "الإجراءات" أداة ويب لاختبار الإجراء تُعرف باسم المحاكي. تحاكي الواجهة الأجهزة وبرامجها، ما يتيح لك التحدّث مع تطبيقك كما لو كان يعمل على شاشة ذكية أو هاتف أو مكبّر صوت أو KaiOS.

عند استدعاء الإجراء، من المفترض أن يستجيب الآن بالطلب المخصّص الذي أضفته ("A wondrous greeting, adventurer!...").

لاختبار عملية الاستدعاء الرئيسية للإجراء في المحاكي، اتّبِع الخطوات التالية:

  1. في شريط التنقّل العلوي، انقر على اختبار للانتقال إلى المحاكي.
  2. لاستدعاء الإجراء في المحاكي، اكتب Talk to my test app في حقل الإدخال واضغط على Enter.

656f5736af6a5a07.png

عندما تبدأ عملية الاستدعاء الرئيسية للإجراء، يردّ "مساعد Google" برسالة الترحيب المخصّصة. في هذه المرحلة، تنتهي المحادثة بعد أن يردّ "مساعد Google" برسالة ترحيب. في القسم التالي، يمكنك تعديل الإجراء حتى تستمر المحادثة.

عرض سجلّات الأحداث

عندما تكون في علامة التبويب اختبار، تعرض اللوحة على يسار الشاشة سجلات الأحداث التي تعرض سجلّ المحادثات كسجلات أحداث. يعرض كل سجلّ أحداث الأحداث التي تحدث خلال دور المحادثة هذا.

تتضمّن مهمّتك حاليًا سجلّ أحداث واحدًا يعرض كلاً من طلب المستخدم ("Talk to my test app") وردّ مهمّتك. تعرض لقطة الشاشة التالية سجلّ أحداث مهمّتك:

443129bdcbecc593.png

إذا نقرت على السهم المتّجه للأسفل في سجلّ الأحداث، يمكنك الاطّلاع على الأحداث التي وقعت في هذه المرحلة من المحادثة، مرتّبة زمنيًا:

  • userInput: تتوافق مع إدخال المستخدم ("Talk to my test app").
  • interactionMatch: تتوافق مع استجابة الاستدعاء الرئيسية للإجراء، والتي تم تشغيلها من خلال إدخال المستخدم. إذا وسّعت هذا الصف من خلال النقر على السهم، يمكنك الاطّلاع على الطلب الذي أضفته لعملية الاستدعاء الرئيسية (A wondrous greeting, adventurer!...).
  • endConversation: تتوافق مع الانتقال المحدّد في الغرض Main invocation، والذي يؤدي حاليًا إلى إنهاء المحادثة. (يمكنك التعرّف على مزيد من المعلومات عن عمليات الانتقال في القسم التالي من هذا الدرس العملي).

توفّر سجلّات الأحداث إمكانية الاطّلاع على طريقة عمل الإجراء، وهي أدوات مفيدة لتصحيح أخطاء الإجراء في حال مواجهة أي مشاكل. للاطّلاع على تفاصيل حدث معيّن، انقر على السهم بجانب اسم الحدث، كما هو موضّح في لقطة الشاشة التالية:

fcc389b59af5bef1.png

4. إنشاء محادثة تطبيقك

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

يمكن أن يتضمّن الإجراء مشهدًا واحدًا أو عدة مشاهد، ويجب تفعيل كل مشهد قبل أن يتم تشغيله. (الإجراء الذي ستنشئه في هذا الدرس التطبيقي حول الترميز يتضمّن مشهدًا واحدًا فقط بعنوان Start.) إنّ الطريقة الأكثر شيوعًا لتفعيل مشهد هي ضبط الإجراء بحيث يؤدي تطابق نية المستخدم مع مشهد معيّن إلى بدء الانتقال إلى مشهد آخر وتفعيله.

على سبيل المثال، تخيَّل إجراءً افتراضيًا يقدّم للمستخدم معلومات عن الحيوانات. عندما يستدعي المستخدم هذا الإجراء، تتم مطابقة الغرض Main invocation ويؤدي إلى الانتقال إلى مشهد باسم Facts. يؤدي هذا الانتقال إلى تفعيل المشهد Facts، الذي يرسل الطلب التالي إلى المستخدم: Would you like to hear a fact about cats or dogs? ضمن المشهد Facts، هناك نية مستخدم تُسمى Cat، وتحتوي على عبارات تدريبية قد يقولها المستخدم لسماع معلومة عن القطط، مثل "أريد سماع معلومة عن القطط" أو "قطة". عندما يطلب المستخدم سماع معلومة عن القطط، يتمّ الربط بغرض Cat، ويؤدي ذلك إلى الانتقال إلى مشهد يُسمّى Cat fact. يتم تفعيل مشهد Cat fact وإرسال طلب إلى المستخدم يتضمّن معلومة عن القطط.

a78f549c90c3bff6.png

الشكل 1. سير المحادثة النموذجية في "إجراء" تم إنشاؤه باستخدام "أداة إنشاء الإجراءات"

تشكّل المشاهد والأهداف وعمليات الانتقال معًا منطق محادثتك وتحدّد المسارات المختلفة التي يمكن للمستخدم اتّخاذها خلال محادثة "الإجراء". في القسم التالي، ستنشئ مشهدًا وتحدّد كيفية تفعيله بعد أن يستدعي المستخدم الإجراء.

الانتقال من الاستدعاء الرئيسي إلى المشهد

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

لإنشاء هذا المشهد وإضافة انتقال إليه، اتّبِع الخطوات التالية:

  1. انقر على تطوير في شريط التنقّل.
  2. انقر على الطلب الرئيسي في شريط التنقّل الجانبي.
  3. في قسم الانتقال، انقر على القائمة المنسدلة واكتب Start في حقل النص.

29e12dff950a3bce.png

  1. انقر على إضافة. يؤدي ذلك إلى إنشاء مشهد باسم Start، ويطلب من الإجراء الانتقال إلى المشهد Start بعد أن يقدّم الإجراء رسالة الترحيب إلى المستخدم.
  2. انقر على المشاهد في شريط التنقّل الجانبي لعرض قائمة المشاهد.
  3. ضمن المشاهد، انقر على بدء للاطّلاع على مشهد Start.
  4. انقر على + في قسم عند الدخول من مشهد Start.
  5. انقر على إرسال الطلبات.
  6. استبدِل الجملة في الحقل speech (Enter the response that users will see or hear...) بسؤال لتوجيهه إلى المستخدم: Before you continue on your quest, would you like your fortune told?

3fc95466efd476f.png

  1. انقر على حفظ.

يعرض "مساعد Google" هذا الطلب (Before you continue on your quest...) للمستخدم عندما يدخل إلى مشهد Start.

إضافة شرائح الاقتراحات

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

لإضافة شرائح اقتراحات إلى طلب Start المشهد، اتّبِع الخطوات التالية:

  1. في مشهد Start، انقر على الاقتراحات. يضيف هذا الإجراء شريحة اقتراح واحدة.
  2. في الحقل title، استبدِل Suggested Response بـ 'Yes'.
  3. باستخدام التنسيق نفسه، أضِف يدويًا شريحة اقتراح بعنوان 'No'. يجب أن يبدو الرمز البرمجي على النحو التالي:
    suggestions:
      - title: 'Yes'
      - title: 'No'
  1. انقر على حفظ.

2d13c2ada791ec26.png

اختبار الإجراء في المحاكي

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

لاختبار الإجراء في المحاكي، اتّبِع الخطوات التالية:

  1. في شريط التنقّل، انقر على اختبار للانتقال إلى المحاكي.
  2. لاختبار الإجراء في المحاكي، اكتب Talk to my test app في الحقل الإدخال واضغط على Enter. يجب أن يستجيب الإجراء بطلب Main invocation وطلب المشهد المضاف Start، "Before you continue on your quest, would you like your fortune told?".

تعرض لقطة الشاشة التالية هذا التفاعل:

3c2013ebb2da886a.png

  1. انقر على شريحة الاقتراح Yes أو No للردّ على الطلب. (يمكنك أيضًا قول "نعم" أو "لا" أو إدخال Yes أو No في حقل الإدخال).

عند الردّ على الطلب، ستردّ مهمّتك برسالة تشير إلى أنّها لم تفهم إدخالك: "لم أفهم طلبك. هل يمكنك المحاولة مجددًا؟" بما أنّك لم تُعدّ بعد الإجراء لفهم الردود "نعم" أو "لا" والرد عليها، فإنّ الإجراء يطابق إدخالك مع هدف NO_MATCH.

تقدّم نية النظام NO_MATCH ردودًا عامة بشكلٍ تلقائي، ولكن يمكنك تخصيص هذه الردود للإشارة إلى المستخدم بأنّك لم تفهم طلبه. يُنهي "مساعد Google" محادثة المستخدم مع مهمّتك بعد أن يتعذّر عليه مطابقة إدخال المستخدم ثلاث مرات.

إضافة نيتَي yes وno

بعد أن أصبح بإمكان المستخدمين الردّ على السؤال الذي يطرحه الإجراء، يمكنك ضبط الإجراء لفهم ردود المستخدمين ("نعم" أو "لا"). في الأقسام التالية، ستنشئ نوايا المستخدم التي تتم مطابقتها عندما يقول المستخدم "نعم" أو "لا"، وستضيف هذه النوايا إلى مشهد Start.

إنشاء نية yes

لإنشاء الغرض yes، اتّبِع الخطوات التالية:

  1. انقر على تطوير في شريط التنقّل.
  2. انقر على النيّات المخصّصة في شريط التنقّل لفتح قائمة النيّات.
  3. انقر على + (علامة الجمع) في نهاية قائمة النوايا.
  4. امنح الغرض الجديد اسمًا yes واضغط على Enter.
  5. انقر على الغرض yes لفتح صفحة الغرض yes.
  6. في قسم إضافة عبارات تدريب، انقر على مربّع النص إدخال عبارة وأدخِل العبارات التالية:
  • Yes
  • Y
  • I would
  • Tell me

98440276cb9e7de8.png

  1. انقر على حفظ.

إضافة النية yes إلى المشهد Start

أصبح بإمكان "الإجراء" الآن فهم ما إذا كان المستخدم يعبّر عن نيّة "الموافقة". يمكنك إضافة غرض المستخدم yes إلى المشهد Start لأنّ المستخدم يستجيب لطلب Start ("قبل مواصلة رحلتك، هل تريد معرفة طالعك؟").

لإضافة غرض المستخدم هذا إلى مشهد Start، اتّبِع الخطوات التالية:

  1. انقر على مشهد البدء في شريط التنقّل.
  2. انقر على + (علامة الجمع) في المشهد Start بجانب التعامل مع نية المستخدم.
  3. اختَر نعم في القائمة المنسدلة الخاصة بالنوايا.

681928e3d71abdbf.png

  1. انقر على إرسال الطلبات وعدِّل الحقل speech بالنص التالي: Your future depends on the aid you choose to use for your quest. Choose wisely! Farewell, stranger.

يجب أن يبدو الرمز في أداة التعديل على النحو التالي:

candidates:
  - first_simple:
      variants:
        - speech: >-
            Your future depends on the aid you choose to use for your quest. Choose
            wisely! Farewell, stranger.
  1. في قسم الانتقال، انقر على القائمة المنسدلة واختَر إنهاء المحادثة.
  2. انقر على حفظ.

اختبار هدف yes في المحاكي

في هذه المرحلة، يفهم الإجراء متى يريد المستخدم معرفة طالعه ويُرجع الردّ المناسب.

لاختبار هذه النية في المحاكي، اتّبِع الخطوات التالية:

  1. في شريط التنقّل، انقر على اختبار.
  2. لاختبار الإجراء في المحاكي، اكتب Talk to my test app في الحقل الإدخال واضغط على Enter.
  3. اكتب Yes في حقل الإدخال واضغط على Enter. يمكنك بدلاً من ذلك النقر على شريحة الاقتراح نعم.

f131998710d8ffd8.png

يردّ الإجراء على المستخدم ويخبره أنّ حظه يعتمد على المساعدة التي يختارها. بعد ذلك، ينهي الإجراء الجلسة لأنّك اخترت الانتقال End conversation للغرض yes.

إنشاء نية no

الآن، عليك إنشاء الغرض no لفهم المستخدم والرد عليه عندما لا يريد معرفة طالعه. لإنشاء هذه النية، اتّبِع الخطوات التالية:

  1. انقر على تطوير في شريط التنقّل.
  2. انقر على النيّات المخصّصة في شريط التنقّل لفتح قائمة النيّات.
  3. انقر على + (علامة الجمع) في نهاية قائمة النوايا.
  4. امنح الغرض الجديد اسمًا no واضغط على Enter.
  5. انقر على لا لفتح صفحة الغرض no.
  6. في قسم إضافة عبارات تدريب، انقر في مربّع النص إدخال عبارة وأدخِل العبارات التالية:
  • No
  • N
  • I don't want
  • nope

2e7b8fd57eac94c5.png

  1. انقر على حفظ.

إضافة النية no إلى المشهد Start

يمكن الآن للإجراء فهم ما إذا كان المستخدم يعبّر عن "لا" أو عبارة مشابهة، مثل "لا أريد". عليك إضافة نية المستخدم no إلى مشهد Start لأنّ المستخدم يستجيب لطلب Start ("قبل مواصلة رحلتك، هل تريد معرفة طالعك؟").

لإضافة هذه النية إلى مشهد Start، اتّبِع الخطوات التالية:

  1. انقر على مشهد البدء في شريط التنقّل.
  2. انقر على + (علامة الجمع) في المشهد Start بجانب التعامل مع نية المستخدم.
  3. في قسم النية، اختَر لا من القائمة المنسدلة.

4aa558abdecb3121.png

  1. انقر على إرسال الطلبات.
  2. عدِّل الحقل speech بالنص التالي: I understand, stranger. Best of luck on your quest! Farewell.

يجب أن يبدو الرمز في أداة التعديل على النحو التالي:

 candidates:
  - first_simple:
      variants:
        - speech: >-
             I understand, stranger. Best of luck on your quest! Farewell.
  1. في قسم الانتقال، اختَر إنهاء المحادثة من القائمة المنسدلة.
  2. انقر على حفظ.

اختبار هدف no في المحاكي

في هذه المرحلة، سيفهم الإجراء أنّ المستخدم لا يريد معرفة طالعه وسيعرض الردّ المناسب.

لاختبار هذه النية في المحاكي، اتّبِع الخطوات التالية:

  1. في شريط التنقّل، انقر على اختبار.
  2. اكتب Talk to my test app في حقل الإدخال واضغط على Enter.
  3. اكتب No في حقل الإدخال واضغط على Enter. يمكنك بدلاً من ذلك النقر على شريحة الاقتراح لا.

c0c8b04066577eb2.png

بدلاً من إخبار المستخدم بتوقعاته، تتمنى له الإجراءات حظًا سعيدًا في رحلته. بعد ذلك، ينهي الإجراء الجلسة لأنّك اخترت الانتقال End conversation للغرض no.

5- تنفيذ عملية توصيل الطلب

في الوقت الحالي، تكون ردود مهمّتك ثابتة، فعند تفعيل مشهد يحتوي على طلب، ترسل مهمّتك الطلب نفسه في كل مرة. في هذا القسم، عليك تنفيذ التنفيذ الذي يحتوي على منطق لإنشاء ردّ ديناميكي على المحادثة.

تحدّد عملية التنفيذ ما إذا كان المستخدم مكرّر الزيارة أو مستخدمًا جديدًا، وتعدّل رسالة الترحيب الخاصة بالإجراء للمستخدمين المكرّري الزيارة. يتم تقصير رسالة الترحيب للمستخدمين العائدين، ويتم التعبير عن تقدير عودتهم: "تحية طيبة أيها المغامر! مرحبًا بك من جديد في أرض Gryffinberg الأسطورية".

في هذا الدرس العملي، استخدِم محرّر Cloud Functions في Actions Console لتعديل رمز التنفيذ ونشره.

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

إنشاء عملية التنفيذ

يمكنك الآن تعديل عملية التنفيذ في المحرّر المضمّن لإنشاء طلبات مختلفة للمستخدمين العائدين والمستخدمين الجدد عند استدعاء الإجراء.

لإضافة هذه المنطق إلى عملية التنفيذ، اتّبِع الخطوات التالية:

  1. انقر على تطوير في شريط التنقّل.
  2. انقر على علامة التبويب Webhook في شريط التنقّل.
  3. ضَع علامة في مربّع الاختيار Inline Cloud Functions.
  4. انقر على تأكيد. تتم إضافة الرمز النموذجي تلقائيًا إلى الملفَين index.js وpackage.json.

d4702f1de6404285.png

  1. استبدِل محتوى index.js بالرمز التالي:

index.js

const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');

const app = conversation({debug: true});

app.handle('greeting', conv => {
 let message = 'A wondrous greeting, adventurer! Welcome back to the mythical land of Gryffinberg!';
 if (!conv.user.lastSeenTime) {
   message = 'Welcome to the mythical land of  Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you\'re on your way to an epic journey.';
 }
 conv.add(message);
});


exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
  1. انقر على حفظ معلومات التنفيذ.
  2. انقر على نشر خدمة التنفيذ.

انتظر بضع دقائق إلى أن توفّر Cloud Functions عملية التنفيذ وتنفّذها. من المفترض أن تظهر الرسالة يتم حاليًا نشر Cloud Function... فوق محرّر الرموز. عند نشر الرمز بنجاح، يتم تعديل الرسالة إلى تمّ نشر "الدالة السحابية" بنجاح.

فهم الرمز

تستجيب عملية التنفيذ، التي تستخدم مكتبة التنفيذ في "مهام Google" لـ Node.js، لطلبات HTTP من "مساعد Google".

في مقتطف الرمز البرمجي السابق، يمكنك تحديد المعالج greeting الذي يتحقّق مما إذا كان المستخدم قد زار "الإجراء" من قبل عن طريق التحقّق من الخاصية lastSeenTime. إذا لم يتم تحديد lastSeenTime، يكون المستخدم جديدًا، ويوفّر معالج greeting رسالة الترحيب بالمستخدم الجديد.

تعديل الاستدعاء الرئيسي لتفعيل ردّ تلقائي على الويب

بعد تحديد الدالة greeting، يمكنك ضبط معالج الحدث greeting في نية الاستدعاء الرئيسية لكي يعرف الإجراء كيفية استدعاء هذه الدالة عندما يستدعي المستخدم الإجراء.

لضبط الإجراء لاستدعاء معالج greeting الجديد، اتّبِع الخطوات التالية:

  1. انقر على الاستدعاء الرئيسي في شريط التنقّل.
  2. انقر على إرسال الطلب.
  3. ضَع علامة في مربّع الاختيار الاتصال بخطاف الويب.
  4. أضِف greeting في مربّع النص.

a803afe4f7375a97.png

  1. انقر على حفظ.

اختبار عملية الاستدعاء الرئيسية المعدَّلة في المحاكي

لاختبار الإجراء في المحاكي، اتّبِع الخطوات التالية:

  1. في شريط التنقّل، انقر على اختبار للانتقال إلى المحاكي.
  2. اكتب Talk to my test app في حقل الإدخال واضغط على Enter.

بما أنّك اختبرت "الإجراء" في وقت سابق من هذا الدرس العملي، لست مستخدمًا جديدًا، لذا ستتلقّى الترحيب المختصر التالي: "مرحبًا بك أيها المغامر! مرحبًا بك من جديد في أرض Gryffinberg الأسطورية..."

تنظيف مشروعك [يُنصح به]

لتجنُّب تحمّل رسوم محتملة، ننصحك بإزالة المشاريع التي لا تنوي استخدامها. لحذف المشاريع التي أنشأتها في هذا الدرس العملي، اتّبِع الخطوات التالية:

  1. لحذف مشروع Cloud والموارد، أكمِل الخطوات الواردة في قسم إيقاف المشاريع (حذفها).
  1. اختياري: لإزالة مشروعك على الفور من "وحدة تحكّم المهام"، أكمِل الخطوات الواردة في قسم حذف مشروع. إذا لم تُكمل هذه الخطوة، ستتم إزالة مشروعك تلقائيًا بعد 30 يومًا تقريبًا.

6. تهانينا!

تعرف أساسيات إنشاء "المهام مع مساعد Google".

المواضيع التي تناولتها

  • كيفية إعداد مشروع "مهام" باستخدام "وحدة تحكّم المهام"
  • كيفية إضافة طلب إلى عملية الاستدعاء الرئيسية ليتمكّن المستخدمون من بدء محادثة مع "الإجراء"
  • كيفية إنشاء واجهة محادثة باستخدام المشاهد والنوايا والانتقالات وشرائح الاقتراحات والتنفيذ
  • كيفية اختبار الإجراء باستخدام محاكي الإجراءات

مزيد من المعلومات

يمكنك استكشاف المراجع التالية لمعرفة المزيد حول إنشاء "مهام" لـ "مساعد Google":

استطلاع لجمع الملاحظات

قبل إنهاء المحادثة، يُرجى ملء استطلاع موجز حول تجربتك.