Как правильно реализовать siri ярлык - PullRequest
0 голосов
/ 01 ноября 2018

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

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

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

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

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

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

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()
        } 
    }

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

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

1 Ответ

0 голосов
/ 01 ноября 2018

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

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

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

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

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

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

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

...