我在对话框流程上创建了一个应用并部署在Google助手上, 它在移动助理和谷歌主页上工作正常,但通知(每日更新)不适用于谷歌家用迷你设备 好每日更新在移动设备上工作得很好,我没有使用任何丰富的响应,如卡和迷你设备不支持的其他东西,那么可能的原因是什么? 目前它已部署home-notification-6b314相同的谷歌应用程序用于部署firebase功能(如webhook),dialogflow应用程序和谷歌上的操作
我该怎么办?
这是我在webhook上写的一些代码供参考:
// process.env.DEBUG = 'actions-on-google:*';
import * as functions from 'firebase-functions';
const { DialogflowApp } = require('actions-on-google');
const Actions = {
UNRECOGNIZED_DEEP_LINK: 'deeplink.unknown',
FINISH_UPDATE_SETUP: 'finish.update.setup',
};
const Parameters = {
CATEGORY: 'category',
UPDATE_INTENT: 'UPDATE_INTENT'
};
const DAILY_NOTIFICATION_ASKED = 'daily_notification_asked';
const PUSH_NOTIFICATION_ASKED = 'push_notification_asked';
export const webhook = functions.https.onRequest((request, response) => {
try {
const app = new DialogflowApp({ request, response });
console.log('Request headers: ' + JSON.stringify(request.headers));
console.log('Request body: ' + JSON.stringify(request.body));
// Map of action from Dialogflow to handling function
const actionMap = new Map();
actionMap.set(app.StandardIntents.CONFIGURE_UPDATES, configureUpdates);
actionMap.set(Actions.FINISH_UPDATE_SETUP, finishUpdateSetup);
actionMap.set("welcome", welcome);
actionMap.set("whatMissed", whatMissed);
actionMap.set("what_did_i_missed.what_did_i_missed-yes", whatMissed_yes);
app.handleRequest(actionMap);
} catch (e) {
console.log("catch error: ", e)
}
});
function welcome(app) {
app.ask(app.buildRichResponse()
.addSimpleResponse({
speech:
`<speak>
<s> Hi, I'm you medication assistant </s>
</speak>`
})
)
}
// Start opt-in flow for daily updates
function configureUpdates(app) {
console.log("====>> configure triggered1")
const intent = app.getArgument('UPDATE_INTENT');
console.log("##### INTENT: ", intent);
const category = app.getArgument('notification-category');
console.log("##### category: ", category);
app.askToRegisterDailyUpdate(
'what_did_i_missed',
[{ name: "some name", textValue: "some text" }]
);
}
// Confirm outcome of opt-in for daily updates.
function finishUpdateSetup(app) {
console.log("====>> finish triggered")
if (app.isUpdateRegistered()) {
app.tell("Ok, I'll start giving you notification that time.");
} else {
app.tell("something went wrong when i was scheduling up notification");
}
}
// # NOTE
// must have to enable notification 2 places,
// - first in google action dashboard(overview>Action discovery and updates>{intent-name}>Enable User updates and notifications>set title of notification)
// - second in google cloud console(Firebase Cloud Messaging API),
// otherwise i will just keep saying '{your app name} is not responding'
function whatMissed(app) {
const status = app.getArgument("boolean");
if (status === 'yes') {
app.tell("Ok, good job. keep it up!");
} else {
app.ask("would you like me to remind you again?");
}
}
function whatMissed_yes(app) {
app.askToRegisterDailyUpdate(
'what_did_i_missed',
[{ name: "some name", textValue: "some text" }]
);
}
答案 0 :(得分:4)
&#34;在第一次迭代中,更新是用户启用助理的手机上的系统通知,但我们计划扩展到新的表面。&#34; https://developers.google.com/actions/assistant/updates/overview
支持人员也表示只支持移动设备,而不支持google home和mini等其他界面。