اجرای تکمیل (Dialogflow)

هنگامی که اجرای وب هوک خود را ساختید، آن را در تولید مستقر کرده و به Action خود متصل کنید. مراحل زیر به شما نشان می دهد که چگونه محیط خود را برای استقرار در Cloud Functions for Firebase برای میزبانی تولید تنظیم کنید. با این حال، می‌توانید هر پلتفرم میزبانی وب را که از درخواست‌ها و پاسخ‌های HTTPS پشتیبانی می‌کند، برای میزبانی از اجرای شما انتخاب کنید.

اگر قبلاً وب هوک خود را در یک پلتفرم میزبانی وب مستقر کرده‌اید، می‌توانید از اتصال وب هوک به Action خود پرش کنید. توجه داشته باشید که مراحل نهایی فرآیند زیر بسته به اینکه از Dialogflow استفاده می‌کنید یا Actions SDK متفاوت است.

استقرار در توابع ابری برای Firebase

  1. Node.js را دانلود و نصب کنید .
  2. Firebase CLI را تنظیم و مقداردهی اولیه کنید. اگر دستور زیر با خطای EACCES ناموفق بود، ممکن است لازم باشد مجوزهای npm را تغییر دهید .

    npm install -g firebase-tools
    
  3. ابزار Firebase را با حساب Google خود تأیید اعتبار کنید:

    firebase login
    
  4. به دایرکتوری پروژه Action خود بروید و Firebase را مقداردهی اولیه کنید. از شما خواسته می شود ویژگی های Firebase CLI را که می خواهید برای پروژه Actions خود تنظیم کنید، انتخاب کنید. Functions و سایر ویژگی‌هایی را که ممکن است بخواهید استفاده کنید، مانند Firestore را انتخاب کنید، سپس Enter را برای تأیید و ادامه فشار دهید:

    cd <cloud_function_dir>
    firebase init
    
  5. ابزار Firebase را با استفاده از کلیدهای جهت‌نما برای پیمایش در فهرست پروژه‌ها با پروژه Actions خود مرتبط کنید:

  6. پس از انتخاب پروژه، ابزار Firebase تنظیمات Functions را شروع می کند و از شما می پرسد که از چه زبانی می خواهید استفاده کنید. با استفاده از کلیدهای جهت دار انتخاب کنید و برای ادامه 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
    

    استقرار چند دقیقه طول می کشد. پس از تکمیل، خروجی مشابه زیر را خواهید دید. برای وارد کردن در Dialogflow به URL تابع نیاز دارید.

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

وب هوک را به Action خود وصل کنید

اگر از Dialogflow استفاده می‌کنید: در کنسول Dialogflow ، به Fulfillment بروید، دکمه Webhook را روی ENABLED تغییر دهید، و URL را در قسمت URL با URL عملکرد خود جایگزین کنید.

اگر از Actions SDK استفاده می‌کنید: یک شی در داخل شی conversations ایجاد کنید تا در بسته Action خود، انجام خود را اعلام کنید:

{
  "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"
}