Microsoft Flowには、フローで作成された通知をモバイルアプリに送信できる「Notifications」コネクタや位置情報(GPS)が取れるコネクタがあるのですが、Logic Appsにはこれらのコネクタはありませんでした…。
先日、これらのサービスを提供するコネクタ「Pushcut」がLogic Appsに追加されてた、と @twit_ahf さんに教えてもらいまして。
なお、@twit_ahf さんはLogic Apps / Microsoft Flowの新規コネクタ追加をツイッターに投稿してくださっているので、ぜひフォローしましょう!
さてこの「Pushcut」ですが、現時点ではiPhoneのみ対応のアプリのようです。
https://docs.microsoft.com/ja-jp/connectors/pushcut/
今回は、Pushcutコネクタを利用して「指定場所に近づくと買い物リストを通知する」仕組みをノンコーディングで作ってみました!
※この仕組みはiPhoneユーザーのみ対象です。
全体のワークフロー
Logic Appsで作成したワークフローはこんな感じ。
また買い物リストは「Googleタスク(ToDoリスト)」を利用して登録することにしました。アプリを利用すると便利です。
今回は「購入するもの」というリストを追加しています。
Pushcutの設定(その1)
まずは公式サイト(https://www.pushcut.io/)から「Pushcut」アプリをiPhoneにダウンロード。(App storeで名前検索しても出てきます)
先にPushcutの設定をした方がスムーズにワークフローを作れた感じがするので、以下の作業からやっていくのをオススメします。
アプリを起動するとこのような画面になります。まずは「Notification」から設定。
「Add Notification」をタップすると画面が変わるので、「NAME」にわかりやすい名前を入力。また、「NOTIFICATION」のタイトルとテキストにダミー文言が入っているので削除しておきます。
ここまで設定したら上部の「Add」をタップ。Webhook URLが表示されます。(今回は使わない)
次は「Local Toriggers」を設定。
切り替わった画面で、まずは「NOTIFICATION」を「Location」に変更後、Select Notificationをタップ。
先程登録した「Notification」の名前をタップ。
「Select Location」をタップして「Add Location」をタップ。
トリガーの条件として「When Arriving」を選びました。
名前は適宜つけて、地図が開くので、ここで利用したい場所(住所)を登録します。
なお場所は、地図上の円形の領域として定義できますが「技術的な理由によりマップ領域の最小半径は100メートル」とユーザー側で変更することは現時点ではできないとのこと。
そのかわりiBeaconが使用できるようなので、精度を求める場合はこちらを使うといいかもしれません。(この部分は未検証)
公式サイトに詳細のドキュメントがあるので、詳しくはそちらをどうぞ。
https://www.pushcut.io/support.html
青い円の中に目的の場所(お店とか)が入った状態で「Done」をタップ。
Logic Appsの設定
次にLogic Appsの設定をします。
検索で「Pushcut」を検索して、コネクタを選択。
「サインイン」をクリックするとQRコードが表示されるので、Pushcutアプリの「Account」内にある「Scan Code」でスキャンするとデバイスが認証されます。
QRコード認証のコネクタは初めてだったので新鮮でしたw
「Action Name」にわかりやすい名前を入力。
これで一旦「保存」をクリックします。
Puchcutの設定(その2)
登録済みの「Notifications(今回は「Shopping」という名前)」を編集します。
「Notification」には以下を入力。
このように入力すると、iPhoneに通知が飛んでくるので、タップすると登録した「買い物リスト」が表示されます。
タップすると中央付近に「ACTIONS」があるので赤枠部分をタップ。
画面が切り替わったら、Actionにわかりやすい名前を入力して「Online」をタップ。
「Online Action」をタップするとLogic Appsのコネクタに入力した「Action Name」が出てくるのでタップ。(Doneのタップ忘れずに)
これでLogic AppsとPushcutが接続完了!
Logic Appsでワークフローを作成
トリガーの設定は終わっているので、後続のアクションを追加していきます。
検索から「Google Tasks」を検索、「タスク タスクリストのタスクの一覧表示」をクリック。
今回は「購入するもの」というリストに買うものを追加していったので、選択します。
検索から「Pushcut」を検索、コネクタをクリック。
図のように選択します。
コネクタの入力内容は図を参考にされてください。
Dinamic~の部分が登録したデバイスに通知として飛んできます。また「For each」は動的なコンテンツを入力すると自動で入ってくれます。
以上で完成!
実行結果
近所のドラッグストアに近づくと買い物リストが出るようにした場合はこんな感じ。(家族に病人がいたときのものなので内容がアレ)
今回の仕組みだと「Google Todoに追加した分全部通知が来る」ので、たくさん入力するとちょっと引くことになります。ご利用は計画的に。
あと、トリガーが位置情報なので、ズレたり何たりでトリガーが発火しない場合もあり…そのあたりはご容赦いただけますと。(まだプレビューコネクタですしね)
また、PushcutはFree版でも利用できますが、「通知」を利用するとこのようなメッセージ付きになってしまいます…。
Free版は「ACTIONS」が1つしか作成できないようでした。
というわけで、私は「200円/月」を契約していますw(公式サイトには記載がないプランですが、App store経由で決済されるプランの模様)
最後に
Pushcutコネクタは既に同じようなコネクタがMicrosoft Flowにはありますが、「HomeKit」が利用できるようなので、そのあたりと連携すると面白いかもしれません。
Logic Appsは位置情報やデバイスへのができたらいいなと思っていたので、このPushcutは個人的に期待大!
いろいろ試してみようと思います。