Как правильно реализовать ярлык siri

Я внедряю Siri Shortcut. Моя цель - добавить ярлыки функций в SIRI SHORTCUT в приложении «Настройки».

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

Проблема в том, что я не уверен, где и как правильно зарегистрировать активность из tutorail, который я смотрел.

Где мне зарегистрироваться?

Согласно руководству я добавил этот код в контроллер представления.

Поскольку self.userActivity доступен из приложения delegete, мне интересно, могу ли я добавить приведенный ниже код в делегат приложения.

func registerShortcut() {

        if #available(iOS 12.0, *) {
            let activity = NSUserActivity(activityType: "jp.co.mycompany.MyApp.openCamera")
            activity.title = "Camera Shortcut"
            activity.isEligibleForSearch = true
            activity.isEligibleForPrediction = true

            self.userActivity = activity
            self.userActivity?.becomeCurrent()
        } 
    }

Сколько раз мне регистрироваться

Не контролируя, сколько раз вызывается регистрационный код, приложение будет вызывать регистрационный код при каждом запуске приложения. Вызов регистрации несколько раз вызывает какие-либо проблемы?


person Bigair    schedule 01.11.2018    source источник
comment
Я думаю, вы ищете намерение пожертвовать. Пожертвовать - это способ добавить наши ярлыки к siri (в настройках). Также убедитесь, что ваше намерение работает нормально   -  person xmhafiz    schedule 01.11.2018


Ответы (1)


Есть много способов реализовать ярлыки и предложения Siri в вашем приложении, если они соответствуют Руководства по пользовательскому интерфейсу, установленные Apple. вам не следует беспокоиться о реализации. Я полагаю, вы хотели бы зарегистрироваться для пожертвования в пользу Siri Shortcuts.

Ознакомьтесь с примером кода Apple для программирования быстрых клавиш Siri. Я считаю, что это лучший ресурс по данному вопросу. Этот код очень подробный и хорошо документирован.

«Сколько раз мне нужно регистрироваться?»

«Где мне зарегистрироваться?»

Вы должны регистрировать свое пожертвование каждый раз, когда пользователь выполняет действие:

Пожертвование намерения каждый раз, когда пользователь выполняет действие, помогает Siri узнавать о его поведении, что помогает Siri лучше предсказывать, когда пользователь может захотеть выполнить это действие снова.

Итак, в вашем случае я бы не стал регистрировать пожертвование в AppDelegate, вместо этого я бы сделал это, когда была нажата кнопка или пользователь совершил какое-то другое действие, например, открыл камеру. Чаще всего я помещаю групповые действия разработчиков в один файл, чтобы лучше управлять ими .. Затем вызываю их, когда их соответствующие действия активируются пользователем.

person RLoniello    schedule 01.11.2018