У меня есть действие, которое интегрируется с Dialogflow, который как часть диалога запрашивает доступ к местоположению пользователя.
Это выполняется через webhook:
app.intent('actions_intent_PERMISSION', async (conv, params, permissionGranted) => {
if (!permissionGranted) {
app.intent('actions_intent_PERMISSION - no', (conv, params) => {
conv.ask('sad face, you said no to my permission request!');
});
// conv.ask(`Ok, no worries. I'll have to figure out how to get your postcode. follow-up intent I suppose`);
} else {
conv.data.postcode = conv.device.location.zipCode;
conv.ask(`Ok great - please give me a minute, I have to get data from a few different places.`);
//use postcode to make some other API calls
}
});
Все хорошо, когда пользователь дает разрешение, но когда он не дает разрешения, я хотел бы передать намерение, которое запрашивает их местоположение вручную («каков ваш почтовый индекс / почтовый индекс?»).
Согласно скриншоту, я пытался создать намерение actions_intent_PERMISSION
, которое называется actions_intent_PERMISSION - no
, но это приводит к сбою приложения.
Как лучше всего передать разговор другому человеку, если значение permissionGranted
равно false
?