メンチカツには醤油でしょ!!

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

IFTTTの位置情報トリガーが動かない (IFTTT location trigger not working)

位置情報トリガーが動かない

Googleで"ifttt loc"ぐらいまで入力すると
ifttt location not triggering
ifttt location not working
って出るぐらいみなさん同じ悩みを抱えているようです。

ぐぐった感じだと

redd.it

検索でヒットするこちらのサイトのコメント内に、
かつてIFTTTのエンジニアであったというAlan J. Hoganさんがこうポストしています。

(意訳)

私はIFTTTのエンジニアでした。
位置情報の機能には従事していませんでしたが、サービスのことはかなり知っており機能の限界についても知っています。
また、だいたい3年間ぐらいはIFTTTのヘビーユーザーでもありました。
IFTTTのロケーション機能は正しさを求めすぎるあまり何かおかしな方向へ向かっていると言わざるを得ません。
IFTTTの位置情報機能に依存しすぎないようにしましょう。
次に、私が試した2つのrecipesがどうダメだったのか紹介します。

1.
私はときどきプールに入る時にロックをかけるのを忘れてしまうので
行先のプールの周りに狭い範囲の位置設定を行って、ロックをかけ忘れないようなrecipeを作りました。
(ただ、私が本当に欲しかったのは、建物に入ってから45〜1時間後のリマインドだったのですが、これはIFTTTではシンプルには実現不可能です)
このレシピの設定はまだ生きており、ランダムに発生しているかのように思えるのですが、
1週間以上プールに行っていなくても、発生することがありました。
先日は、週末で家に居た時に発生しました。
もちろんその時居た位置からは16km以上も離れています。

2.
私はバイク通勤をしているので
私の彼女は私が職場に安全に到着したか心配なのでテキストメッセージが欲しい
とのことでした。(まぁ、これは合理的な要求ですよね)
そこでは私はrecipeを設定しました。
お察しの通り…オフィスに居てもトリガーは引かれません。
そして週末家で一緒に過ごしている時に彼女にテキストメッセージが来るのです。。
(繰り返しになりますが16km以上も離れています)
…ということで私たちはIFTTTの位置情報に頼らず古き良き人間的な テキストメッセージ送信をするに戻りました。

また追記コメントでは

IFTTTはバックグラウンドで通信を行っていたため無効化したところ上記の状況は起こりました。
私はこれが上記の原因と思っているが、完全な検証はできていません。
しかも、私の携帯は常に職場ではWi-Fi接続されており、古い位置情報のアラートが週末の自宅で発生するのかはわかりません。

考察 ⇒ 3G/4G LTEなどのモバイル回線接続が必要

私は自身のブログにてIFTTTのことを推しておきながら
設定して1年以上、一度もロケーショントリガーを引いたことがありませんw
(もちろんrecipeは複数設定してあり、今もまだ生きています)

なぜでしょう…
思い当たるのはiPhoneをずっと機内モードにしていることです。
docomoのSIMをWi-Fiルーターに挿して⇒IFTTTのiPhoneWi-Fiオンリーです。
3G/4G LTEなどのモバイル回線が必要と思われます。

契約してくれば同じ端末で検証できるのですが、、と思っていたら
上記の件で追記が出ていたので本ポストを投稿しました。

確認できたら後日追記します。
SIMを刺した瞬間今まで溜まっていた(?)トリガーが引かれると
確実にそうだと言えるんですけどね〜

 

ちなみにmyThings (Yahoo!のIFTTT的サービス) も同じくダメでした。

後日

モバイル回線を手に入れたのでSIMを挿したら、位置情報トリガーがIFTTTとmyThingsの両方取れました。
やはりモバイル回線が必須なんですね。

 

IFTTTのDO BUTTONを使ってスマホ1タップでGoogleカレンダーにリマインダーを登録しよう

