Симулятор для диалогового процесса отображает все содержимое объекта Basic Card, как и ожидалось для симулятора Google Assistant; однако центр гнезда Google отображает все, кроме кнопки, которая предоставляет ссылку, которую я хочу, чтобы пользователи видели. Мой ответ работает нормально, просто эта кнопка не отображается, что удерживает меня от желаемого результата.
Я попытался найти причину, по которой концентратор гнезда может не отображать кнопки карточек, но это может быть не досконально изученная область.
const functions = require('firebase-functions');
const {dialogflow,BasicCard, Button,Image} = require('actions-on-google');
const WELCOME_INTENT = 'Default Welcome Intent';
const FALLBACK_INTENT = 'Default Fallback Intent';
const CKD_MEALS_INTENT = 'ckdMealsIntent';
const CKD_MEALS_TYPE_ENTITY = 'ckdMeals';
const app = dialogflow();
app.intent(WELCOME_INTENT, (conv) => {
conv.ask("Welcome to the quote generator! Ask for a quote about happinness, friendship, or inspiration");
});
app.intent(FALLBACK_INTENT, (conv) => {
conv.ask("I didn't understand your request");
});
app.intent(CKD_MEALS_INTENT, (conv) => {
const meal_type = conv.parameters[CKD_MEALS_TYPE_ENTITY].toLowerCase();
if (meal_type == "vegetarian") {
conv.ask("Here's a suggestion for a vegetarian meal:"); // this Simple Response is necessary
conv.ask(new BasicCard({
image: new Image({
url: 'https://user-images.githubusercontent.com/41710701/62001145-0ddf1580-b0af-11e9-84cf-607f6ef980c7.png', //url of your image.
alt: 'Image alternate text',
}),
}));
}
else if (meal_type == "budget"){
conv.ask("Here's a suggestion for a budget meal:");
conv.ask(new BasicCard({
subtitle: 'This is a subtitle',
title: 'Beef Burritos',
buttons: new Button({
title: 'This is a button',
url: 'https://www.davita.com/diet-nutrition/recipes/beef-lamb-pork/beef-burritos',
}),
image: new Image({
url: 'https://user-images.githubusercontent.com/41710701/62010589-715e5700-b132-11e9-96e5-730b30d55d7e.jpg',
alt: 'Image alternate text',
}),
}));
}
else if (meal_type == "easy"){
conv.ask("Here's a suggestion for a easy-to-make meal:");
}
else{
conv.ask("Life can only be understood backwards, but it must be lived forwards.");
}
});
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);
Я ожидал увидеть кнопку не только на симуляторе вызова действий (ссылка, прикрепленная к кнопке, работает и все на sim-карте), но и на концентраторе гнезда Google. Хаб гнезда отображает все, кроме кнопки, вот и все. Никаких сообщений об ошибках в симуляторе.