はじめに

iOSのショートカットは、ショートカットのURLスキームを使って外部から任意のショートカットを起動することができます。
ここでは、リッチ通知から任意のショートカットを起動する方法について説明します。

前提

  • iOSショートカットアプリが必要です。
    • また、通知から起動する任意のショートカットを事前に作成する必要があります。
  • IFTTTから通知を受信するために、IFTTTアプリのインストールが必要です。

ショートカットのURLスキームの仕様

URLスキームを使用してショートカットを実行するのドキュメントに記載されていますが、以下のURLスキームを開くことで任意のショートカットを起動することができます。

shortcuts://run-shortcut?name=Make%20PDF&input=text&text=soup

nameにショートカット名を指定するのですが、URLエンコードが必要です。
また、inputパラメータの値にtextを指定することで、textパラメータの値をショートカットに渡すことができます。
その他、inputパラメータの値にclipboardを指定することもできますが、詳しくは上記のドキュメントをご参照ください。
ただし、ここでは、inputパラメータやtextパラメータの指定はなしで説明します。

IFTTT側のリッチ通知の設定

ここでは、IFTTTのアクションの作り方については詳しく説明しません。他の記事をご参照ください。

まずは、IFTTTのThisのアクションは適当にWebhooksなどを指定します。
次に、Thatですが、Notificationsを選択後、Send a rich notification from the IFTTT appを選択します。

選択後、通知で表示するタイトルやメッセージ内容を適当に設定します。
ここで重要な項目はLink URLです。
この項目に起動したいショートカットのURLスキームを指定します。

例えば、天気という名称のショートカットを起動する場合は、

shortcuts://run-shortcut?name=%E5%A4%A9%E6%B0%97

Link URLに指定します。

image.png

上記を設定後、Saveボタンを押下したら完了です。

リッチ通知からのショートカットの起動

通知を受信したら自動でショートカットが起動されてほしいとも思うかもしれませんが、残念ながら(セキュリティ上)自動でショートカットは起動されません。
ショートカットを起動するには、受信した通知をタップする必要があります。
通知をタップ後に、URLスキームで指定した名称のショートカットが起動します。

おわりに

ショートカット自体は、通知を実際にタップしないと起動されないため、若干煩わしいですね。
また、リッチ通知からショートカット起動して何がうれしいのかはまだよく分かっておりませんが、アイデア次第で色々活用方法はあるのではないでしょうか。
例えば、技術本の新刊情報を通知で知らせて、通知をタップしたらAmazonの購入サイトに遷移すると良いかなとも思います。
今後良い活用方法を模索したいと思います。