Я пытаюсь реализовать Push-уведомления, как описано здесь:
https://developers.google.com/actions/assistant/updates/notification
Вот шаги, которым я следовал:
- Зарегистрируйте действие для намерения как неявный вызов в действиях Google.
Как видите, notif_intent - это мое намерение, которое я хочу вызвать в результате push-уведомления.
- В разделе «Участие пользователей» этого действия я включил опцию push-уведомлений:
В одном из моих намерений «Настройка push-уведомлений» есть ключевые слова, такие как «включить уведомления» для его запуска, который используется для запроса у пользователя разрешения на отправку push-уведомлений. Вот код nodejs встроенного редактора, используемый для обработки этого:
app.intent("Setup Push Notifications", conv => {
conv.ask(new UpdatePermission({
intent: 'notif_intent'
}));
});
Другое намерение 'FinNotfSetup' имеет событие 'actions_intent_PERMISSION', так что оно запускается, когда функция UpdatePermission () используется в приведенном выше коде.
app.intent('FinNotfSetup', (conv) => {
if (conv.arguments.get('PERMISSION')) {
const userId = conv.arguments.get('UPDATES_USER_ID');
console.log("userId", userId);
conv.close(`Ok, I'll start alerting you.`);
} else {
conv.close(`Ok, I won't alert you.`);
console.log("not opted");
}
});
Теперь, когда я запускаю намерение «Настроить push-уведомления» с моего устройства / симулятора, агент неожиданно останавливается каждый раз. Наблюдая журналы ошибок в симуляторе, я получаю следующую ошибку:
MalformedResponse at expected_inputs[0].possible_intents[0].input_value_data: The intent the app is asking for permission to send updates for is not found."
Как имя Intent не найдено? Есть ли какие-либо шаги или конфигурации, которые мне не хватает?