iOS 12より利用可能になった「ショートカット」アプリですが、その前身となる「Workflow」には搭載されていた「IFTTT」との連携が去勢されてしまったので、手動で連携させる方法を紹介します。
ショートカットはiOS 12よりiPhoneやiPadで利用可能になったApple純正アプリ。その前身となったのはAppleに買収された「Workflow」というアプリで、様々なデバイス上のアクションやWebサービスなどを連携させる事で、簡単に任意のマクロ操作を組む事ができるというもの。Apple純正アプリとなった事でシステムレベルにより密接したアプリとなり、先日紹介した「WiFiをオフにするボタンを追加する」などのiPhone自体の操作も実行できるようになりました。
一方でApple純正アプリになった際に失われた機能も。iOS 11以前で利用できたWorkflowアプリでは、IFTTTというサービスのアプレットを実行するトリガーを利用する事ができました。
IFTTT(if this, then that)とは、様々なWebサービスやデバイスを相互に連携して使えるサービス。Evernoteのノート、Dropboxのファイル、Twitterのツイートなどは勿論のこと、スマートスピーカーのGoogle Homeに搭載されているGoogleアシスタント、Amazon Echoに搭載されているAlexaなどの音声アシスタントをトリガーとして使う事ができ、更に出力先としては様々なスマートホームデバイスへも接続可能。スマートスピーカーに話しかける事で部屋の照明やエアコンをオン・オフするなど、スマートホームのハブとしても活躍しているWebサービスです。
iOS 12用の「ショートカット」アプリとして生まれ変わった際、何故かこのIFTTTトリガー機能は取り払われてしまいました。しかしIFTTT側には「Webhooks」という汎用の接続機能があり、これを代用する事で「ショートカット」と「IFTTT」を接続する事が可能です。
1. IFTTTのWebhooksのURLを調べる
ショートカットとIFTTTを組み合わせたい場合は、まずIFTTT側でWebhooksの準備をします。まずIFTTTにログインしてWebhooks settingsのページにアクセス。Account Infoの中にURL:という項目があるので、その後のhttpsで始まるURLをコピーして開きます。
このページではWebhooksで外部からIFTTTをトリガーするキーを確認する事ができます。上記スクリーンショットのURL部分をコピーして一旦メモしておきます。
デフォルトでは{event}と記入されていますが、実際に利用する際はここを任意の文字列(Event Name)に変更します。トリガーの用途別の分かりやすい名前にすると管理が楽。なお、この{event}部分がトリガーを識別する箇所となっており、URLの他の部分は固定。一度コピーしておけば、この部分を書き換えるだけで使い回すことができます。
また、今回は使いませんが、単純なトリガーだけでなく「value1」「value2」「value3」の値をWebhooks経由でIFTTT側に受け渡す事が可能。より高度な連携を行う事ができます。
2. IFTTTのアプレットを作成する
IFTTTのNew Appletの画面から、Webhook用に新たにアプレットを作成します。基本的に他の通常のアプレット作成と同じ流れですが、「This」にWebhookを指定する際に「Event Name」を記入する必要があります。この「Event Name」は、個別のイベントを識別するための文字列で、先述したWebhooksのURLの{event}部分に同一の文字列を記入してアクセスするもの。分かりやすい名称にすると管理しやすいです。
「That」に関してはIFTTTに対応しているサービスから任意のものを追加します。Nature Remoをはじめとするスマート家電リモコンを導入していれば、ここで操作先のデバイスとして指定することができます。今回は試しに自宅の照明を操作してみます。
3. ショートカットを作成する
最後に、上記スクリーンショットのとおりiOS上のショートカットアプリで操作するショートカットを作成します。先程メモしたEvent Nameの入ったURLをテキストとして読み込み、「URLの内容を取得」で該当のURLにアクセスする事で、IFTTT側のアプレットを作動させる事ができます。
以上の手順でiOS 12のショートカットアプリやそのウィジェットからIFTTTのアプレットを作動させる事ができるようになりましたが、更にiOS 12の新機能であるSiriショートカットに追加する事によって、Siriを使ってIFTTTのアプレットを動かす事ができます。
4. Siriショートカットに追加する
iOS 12では設定アプリの「Siriと検索」から、Siriショートカットを作成する事ができます。先程ショートカットアプリで作成した名前そのままでも大丈夫ですが、ここで任意にSiriのキーワードを指定する事も可能。「開けて」や「つけて」などの短い単語でも設定できます。同じショートカットに対して複数のSiriショートカットを指定することもできるので、「エアコンをつけて」「エアコンをオンにして」など複数の言い方で登録しておくことも可能です。
実際に「Hey Siri」で部屋の照明をオンにしている動画
実際にHey SiriでSiriショートカット経由でIFTTTに命令を送り、部屋の照明をオンにしているところ。従来はSiriから家電を操作するにはAppleのHomeKitに対応したデバイスを導入する必要がありましたが、SiriショートカットとIFTTT Webhooksを組み合わせる事によって任意のフレーズで幅広いデバイスを操作する事が可能です。
iOS 12になり、Workflowの買収により搭載された「ショートカット」アプリ、それをSiriから任意のコマンドで操作できる「Siriショートカット」が搭載され、直接のIFTTT連携こそは無くなってしまったものの今回のような方法は残されており、iPhone/iPadから外部へ向けた拡張性の面でiOSは飛躍的にステップアップしたと感じました。また一方で以前紹介したようにWiFiやBluetoothのオン・オフなど内部的な動作もSiriやショートカットから操作できるようになり、外部・内部ともに制御できる範囲の自由度が大きく広がっています。
見た目としては一見変化の少なかったiOS 12のアップデートですが、活用の幅は歴代のアップデートと比較しても大幅に広がったと感じます。今回は代表例としてIFTTT経由で家電を操作した例を紹介しましたが、ショートカットアプリは300以上のアクションを収録し、IFTTTの無数に増えるWebサービスに次々と対応しています。まだまだ活用できる組み合わせは多くありそうなので、しばらくはヘビーユーザーも飽きずに試行錯誤して遊べそうです。