iOS 10 поддерживает Siri для тренировок с пользовательским словарем

В моем приложении я хотел бы иметь возможность сказать Siri что-то вроде:

Итак, я включил возможность Siri, добавил цель, реализовал INStartWorkoutIntentHandling (а также другие) методы делегирования, и все работает.

Теперь я могу сказать Start a workout with MyAppName. Идеально!

Теперь я хотел бы сказать ей что-то вроде Start an activity using MyAppName или даже Start a hike using MyAppName.

Поэтому я пошел и добавил AppIntentVocabulary.plist, выглядящий примерно так: введите описание изображения здесь Быстрый вопрос там... Идентификатор элемента словаря... Если работа- походу например. следует использовать для начала, окончания, паузы, возобновления, отмены... должен ли идентификатор быть одинаковым для всех из них?

Теперь я столкнулся с тремя проблемами.

1. Я могу сказать Siri Start a hike, и она сработает, она спросит меня, какое приложение мне следует использовать. Я говорю ей Start a hike using MyApp, а она мне говорит, что не может найти это в Apple Music?!? Что за черт?

2. Если я добавлю слово Activity в свой словарный запас, она откроет только приложение iOS Activity... Никогда не спрашивайте, могу ли я открыть свое приложение.

3. При отправке я получаю предупреждение о пропущенных словах вроде No example phrase was provided for INStartWorkoutIntent in the "en" language, которое у меня есть! или Sample phrase "Start a Hike using MyAppName" was not classified as a INStartWorkoutIntent intent

Я был бы очень-очень рад, если бы кто-нибудь показал мне действительный образец файла AppIntentVocabulary.plist, который отлично работает с Siri и iTunes Connect!


person Georg    schedule 07.10.2016    source источник
comment
Что касается № 3, я отправил заявку в службу технической поддержки Apple Developer, и они сказали, что это ошибка, и что я должен ее зарегистрировать.   -  person rocky    schedule 12.10.2016
comment
Так что, по крайней мере, № 3 на самом деле не является ошибкой на моей стороне? А насчет №1 и №2... как ты написал свой AppIntentVocabulary.plist? И Siri правильно отвечает за вас?   -  person Georg    schedule 12.10.2016
comment
Siri нормально мне отвечает. Но я использую AppIntentVocabulary.plist только для примеров Siri для INSendMessageIntent, поэтому боюсь, что ничем не помогу.   -  person rocky    schedule 12.10.2016


Ответы (2)


К сожалению, нет, вы не можете заменить тренировку активностью или походом.

На данный момент Sirikit поддерживает очень ограниченное количество доменов.

В случае намерения потренироваться Siri ожидает, что фраза «Тренировка» будет в произнесенной фразе, иначе Siri не откроет приложение.

Например: вам нужно будет сказать «Начать тренировку в походе с помощью Моего приложения». Перед этим вам нужно будет зарегистрировать пользовательский словарь и включить название похода или любое другое название тренировки в список вызовов.

person user3349726    schedule 01.08.2017

Решение:

  1. Запустите приложение «Настройки», затем прокрутите вниз и нажмите «Safari». В разделе «Общие» вверху коснитесь строки «Поисковая система».
  2. Выберите предпочитаемую поисковую систему из списка. Это изменит поиск Siri по умолчанию с Apple Music на желаемый.

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

Я постараюсь проверить ваши вторую и третью проблемы и отвечу на них в ближайшее время.

Спасибо

person ROSHAN.M    schedule 16.10.2016
comment
Привет Рошан, Спасибо за вашу помощь. Проблема с 1. не в том, что я хочу другой поисковик. Я хочу, чтобы Siri была достаточно умна, чтобы не искать музыку, а start a hike, даже если я добавлю название своего приложения к фразе. Мне интересно, проблема ли это в моем словарном файле или просто Siri просто глупа... - person Georg; 17.10.2016