Men-deploy fulfillment (Dialogflow)

Setelah Anda mem-build fulfillment webhook, deploy ke produksi dan hubungkan ke Action Anda. Langkah-langkah berikut menunjukkan cara menyiapkan lingkungan Anda yang akan di-deploy ke Cloud Functions for Firebase untuk hosting produksi. Namun, Anda dapat memilih platform hosting web apa pun yang mendukung permintaan dan respons HTTPS untuk menghosting fulfillment Anda.

Jika telah men-deploy webhook ke platform hosting web, Anda dapat langsung ke bagian Menghubungkan webhook ke Action. Perlu diperhatikan bahwa langkah terakhir dalam proses di bawah ini berbeda-beda bergantung pada apakah Anda menggunakan Dialogflow atau Actions SDK.

Men-deploy ke Cloud Functions for Firebase

  1. Download dan instal Node.js.
  2. Menyiapkan dan melakukan inisialisasi Firebase CLI. Jika perintah berikut gagal dengan error EACCES, Anda mungkin perlu mengubah izin npm.

    npm install -g firebase-tools
    
  3. Autentikasi alat Firebase dengan Akun Google Anda:

    firebase login
    
  4. Buka direktori project Action Anda dan lakukan inisialisasi Firebase. Anda akan diminta untuk memilih fitur Firebase CLI yang ingin disiapkan untuk project Actions Anda. Pilih Functions dan fitur lain yang mungkin ingin Anda gunakan, seperti Firestore, lalu tekan Enter untuk mengonfirmasi dan melanjutkan:

    cd <cloud_function_dir>
    firebase init
    
  5. Kaitkan alat Firebase dengan project Action Anda dengan memilihnya menggunakan tombol panah untuk membuka daftar project:

    .
  6. Setelah memilih project, alat Firebase akan memulai penyiapan Functions dan menanyakan bahasa yang ingin Anda gunakan. Pilih menggunakan tombol panah dan tekan Enter untuk melanjutkan.

    === 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. Pilih apakah Anda ingin menggunakan ESLint untuk menangkap kemungkinan bug dan menerapkan gaya pengetikan Y atau N:

    ? Do you want to use ESLint to catch probable bugs and enforce style? (Y/n)
  8. Dapatkan dependensi project dengan mengetik Y pada perintah:

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

    Setelah penyiapan selesai, Anda akan melihat output mirip seperti berikut:

    ✔  Firebase initialization complete!
  9. Instal dependensi actions-on-google:

    cd <cloud_function_dir>/functions
    npm install actions-on-google
    
  10. Dapatkan dependensi fulfillment dan deploy fungsi fulfillment:

    npm install
    firebase deploy --only functions
    

    Deployment memerlukan waktu beberapa menit. Setelah selesai, Anda akan melihat {i>output<i} yang mirip dengan berikut ini. Anda memerlukan URL Function untuk masuk ke 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

Menghubungkan webhook ke Action Anda

Jika Anda menggunakan Dialogflow: Di konsol Dialogflow, buka Fulfillment, alihkan tombol Webhook ke ENABLED, dan ganti URL di kolom URL dengan Function URL Anda.

Jika Anda menggunakan Actions SDK: Buat objek di dalam objek conversations untuk mendeklarasikan fulfillment Anda dalam paket 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"
}