نشر عملية التنفيذ (Dialogflow)

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

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

النشر في وظائف السحابة الإلكترونية لبرنامج Firebase

  1. نزِّل Node.js وثبِّتها.
  2. إعداد واجهة سطر الأوامر لمنصة Firebase وإعدادها إذا تعذَّر الأمر التالي مع ظهور خطأ EACCES، قد تحتاج إلى تغيير أذونات npm.

    npm install -g firebase-tools
    
  3. مصادقة أداة Firebase مع حسابك على Google:

    firebase login
    
  4. انتقِل إلى دليل مشروع Action (الإجراء) وابدأ إعداد Firebase. سيُطلب منك تحديد ميزات واجهة سطر الأوامر في Firebase التي تريد إعدادها لمشروع الإجراءات. اختر "Functions" والميزات الأخرى التي قد تريد استخدامها، مثل Firestore، ثم اضغط على Enter للتأكيد والمتابعة:

    cd <cloud_function_dir>
    firebase init
    
  5. اربط أداة Firebase بمشروع "المهام" من خلال اختياره باستخدام مفاتيح الأسهم للتنقّل في قائمة المشاريع:

  6. بعد اختيار المشروع، تبدأ أداة Firebase في إعداد الدوال وتسألك عن اللغة التي تريد استخدامها. حدد باستخدام مفاتيح الأسهم واضغط على Enter للمتابعة.

    === Functions Setup
    A functions directory will be created in your project with a Node.js package pre-configured. Functions can be deployed with firebase deploy. ? What language would you like to use to write Cloud Functions? (Use arrow keys) > JavaScript TypeScript
  7. اختَر ما إذا كنت تريد استخدام ESLint لاكتشاف الأخطاء المحتملة وتطبيق نمط الكتابة Y أو N:

    ? Do you want to use ESLint to catch probable bugs and enforce style? (Y/n)
  8. يمكنك الحصول على تبعيات المشروع عن طريق كتابة Y في الطلب:

    ? Do you want to install dependencies with npm now? (Y/n)

    بعد اكتمال الإعداد، ستظهر لك نتيجة مشابهة لما يلي:

    ✔  Firebase initialization complete!
  9. ثبِّت التبعية actions-on-google:

    cd <cloud_function_dir>/functions
    npm install actions-on-google
    
  10. الحصول على تبعيات التنفيذ ونشر دالة التنفيذ:

    npm install
    firebase deploy --only functions
    

    تستغرق عملية النشر بضع دقائق. بمجرد الانتهاء، سترى مخرجات مشابهة لما يلي. ستحتاج إلى عنوان URL للدالة للدخول في Dialogflow.

    ✔  Deploy complete!
    Project Console: https://console.firebase.google.com/project/exampleproject-123/overview Function URL (cloudFunctionName): https://us-central1-exampleproject-123.cloudfunctions.net/cloudFunctionName

ربط الرد التلقائي على الويب بالإجراء

إذا كنت تستخدم Dialogflow: في وحدة تحكُّم Dialogflow، انتقِل إلى Fulfillment، وبدِّل على الزر Webhook إلى تفعيل، واستبدل عنوان URL في الحقل عنوان URL بـ عنوان URL للدالة.

في حال استخدام Actions SDK: أنشِئ كائنًا داخل الكائن conversations للإعلان عن عملية التنفيذ في حزمة "الإجراءات":

{
  "actions": [
    {
      "description": "Default Welcome Intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "myFulfillmentFunction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to myFulfillmentFunction"
          ]
        }
      }
    }
  ],
  "conversations": {
    "myFulfillmentFunction": {
      "name": "myFulfillmentFunction",
      "url": "https://us-central1-myprojectname-ab123.cloudfunctions.net/cloudFunctionName"
    }
  },
  "locale": "en"
}