Диалоговое окно и Push-уведомление - PullRequest
0 голосов
/ 07 июня 2018

Я на самом деле реализую push-уведомление (https://developers.google.com/actions/assistant/updates/notifications), и я не уверен, что понимаю все.

Я использую диалоговый поток через webhook json с php webservices, и должен был бытьиспользуется с Google Home (и телефоном). Все мои тесты выполняются с помощью симулятора.

Я создал намерение get_store

Я создал 2 намерения имплицитов (Notification_store и Notification_text) и активировалих как уведомление в консоли действий.

Когда я захожу в get_store, я спрашиваю разрешение на отправку уведомления для messages_store (для отправки ссылки gmap), когда пользователь отвечает yes, он возвращает мне UPDATES_USER_IDи установите разрешение пользователя как true во всех следующих запросах. Затем я использую этот UPDATES_USER_ID и get_store для отправки уведомления (оно отвечает 200 ok)

Вопросы: - Как только я принял разрешение,он не будет запрашивать у меня никакого нового разрешения, даже если я хочу отправить уведомление для Notification_text, что означает, что оно одноразрешение на обновление для всех целей уведомлений?
- Я не могу удалить UpdatePermission от своего пользователя, даже после использования кнопки сброса или изменения версии - у меня есть сомнения, она работает только с выпущенной версией (альфа / бета / версия)или даже с черновиком?

Если кто-то может помочь мне понять, что возможно, чтобы я мог узнать, что работает, не работает, невозможно.

Спасибо.

1 Ответ

0 голосов
/ 13 июня 2018

Когда вы запрашиваете разрешение на отправку push-уведомлений, разрешение UPDATE кэшируется, поэтому вам не нужно повторно запрашивать разрешение у пользователя.Однако это разрешение является уникальным для намерения, указанного при запросе разрешения.

При запросе разрешения пользователя на отправку push-уведомлений необходимо указать неявное намерение, для которого вы запрашиваете разрешение.Так что в get_store я предполагаю, что это намерение установлено в messages_store .

В следующем коде используется клиентская библиотека Node.js, но концепция та же:

app.intent('get_store', (conv) => {
  conv.ask(new UpdatePermission({intent: 'notification_store'}));
});

Из-за этого вы не можете использовать get_store , чтобы запросить разрешение на messages_text .Вместо этого вам нужно будет создать отдельное намерение, например get_text , которое специально запрашивает разрешение на отправку push-уведомлений для messages_text .

...