はいしばらくです。
ネタが無いわけではないんですけど、色々あるネタがあまりにもとりとめが無さ過ぎてまとまらなかったので、今回は小ネタでお茶を濁します。
LINE使ってますか?
色々言われがちではありますが、なんだかんだ言って結局みなさんつかってますよね?
そのLINE、「着信したメッセージを他の端末に転送したい」という要望は結構多いようですね。
見たところ色々方法はあるようなんですけど、私はアホみたいに簡単な方法で最低限をザックリ実現しているのでその方法をご紹介します。
もうこの流れならだいたいわかると思いますが、使うのはコレ。
MacroDroid - デバイス自動化 - Google Play のアプリ
「スタンプ」とか「写真」とかそういうのはこの際無視して「メッセージのテキスト」限定ですが、一言で言うと、「メッセージを着信したときのLINEの『通知』を取得してそれをWebhooksで他の端末に(プッシュ通知っぽく)送る」という話です。
方法としてはこの一文につきるので特に詳細な解説不要な気はしますが、一応簡単なサンプルは載せておきます。
まず転送メッセージの「受信側」から。
転送されたメッセージを受信する端末上で、MacroDroidで下記のマクロを作ります。
(こちらの端末にLINEは有っても無くても問題ありません。)
ローカル変数でWebhookで送られてきたパラメータを格納する文字列変数を作っておきます。
ここでは仮に「line_from」と「line_message」の2つを用意しました。
トリガーは
[接続]
→Webhook (URL)
です。
「識別ID」はとりあえず「LINE」にしておきます。
「短縮URL」はあとで使うので控えておきます。
(黒塗りの部分は端末固有の「デバイスID」です。)
あとはアクションの「通知」で先ほど作った2つのローカル変数を表示する処理を用意してやればOKです。
この辺はお好みでどうぞ。
次に転送メッセージの「送信側」です。
LINEで着信したメッセージを送信する端末上で、同じくMacroDroidで下記のマクロを作ります。
(こちらの端末のLINEに着信したメッセージを他の端末に転送します。)
トリガーは
[機器の動作]
→通知
→通知が表示されたとき
→アプリを選択(複数可)
→「LINE」を選択してチェック
メッセージ着信のたびに転送したい人は「複数トリガー時は初回のみ」のチェックを外しておくとよいと思います。
「メッセージが来た」ということだけわかればいい人はチェックしたままの方がよいかもしれません。
使い方に合わせて試してみると良いと思います。
アクションは
[アプリ]
→Webサイトを開く
で、先ほど控えた受信側の短縮URLを含めた「呼び出し用URL」を組み立てて入れます。
送るパラメータはURLの後ろに「?」を付けて加えます。
複数のパラメータがある時は「&」で結びましょう
パラメータ名は受信側で作ったローカル変数に合わせます。
「(デバイスID)」の部分は短縮URLのものをそのまま使用します。
(今回の場合の例)
https://tinyurl.com/(デバイスID)/LINE?line_from={not_title}&line_message={notification}
(↑表示の都合上「:」を全角にしてあるのでこのままコピペしないでください。)
ここで使われている「{not_title}」と「{notification}」は「マジックテキスト」というやつで、この場合はそれぞれトリガーとなった通知の「タイトル」「本文」が自動的に入ります。
(URL入力部右の青い四角ボタンを押すと選択して入力できます。)
LINEの場合は「タイトル」が「送信者名」で「本文」が「メッセージ本体」ということになります。
「URLエンコードパラメータ」のチェックは入れたままで、「HTTP GET (Webブラウザ不使用)」のチェックは入れておきます。
(間違えてたので修正しました。)
基本的にはこれだけです。
「送信側」にLINEのメッセージが着信した時に「受信側」に「送信者名」と「メッセージ」が送られて、「受信側」の通知が表示されます。
ただし、このままだと一回の着信で何故か複数回送信されてきたりすることもあるので、その辺は送信側で「送信者とメッセージの両方が全く同じときは転送しない」などの処理も必要に応じて入れた方が良いかと思います。
(Webhook送信の失敗もあるのでリトライの仕組みも考えた方が良い。)
あと、私の場合は「仕事用」の端末から「個人」の端末に転送しているので、「送信者」や「特定のキーワード」などでフィルタをかけたり「転送される時間帯」を限定するなどの処理を加えています。
大事な用事以外はスルーと言う話ですね。
その場合でも「特定のキーワード」を含むものに限り転送とかできますし。
あくまで「メッセージ(のテキスト)」を他の端末で確認できるってだけで送信や返信は「元の端末」でやってくださいって話ですし、スタンプや写真/動画なども直接は来ませんけど、「メッセージが来た」ということがわかるという程度で私の場合はそれなりに役に立っています。
元々「いかにプライベートに仕事を割り込ませないか」というコントロールの一環でもあったので。
ネットで検索すると結構色々な方法で「転送」を実現されているように見えるんですけど、このMacroDroidを使った方法だと「簡単」で「応用が利く」ので、「個人」と「仕事」で分けている人にはお勧めなんじゃないかと思います。
理屈の上ではLINEに限らずSlackでも同じようにできますし「通知が出るものなら大概OK」って話なんですけどね。
ということでLINEとMacroDroidの小ネタでした。