Как управлять настройкой для возврата пользователей в диалоговом окне полного выполнения? - PullRequest
1 голос
/ 25 апреля 2019

Следуя советам по дизайну платформы для разработчиков на Google, я пытаюсь дать персонализированный приветственный ответ пользователям, которые возвращаются в приложение Google Assistant Voice. https://developers.google.com/actions/design/tips

Чтобы продолжить, я начал с переключателя «По умолчанию» в диалоге в режиме «Полная реализация». Затем разверните мой код в Firebase. Это хорошо работает, когда я спрашиваю разрешение имени, но когда я пытаюсь ввести «AppRequest.User lastSeen», мое приложение закрывается? Может быть, вы знаете, что я пропустил в своем коде?

'use strict';

const {
  dialogflow,
  Permission,
} = require('actions-on-google');

const functions = require('firebase-functions');

const app = dialogflow({debug: true});

app.intent('Default Welcome Intent', (conv) => {
  const welcome = (conv) => {
  if (conv.user.last.seen) {
    conv.ask(`Hey you're back...`);
  } else {
    conv.ask('Welcome to World Cities Trivia!...');
  }
}});

// Set the DialogflowApp object to handle the HTTPS POST request.
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

Ответы [ 2 ]

1 голос
/ 26 апреля 2019

Похоже, что код в вашем приветствии. Intent Handler на самом деле ничего не делает.

Вы устанавливаете обработчик

app.intent('Default Welcome Intent', (conv) => {
  ...
});

, но внутри вашего обработчика вы создаете другой функция

  const welcome = (conv) => {
    if (conv.user.last.seen) {
      conv.ask(`Hey you're back...`);
    } else {
      conv.ask('Welcome to World Cities Trivia!...');
    }
  }

, которая никогда не вызывается.Непонятно, почему у вас есть эта внутренняя функция, так как она не нужна.Вам просто нужно тело , которое функционирует во внешнем.Так что это может выглядеть примерно так:

app.intent('Default Welcome Intent', (conv) => {
  if (conv.user.last.seen) {
    conv.ask(`Hey you're back...`);
  } else {
    conv.ask('Welcome to World Cities Trivia!...');
  }
});
1 голос
/ 25 апреля 2019

Вы должны прочитать его из объекта conv, он представляет поворот разговора и предоставляет атрибуты отдельных запросов: conv.user.last.

...