SiriShortcuts не запрашивает логические параметры - PullRequest
0 голосов
/ 05 февраля 2020

Я использую SiriKit для своего приложения, которое в основном представляет собой будильник. Я хочу, чтобы разговор был go примерно таким:

Привет, Сири, открой 1337AlarmClock

-Вы хотите установить будильник?

Да

-Какое время?

3 AM

-Тревога была установлена ​​на 3 AM

Таким образом, мой первый параметр - Boolean, а мой второй параметр, DateComponents, зависит от. Я правильно реализовал intent handler для этого и установил success code на .continueInApp, так как мне нужно запустить приложение после успеха и обработать параметры. Но Сири никогда не запрашивает мои параметры, просто слепо открывает приложение с параметрами, установленными в ноль. Я вижу параметры в приложении Shortcuts и могу указать их там, но я хочу сделать это через Siri.

Если я, однако, изменю первый параметр на String вместо Boolean, Сири начинает задавать вопросы, и мое приложение открывается после того, как я предоставил параметры. Что-то не так с типом Boolean для SiriIntents или что я здесь не так делаю? Ниже приведены изображения моих Intents.intentdefinition.

enter image description here enter image description here

1 Ответ

0 голосов
/ 13 февраля 2020

Я понял это через несколько минут после того, как отправил свой вопрос - как обычно. Дело в том, что Сири будет запрашивать параметры только в том случае, если у нее еще нет значения параметра . Если вы посмотрите на второе изображение в моем исходном сообщении, вы увидите, что для раздела Relationship установлено значение true. Это означает, что true будет default value, поэтому Сири не попросит меня об этом. Вы также заметите, что вы не можете установить тип Boolean, отличный от true или false, а также имеет значение .

Для того, чтобы go вокруг этой проблемы я создал свой custom parameter type и добавил третий параметр Undecided, который я установил как default value. Теперь Сири спрашивает правильно - и может обработать ответ Да / Нет .

...