Po utworzeniu realizacji webhooka wdróż ją w środowisku produkcyjnym i połącz z nią. Z tego artykułu dowiesz się, jak skonfigurować środowisko do wdrożenia w Cloud Functions dla Firebase na potrzeby hostingu produkcyjnego. Możesz jednak wybrać dowolną platformę hostingową, która obsługuje żądania i odpowiedzi HTTPS do hostowania Twoich realizacji.
Jeśli webhook jest już wdrożony na platformie hostingu WWW, możesz pominąć połączenie webhooka z działaniem. Pamiętaj, że końcowe kroki tego procesu różnią się w zależności od tego, czy używasz Dialogflow czy pakietu SDK SDK.
Wdrażanie w Cloud Functions dla Firebase
- Pobierz i zainstaluj Node.js
skonfigurować i zainicjować interfejs wiersza poleceń Firebase, Jeśli to polecenie nie powiedzie się z powodu błędu
EACCES
, może być konieczna zmiana uprawnień npm.npm install -g firebase-tools
Uwierzytelnianie narzędzia Firebase za pomocą konta Google:
firebase login
Przejdź do katalogu projektu Action i zainicjuj Firebase. Pojawi się prośba o wybranie funkcji interfejsu wiersza poleceń Firebase, które chcesz skonfigurować w projekcie Actions. Wybierz
Functions
i inne funkcje, których możesz chcieć używać, takie jak Firestore, a następnie naciśnij Enter, aby potwierdzić i kontynuować:cd <cloud_function_dir> firebase init
Powiąż narzędzie Firebase z projektem Actions, wybierając je za pomocą klawiszy strzałek do poruszania się po liście projektów:
Po wybraniu projektu narzędzie Firebase rozpoczyna konfigurację funkcji z pytaniem o język, którego chcesz użyć. Za pomocą klawiszy strzałek naciśnij Enter, aby kontynuować.
=== 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 TypeScriptWybierz, czy chcesz używać ESLint do wyłapywania błędów i egzekwowania stylu pisania
Y
lubN
:? Do you want to use ESLint to catch probable bugs and enforce style? (Y/n)
Aby wyświetlić zależności projektu, wpisz w wierszu poleceń
Y
:? Do you want to install dependencies with npm now? (Y/n)
Po zakończeniu konfiguracji zobaczysz dane wyjściowe podobne do tych:
✔ Firebase initialization complete!
Zainstaluj zależność actions-on-google:
cd <cloud_function_dir>/functions npm install actions-on-google
Pobieranie zależności realizacji i wdrażanie funkcji realizacji:
npm install firebase deploy --only functions
Wdrożenie może potrwać kilka minut. Po ukończeniu zobaczysz dane wyjściowe podobne do poniższych. Będzie Ci potrzebny URL funkcji, który musisz wpisać w 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
Łączenie webhooka z działaniem
Jeśli używasz Dialogflow: w konsoli Dialogflow kliknij Fulfillment (Realizacja), przesuń przycisk Webhook na pozycję Enabled i zastąp adres URL w polu URL adresem URL funkcji.
Jeśli używasz pakietu SDK Actions: aby zadeklarować realizację w pakiecie Action, utwórz obiekt w obiekcie 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" }