نقل بيانات توصيل الطلب

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

التفكير في النهج الذي تتّبعه لتنفيذ الطلبات

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

  • التغييرات على تنفيذ المحادثات

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

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

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

تعديل رمز توصيل الطلب

سيختلف رمز التنفيذ لكل إجراء حسب مدى تعقيد الإجراء والغرض منه، ولكن هناك خطوات عامة يجب اتخاذها عند تعديل الرمز الخاص بك:

  1. نزِّل أحدث إصدار من مكتبة العميل وثبِّته.

    npm install @assistant/conversation
    
  2. عدِّل عبارات require في الرمز البرمجي. مثال:

    const {
      SimpleResponse,
      BasicCard,
      Image,
    } = require('actions-on-google');
    

    تم تعديل الرمز أعلاه ليصبح التالي:

    const {
      conversation,
      Simple,
      Card,
      Image,
    } = require('@assistant/conversation');
    
  3. أعِد بناء رمزك لاستخدام الطرق الجديدة.

    • معالِجات الهدف: app.intentapp.handle
    • الردّ/الطلبات: conv.askconv.add
    • إمكانات السطح/الجهاز: conv.surface.capabilities.has('actions.capability.SCREEN_OUTPUT')conv.device.capabilities.includes('RICH_RESPONSE')
    • مساحة تخزين البيانات: conv.dataconv.session.params
    • أنواع الردود:

      • SimpleResponse ‏← Simple
      • BasicCard ‏← Card
      • Suggestions ‏← Suggestion
    • مَعلمات الغرض: conv.parameters[KEY]conv.intent.parameters[KEY].resolved

    • انتقالات السياقات/المشهد: conv.contexts.set(content_name, 5);conv.scene.next.name = 'context_name'

    • إنهاء المحادثة: conv.close(response)conv.add.response; conv.scene.next.name = 'actions.page.END_CONVERSATION'

  4. يجب تعديل رمز الاستجابة للاستفادة من بيانات الاستجابة الأساسية الجديدة في "أداة الإنشاء". مثال:

    conv.ask(new Suggestions (['a', 'b']));
    

    تم تعديل الرمز أعلاه ليصبح التالي:

    for (suggestion of ['a', 'b']) {
      conv.add.(new Suggestion({title: suggestion}))
    }
    

ويمكنك الاطّلاع على خريطة ترجمة رمز التنفيذ أدناه للاطّلاع على قائمة كاملة بالطُرق.

استخدِم الصفحات التالية للمقارنة بين حمولات الطلبات والاستجابة:

إعداد الردود التلقائية على الويب

بعد تعديل عملية التنفيذ، فعِّل مكالمات الردّ التلقائي على الويب في جميع المشاهد في مشروعك. على الرغم من أنّ أداة نقل البيانات تعمل على نقل إعدادات الردّ التلقائي على الويب لغرض Dialogflow، عليك مراجعة هذه الإعدادات، لأنّ وظائف رمز التنفيذ ووظائف الردّ التلقائي على الويب المُعاد تنظيمها قد تتغيّر.

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

  • بعد مطابقة الغرض من الاستدعاء
  • أثناء دخول مشهد في مرحلة الدخول
  • بعد تقييم حالة ما إلى صواب في مرحلة حالة المشهد
  • أثناء مرحلة ملء خانة المشهد
  • بعد حدوث مطابقة الهدف في مرحلة إدخال المشهد

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

لتفعيل مكالمة الردّ التلقائي على الويب، اتّبِع الخطوات التالية:

  1. اختَر المشهد الذي تريد الاتصال به على الرد التلقائي على الويب.
  2. اختَر الولاية التي تريد تفعيل الردّ التلقائي على الويب لها. يمكنك تفعيل الردّ التلقائي على الويب لإحدى الحالات التالية أو أكثر:

    • عند الدخول
    • الشرط
    • ملء الفتحة
    • التعامل مع نيّة المستخدم
    • التعامل مع أهداف النظام
  3. ضع علامة في المربّع الاتصال بالرد التلقائي على الويب.

  4. أدخِل معالِج الردّ التلقائي على الويب الذي حدّدته في رمز التنفيذ.

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

  6. انتقِل إلى اختبار لتجربة مكالمة الردّ التلقائي على الويب وتغييرات التنفيذ.

خريطة ترجمة رمز التنفيذ

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

Dialogflow أداة إنشاء المهام
conv.data conv.session.params
conv.ask conv.add
conv.close conv.scene.next.name = 'actions.scene.END_CONVERSATION'
conv.user.storage conv.user.params
conv.input.raw conv.intent.query
conv.parameters conv.intent.params[key].resolved
conv.arguments.get('MEDIA_STATUS')
mediaStatus.status==='FINISHED'
conv.intent.params['MEDIA_STATUS']
mediaStatus.resolved==='FINISHED'
فعاليات التعامل مع الغرض من النظام:
MEDIA_STATUS_FINISHED
MEDIA_STATUS_FAILED
conv.device.capabilities.has("actions.capability.SCREEN_OUTPUT") conv.device.capabilities.includes("RICH_RESPONSE")
app.intent app.handler
app.middleware app.middleware
ردّ بسيط prompt -firstSimple
ردّ منسق prompt -content -card: object -image: object -table: object -media: object -suggestions -link

يمكنك العثور أدناه على معلومات حول الأدوات الإضافية: