Как импортировать больше экранной веб-страницы с помощью интерактивного холста Google - PullRequest
1 голос
/ 07 февраля 2020

Я хочу использовать Interctive-Cavas для настройки Google NestHub с помощью HTML, CSS и Js.

В примере: https://medium.com/voice-tech-podcast/google-assistant-interactive-canvas-c83a959bdea0

conv.ask(new HtmlResponse({
    url: `https://${firebaseConfig.projectId}.firebaseapp.com`,
  }));

url: https://${firebaseConfig.projectId}.firebaseapp.com show index.html. Но у меня есть много других html файлов, например: a. html, b. html, c. html, ... хочу показать.

Итак, как это сделать ? Пожалуйста, помогите мне!

Большое спасибо!

1 Ответ

1 голос
/ 07 февраля 2020

Рекомендуется использовать интерактивный холст с одностраничным приложением (SPA). В этой схеме ваш индекс. html отвечает за отображение всего, хотя он может извлекать ресурсы из других URL-адресов.

Это позволяет вам делать приятные переходы и создает менее резкий опыт для пользователя на следующей странице. загружает.

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

conv.ask(new HtmlResponse({
    url: `https://${firebaseConfig.projectId}.firebaseapp.com`,
  }));

, в то время как для других намерений вы можете sh ответить с другим URL. Возможно, что-то вроде этого:

conv.ask(new HtmlResponse({
    url: `https://${firebaseConfig.projectId}.firebaseapp.com/page1.html`,
  }));

Если вы использовали одностраничную модель, вы можете отправить назад данные, и JavaScript на вашей странице обнаружит это. Эти данные могут быть любыми, но они могут выглядеть примерно так (при условии, что у вас есть переменные pageNumber и name с полезной информацией для размещения на странице)

conv.ask(new HtmlResponse({
    data: {
      page: pageNumber,
      userName: name
    }
  }));
...