Я до сих пор немного новичок в Программе действий в Google, но вот мое понимание.
Диалоговый поток позволяет вам определять намерения.Затем вы можете определить код для реализации этих намерений.Консоль предоставляет встроенный редактор JavaScript для Google Cloud Functions.Вы можете перейти в консоль облачных функций Google и увидеть там код.Или вы можете переключить его на «веб-выполнение», если хотите развернуть более сложный код (например, разбить JavaScript на несколько файлов - встроенный редактор работает только с одним файлом index.js).
ИтакДиалог потока принимает человеческий вклад (фраза, которую они говорят), просматривает обучающий набор фраз для различных целей и выбирает тот, который он считает правильным.Затем он вызывает код выполнения этого намерения (где код хранится в firebase).Поэтому, когда вы спрашиваете: «Можно ли вызвать это намерение в функциях Firebase», это выглядит как бы задом наперед.Намерения - это связующее звено между пользователем, который что-то говорит и вызывает функцию firebase (через HTTP).Сами по себе сущности не являются кодом, который можно вызывать.
Если вы хотите, чтобы пользователь выбирал параметры, вы можете создать объект с именами параметров (например, «один», «два», «три» и т. Д.).), или создайте намерения для каждого имени параметра.Было бы намерение «один», инициируемое, когда пользователь говорит «один».Код вашего приложения должен знать, где находится пользователь в структуре просмотра меню, чтобы знать, что означает «один».(Вы также можете использовать предложения на устройствах с экранами, чтобы показать им опции, на которые они должны нажать.) В идеале вы должны позволить пользователю произносить фразы или цифры, чтобы обеспечить большую гибкость.
Итак, ваш третий вопрос (какчтобы настроить намерения, которые будут вызываться всякий раз, когда пользователь вводит число), ваше приложение может сделать что-то вроде запуска с намерением по умолчанию «приветствие» (отправная точка).Вы могли бы устно сказать, что выбор меню "скажем один для товаров для дома, два для одежды, три для обуви, ...".Затем вы запоминаете положение пользователя в меню.Затем вы подключаете «один» как намерение, и в облачной функции оно проверяет, к какому меню подключился пользователь, и будет знать «сразу после приветственного намерения,« один »означает домашние программы».Затем приложение может задать второй вопрос типа «скажем, один для мебели, два для ваз, три для диско-шаров, ...».Если они снова скажут «один», это приведет к тому же самому намерению, но ваше приложение сохранит переменную, отслеживающую, где пользователь находится в дереве меню.
Объекты позволяют вам определять словарьусловий.Например, "Я хочу купить $ {color} $ {вещь}".Вы можете определить цветовой объект со значениями «красный», «зеленый», «синий» и т. Д. Вы можете определить вторую вещь: «платье», «шляпа», «обувь» и т. Д.хочу купить красное платье ".Диалоговому потоку можно сказать «красный» в том, что обучающее предложение - это «цветная» сущность, а «платье» - это «вещь».Затем эти значения передаются в качестве параметров веб-службе, поддерживающей реализацию, т. Е. Ваше намерение «купить» получит параметр «цвет» и «вещь».
События - это сгенерированные системой триггеры вместо ввода пользователятриггеры.Например, «долгожданное» намерение запустить ваше приложение - это событие генерации системы.Другое событие используется, когда приложение перемещается с одного устройства на другое.Существуют и другие системные события, если вы запрашиваете разрешение на использование push-уведомлений.Это способ запустить ваш код, если что-то происходит (а не только когда пользователь что-то говорит).
Надеюсь, это поможет!