Итак, у нас уже несколько лет есть Быстрые команды Siri. Но я все еще считаю их довольно ограниченными без каких-либо сторонних блоков. Итак, что мы можем сделать с ванильными блоками?
На самом деле вы застряли с HTTP-запросами 😔. Но не волнуйтесь, мой товарищ разработчик. У меня есть несколько решений с использованием JavaScript 💡! (На самом деле всего 2 решения, но они классные)
В своих решениях я изложу различные идеи и дам краткий обзор, а затем дам вам несколько примеров! К сожалению, кода нет 😦. Но не волнуйтесь, я создал приложение, которое вы можете просмотреть в конце!
Ярлыки Siri + Сервер NodeJS
С этим решением можно многое! Да, я знаю, что вы в основном создаете API, но подождите.
У вас есть сервер NodeJS (очевидно, с ExpressJS), работающий на вашем компьютере. Вы можете читать / редактировать свои файлы, управлять своим компьютером, вызывать другие API, запускать некоторые WebHooks и многое другое.
Хотите создать что-то еще более интересное? Вы можете добавить графический интерфейс с помощью Electron.
Единственные ограничения - это ваши способности, ваше творчество, количество выпитого кофе ☕ и модули NPM, которые вы можете найти.
Приведу несколько примеров:
- Ярлык, который может выключить / приостановить / перезагрузить компьютер. Если вы хотите сделать шаг вперед, вы можете добавить это в автоматизацию или процедуру, которая отключает ваш компьютер, когда вы ложитесь спать 😴.
В этом примере я рекомендую использовать spawn
и, возможно, сделать его службой. Есть пара модулей NPM, которые могут сделать ваш код службой.
- Ярлык, открывающий веб-сайт, который вы читаете на своем устройстве. Вроде как DIY Handoff. Кстати, этот пример полезен только для Windows и Linux. Если вы делаете это на своем Mac, вы просто зря теряете время.
- Ярлык, который подготавливает ваше рабочее пространство. Вы знаете Medium в одном окне, возможно, YouTube / Netflix в другом, чтобы начать свой день. Затем разбудите свой любимый редактор кода и приготовьте свой плейлист Spotify для воспроизведения, когда вы будете готовы к работе.
Для этих двух примеров я бы использовал модуль NPM open
и добавил бы графический интерфейс с electron
для создания различных типов экранов. Как экран истории для DIY Handoff и экран настроек для приложения рабочего пространства.
- Ярлык, который показывает изображение кошки 🐈 на рабочем столе! (Или, может быть, Нарвал)
Просто проявите творческий подход к этому примеру.
Смотрите, вы можете создавать множество вещей с помощью NodeJS Server!
Плюсы и минусы:
- Буквально вы можете создать что угодно!
- Вы можете использовать любые модули, какие захотите!
- У вас нет ограничений!
- Но если ваше приложение не находится на облачном сервере, вам в основном понадобится работающий компьютер (но если вашему приложению что-то нужно на вашем ПК, это не проблема)
- Если вы не можете получить доступ к серверу NodeJS из Интернета, вы будете обязаны запускать ярлык из той же сети. 😱
- А если вы привязаны к своей локальной сети и у вашего компьютера динамический IP-адрес, вам нужно будет всегда обновлять IP-адрес, используемый в ярлыке, каждый раз, когда он изменяется.
- Если вы поделитесь своим ярлыком, очень вероятно, что пользователю потребуется что-то изменить.
Горячие клавиши Siri + веб-перехватчики
Это решение работает для некоторых случаев, оно более ограничено. Для этого решения сначала вы создаете несколько бессерверных функций (AKA WebHooks) и размещаете их в облачной службе (например, в ZEIT Now или Firebase 🔥). Затем вы создаете ярлык, который отправляет HTTP-запрос на ваш WebHook, который может либо получить вам что-то (GET), либо отправить что-то (POST), либо и то, и другое. Довольно просто.
Это означает, что создаваемые вами ярлыки в основном предназначены для извлечения / редактирования каких-либо данных или переключения внешнего действия. Но все же вы можете получить несколько полезных ярлыков.
Также с использованием WebHooks вы перекладываете рабочую нагрузку на внешний сервер, что отлично подходит для автоматизации второго уровня.
Итак, вот список некоторых функций, которые вы можете предоставить своему WebHook!
Функции:
- Ярлык для получения данных (погода, пробки, статус и т. Д.)
- Ярлык, устанавливающий данные (заметки, ссылки, базы данных и т. Д.)
- Ярлык, переключающий внешнее действие (спросить Uber, опубликовать что-то в своей социальной сети, управлять устройством)
- Ярлык, который управляет вашим умным домом (если ваше устройство совместимо с HomeKit, не тратьте время зря)
Плюсы и минусы:
- Вы можете получить несколько замечательных приложений, даже не требуя постоянного включения компьютера.
- Отлично для приложений второго уровня.
- Если вы хотите, чтобы люди использовали ваш ярлык. Им нужен только ярлык, поскольку ваши веб-перехватчики используют общедоступный URL-адрес, а это означает, что пользователю не нужно менять URL-адреса. Простой. (Но, пожалуйста, добавьте какую-нибудь аутентификацию, если вы обрабатываете личные данные)
- Вы ограничены в использовании API, и вы можете столкнуться с некоторыми ограничениями вашего облачного провайдера.
Советы и знания по быстрым клавишам Siri
Но прежде чем вы погрузитесь в создание своего приложения, позвольте мне дать вам несколько полезных советов и знаний.
- К сожалению, у вас не может быть глобальных переменных без сторонних блоков.
- Если вам нужно отправить Push-уведомление или вы хотите что-то отправить в будущем, у вас не будет возможности прослушивать ярлык. Вам понадобится другой сервис, например IFTTT.
- Если вам нужно что-то зашифровать, забудьте об этом.
- Но вы можете создать безопасное соединение, так как есть блок, который может генерировать разные типы хэшей.
- Знайте, как ваш ярлык интерпретирует переменную / ввод. Иногда это может вызвать проблемы.
6. Если у вас под рукой есть iPad, создайте в нем свой ярлык. Обещаю, его будет в десять раз проще запрограммировать.
Вывод
Если у вас есть время и вы хотите иметь больше возможностей, не заглядывая в сторонние приложения (которые обычно стоят), то, вероятно, хорошей идеей будет попытаться создать код решения для добавления в ярлык. С помощью NodeJS и ярлыков ваша воля ⚡ повысит вашу продуктивность, и у вас будет больше инструментов в запасе.
Теперь единственное ограничение Siri Shortcuts - это ваше воображение.
Пример из реальной жизни
Я пообещал, что у меня есть пример, который вы можете просмотреть и взять в качестве вдохновения. Это приложение Electron, которое позволяет вам обмениваться изображениями / файлами на ваш компьютер, просто отсканировав код. Не стесняйтесь проверить это 👍🏻.
Ярлык для отправки фотографий PhaserSync
Ярлык файла отправки PhaserSync
Спасибо за чтение! Надеюсь, это было полезно.
Карлос