タイトル長い(笑

IFTTTのDO BUTTONとは

以前IFTTTというWebサービスを紹介しました。
このWebサービスは、「ある条件を設定」しておき、その条件が満たされたときに「予め設定しておいた動作をする」というようなサービスです。

If This Then Thatの略でIFTTT、いふと、と読むようです。

Gmail, Dropbox, Slack, スマホ位置情報・通知, IoT家電など300以上のサービスとの連携が用意されている点が強みです。

DO BUTTONとは、このIFTTTの"IF"な部分(サービス内ではトリガーと呼ぶ)を削ったシンプルなボタンのようなサービスです。

BUTTONは単純すぎて使い道はあるのか?

最初はそう思うことでしょう。
でも、ちょっとした動作やリマインダーをセットしたり
IFTTTと違って人間の判断でトリガーを引いて連携動作をしたいってことが
結構あるんですよね。

発想が勝負な点が強くなりますが、私のユースケースの1つとしては
朝、お弁当を渡された時にDO BUTTONをタップして、
Googleカレンダーの当日12時に予定を登録します」
(Slackのリマインダーセットでも良いかもです)
朝オフィスに到着して弁当箱を冷蔵庫に保管する瞬間までは覚えているのですが、業務が始まりそして昼になるともう忘れてしまっており外にご飯に出てしまうことがあるのです^^
これが結構な事態に発展するリスクがあるのです((((;゚Д゚))))

Googleカレンダーに予定として登録されれば
その時刻になれば通知がきますので、忘れない仕組みの1つとなります。
また、その手間がボタン1つということで重宝してます。

手順

AppStoreなどからDO Button by IFTTをインストール

DO Button by IFTTT

DO Button by IFTTT

  • IFTTT
  • Productivity
  • Free

起動します

f:id:ryoichi0102:20161024085233j:plain

右下のどんぶり?マーク (ADD A RECIPE!) をタップ

f:id:ryoichi0102:20161024085244j:plain

My Recipesで上部の+をタップ

f:id:ryoichi0102:20161024085328j:plain

Add a RecipeではChannelsからGoogle Calendarを探してタップ

f:id:ryoichi0102:20161024085417j:plain

Create New Recipeをタップ

f:id:ryoichi0102:20161024085446j:plain

Quick add eventをタップ

f:id:ryoichi0102:20161024085509j:plain

詳細を入力します

f:id:ryoichi0102:20161024085524j:plain

Type a Recipe title... にはボタン名を、
Quick add text にカレンダーに登録する内容を入力します。
ここには定形フォーマットで英語で入力します。
どのように入力すればうまくいくかは
Googleカレンダー登録時、タイトル入力だけで時間/場所も連動させて入力する方法 (Quick Add)
を参考にしてみて下さい。

プレースホルダーはそれぞれ、ボタンを押した時の
・{{ShareURL}} 現在位置を共有するためのIFTTTのURL
・{{Latitude}} 現在位置の緯度
・{{Longitutde}} 現在位置の経度
・{{LocationMapURL}} 現在位置へのGoogle MapのURL
・{{LocationMapImageURL}} 現在位置のGoogle Mapの画像URL
・{{OccurredAt}} 現在時刻、書式は"September 21, 2016 at"
が差し込まれます。

12pm-12pm 今日お弁当だから忘れないように

Saveを押せば完了です!

f:id:ryoichi0102:20161024085554j:plain

真ん中のボタンを押すだけで実行できます

f:id:ryoichi0102:20161024085606j:plain

Gmail宛に携帯から送信されたメールだけをスマフォ通知する

まぁGmailにそんなオプションは無いわけですが方法はあるわけですよ。

経緯

最近はMNPやMVNOなどの流行でGmailアドレスをメインのアドレスで使ってる方を結構見かけるようになりました。
私もその一人です。

ガラパゴスな方とメールのやりとりをする場合に
メッセージングでもないのにメールに対して結構な即レスを求められることがあります。
特にせっかちな私の旧友からの飲みの誘いとか(笑)
親からの連絡とかもケータイからGmailに送られてきますが、
こちらは即レス関係なく割と早めに気づきたいものです。

スマフォのGmailアプリには、確かに通知機能はあるのですが
これが新着メール何でもかんでも通知してきてちょっとウザかったりします。
逆に脳内でフィルタリングして見えてしまうようになるので、
通知が来てても気づかないとか、あると思います。

指定のアドレスから送られたものを通知させる

で、ここでIFTTTなわけですよ。

IFTTTのGmail連携を利用して
Gmailの特定のラベルが付く新着メールが来たら
・スマフォへ通知
と設定すれば実現させることができます。

つまり、Gmailのフィルタでfromが
@i.softbank.jp @softbank.ne.jp @docomo.ne.jp @ezweb.ne.jp
などのものにラベルをつけて
IFTTTでそのラベルのメールが新着にあれば通知すればよいのです。

勘の良い方はお気づきになると思いますが、別にケータイでなくても
フィルタ条件が決まればどんなアドレスでも通知することができます。

実際の手順の前に、過去のIFTTT記事の紹介

IFTTTの初期設定などはコチラを参考にしてください。

ryoichi0102.hatenablog.com

実際の手順 (Gmail側)

設定へ

Gmailにログインして、歯車マークから"設定"をクリック。

f:id:ryoichi0102:20160405143313j:plain

新しいフィルタの作成

"フィルタとブロック中のアドレス" タブをクリックし、
"新しいフィルタを作成" をクリック。

f:id:ryoichi0102:20160405143323j:plain

フィルタの検索条件の設定

ここで、"フィルタ" の "含む" 欄に
from: {"@i.softbank.jp" "@softbank.ne.jp" 〜略 }
と入力して "この検索条件でフィルタを作成" をクリック。

f:id:ryoichi0102:20160405143356j:plain

ラベルを付ける

"ラベルを付ける" に任意のラベル名を入力し(ここでは"IFTTT"とした)
フィルタ作成をクリック。

f:id:ryoichi0102:20160405143517j:plain

これでGmail側の設定はOKです。次はIFTTT側です。

f:id:ryoichi0102:20160405143647j:plain

手順 (IFTTT側)

以前の記事ではスマフォでの設定をキャプチャしていましたが
今回はWebでの設定を紹介してみます。
どちらからでも出来ます。

ログイン後に右上の [ユーザー名]▲ から Createをクリックします。

f:id:ryoichi0102:20160405194434j:plain

this のリンクをクリックしてトリガー設定へ進みます。

f:id:ryoichi0102:20160405194515j:plain

Choose Trigger Channelではテキストボックスからgmailを検索して
アイコンをクリックします。

f:id:ryoichi0102:20160405194554j:plain

初めてIFTTTから連携する場合はアクセス許可を承認しておく必要がありますので
Connect をクリックします。

f:id:ryoichi0102:20160405194629j:plain

アクセス許可の画面が出ますので 許可 をクリックです。

f:id:ryoichi0102:20160405194718j:plain

これでIFTTTがGmailへアクセスする許可をしました。
Done をクリックします。

f:id:ryoichi0102:20160405194753j:plain

IFTTTの画面に戻ったら Continue to the next step をクリックします。

f:id:ryoichi0102:20160405194832j:plain

Gmailの中でも色々なトリガーが設定できます。

・Any new email in inbox:すべての新着メール(これを通知目的で使うならそもそもGmailアプリの通知で良さそうですね^^)
・Any new attachment in box:添付のある新着メール(Dropboxに自動保存とかしたい場合に使うのでしょうかね)
・New email in inbox from:指定の送り元からの新着メール(このオプションはfromが複数指定できないので、今回ラベルをTriggerに設定することにしています)
・New starred email in inbox:スターの付く新着メール(Gmailのスターが信用できる場合はこれでも良いかも知れませんね)
・New email in inbox labeled:指定したラベルの付く新着メール(今回はこれです)
・New email in inbox from search:指定の検索クエリに引っかかる新着メール

ということで、真ん中下部の New email in inbox labeled をクリックします。

f:id:ryoichi0102:20160405194859j:plain

ラベル名を指定します。
前述の手順では IFTTT とという名前でGmailのラベルが付くようにしたので
ここではIFTTTを指定しています。
Create Trigger をクリック。

f:id:ryoichi0102:20160405195359j:plain

次は通知の設定ですね。 that をクリック。

f:id:ryoichi0102:20160405195452j:plain

Choose an Action にて Send a notification をクリック。

f:id:ryoichi0102:20160405195516j:plain

Complete Action Fieldsにて通知センターに表示されるメッセージを指定します。
キャプチャはデフォルトのままです。
Create Actionをクリック。

f:id:ryoichi0102:20160405195539j:plain

this/thatの設定を確認して、Create Recipeをクリックします。 

f:id:ryoichi0102:20160405195629j:plain

Recipe createdが表示されれば作成完了です。

f:id:ryoichi0102:20160405195708j:plain

 

テスト

誰かにケータイメールでも送ってもらいましょう^^
もしくは違う条件で作ったフィルタとIFTTTのレシピを設定して
初回の検証を行っても良いですね。

私はGmail側でラベルを少し工夫してPCからテスト送信してみました。

f:id:ryoichi0102:20160405195801j:plain

1分経たずに通知がきましたよっと。

 

他の関連過去記事の紹介です

ryoichi0102.hatenablog.com

ryoichi0102.hatenablog.com