カテゴリー : 2017年 10月

Android端末で受信したLINE通知をiOS端末にも通知させる

普段はXperiaでLINEを受信しているのですが、たまに持ち出し忘れたり
するとメッセージに全く気が付かないので、他の端末で新着通知だけでも
飛ばす方法を探しました。
とりあえず動いているので備忘録として書いておきます。

1.処理全体の流れ
1.Androidの通知のうち、LINEのみをより分けてEventを起こす。(Tasker)
2.EventをiOS端末へPush通知する(Pushbullet)

2.セットアップ
1.Pushbulletのインストールと動作確認
Android,iOS端末両方にPushbulletをインストールし、相互にメッセージを送って
Push通知が届く事を確認します。 iOSで通知が来ない時は一度サインアウトしてから
やり直すとうまくいきます。
(Pushbulletには通知ミラーリングという機能がありますが、これはAndroidからPCに通知を送る機能で
iOS端末へは通知が遅れないので今回は使用しません。)

2.TaskerのインストールとEventの設定
(1)Android端末にTaskerをインストールし、初期設定(通知の許可・ユーザ補助の許可)をしておきます。
(2)TASKSの+ボタンを押し、適当に名前をつけた後Actionを追加します。
ActionはPluginのPushbulletを選択します。
(3)Action Editの画面でConfigrationの左にある鉛筆マークを選び、Pushbulletの通知設定をします
Toに対象となるiOS端末を入れ、タイトルに「LINE:%evtprm2 %evtprm3」と入力
メッセージは特に設定せずチェックマークをいれて戻ります。

(4)Taskditの画面に戻ったら通知をプッシュという表題でActionが追加されていると思いますので
左下の再生ボタンを押し、iOSへ通知が飛ぶかを確認します。
(スクショは2件表示されていますが、これは2台設定しているので1台だけならば1件表示されます)

この時点で以下のような通知がiOSへ飛べばOKです。

(5)PROFILESの+ボタンを押し、EventのUIにあるNotificationを選択します。
(6)Event Edit画面でOwner ApplicationとしてLINEを選択します。他は空欄でOKです。

(7)矢印で戻るとTASKを紐付けろと言われますので、先程作ったタスクを指定します。

(8)ハンバーガーメニューからExitを選びTaskerを一度閉じて再度開きます。
(これを行わないとTaskが反映されない事があるようです。)

3.動作確認
Android端末をスリープにして、他の端末からメッセージを送ってみます。
以下のような形でiOS端末に通知が飛べば成功です。

Androidの柔軟性に全力で助けられる形で機能を実現しています。
こういう細かい所に手が届くのをみるとやっぱりAndroid端末便利だなぁと思います。
iOSは逆に何もさせないことで安定性を担保しているので、こちらはこちらで運用が楽ですね。

・補足
%evtprmはNotificationの内容が変数として入ります。%evtprm2がタイトル、%evtprm3が内容です。
・以下試して駄目だったこと
IFTTTをトリガして通知をとばす。
両端末にIFTTTをインストールし、ifにAndroid Notication、thenにIFTTT Notificationを設定して
通知を飛ばす方法。これは個別の通知を選べないのでAndroidの通知が全て飛んでしまい綺麗ではありませんでした。
LINEもIFTTTに対応しているので細かく設定出来るかなと思ったら、ifには一切設定出来ないので意味がありませんでした。