Итак, у нас уже несколько лет есть Быстрые команды 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

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

  1. К сожалению, у вас не может быть глобальных переменных без сторонних блоков.
  2. Если вам нужно отправить Push-уведомление или вы хотите что-то отправить в будущем, у вас не будет возможности прослушивать ярлык. Вам понадобится другой сервис, например IFTTT.
  3. Если вам нужно что-то зашифровать, забудьте об этом.
  4. Но вы можете создать безопасное соединение, так как есть блок, который может генерировать разные типы хэшей.
  5. Знайте, как ваш ярлык интерпретирует переменную / ввод. Иногда это может вызвать проблемы.

6. Если у вас под рукой есть iPad, создайте в нем свой ярлык. Обещаю, его будет в десять раз проще запрограммировать.

Вывод

Если у вас есть время и вы хотите иметь больше возможностей, не заглядывая в сторонние приложения (которые обычно стоят), то, вероятно, хорошей идеей будет попытаться создать код решения для добавления в ярлык. С помощью NodeJS и ярлыков ваша воля ⚡ повысит вашу продуктивность, и у вас будет больше инструментов в запасе.

Теперь единственное ограничение Siri Shortcuts - это ваше воображение.

Пример из реальной жизни

Я пообещал, что у меня есть пример, который вы можете просмотреть и взять в качестве вдохновения. Это приложение Electron, которое позволяет вам обмениваться изображениями / файлами на ваш компьютер, просто отсканировав код. Не стесняйтесь проверить это 👍🏻.

Сервер PhaserSync

Ярлык для отправки фотографий PhaserSync

Ярлык файла отправки PhaserSync

Спасибо за чтение! Надеюсь, это было полезно.

Карлос