MacroDroid で外部のサーバーに Android スマホ通知を HTTP GET で送る自動化をするメモです。
今回のAndroid
- Android バージョン
- 11
- 機種
- Google Pixel 4
MacroDroid
MacroDroidはいろいろなタスクを自動化してくれるツールです。プログラムを書くことなく NoCode でスマホの自動化ができます。
MacroDroid – デバイス自動化 – Google Play のアプリ
説明文でも紹介されている通り、
MacroDroidは、タスク自動化で実行したり、設定を適用したり、強力なアプリです。シンプルなUI (画面操作や画面構成) や、1つずつ順番に設定していくウィザード方式を取り入れて、使いやすさを重視しています。
MacroDroidで自動化の例:
特定のアプリを起動したときに、WiFiをONにする、そのアプリを閉じた時にWiFiをOFFにする。
指定したSMS受信に応答して現在位置を自動返信する。
電源ボタンの操作検知で、現在の時刻を読み上げます(ポケットから出さずに…)。
NFCタグを使用して、機器本体を設定します(BluetoothをONにして音量を設定など)。
といった複雑な処理を以前のように root 化しなくても作成できます。
やりたいこと
外部のサーバーに Android スマホ通知を送るために以下のような設定にします。
赤の部分はトリガーできっかけをつくり、青のアクションで何かを実行します。今回は、トリガーはアプリの通知が表示されたときがきっかけで、HTTP GET リクエストのアクションが行われます。
トリガーを設定
マクロを追加ボタンをクリックします。
このように、トリガーもアクションも未設定の状態で設定がはじまります。トリガーをクリックします。
トリガー一覧 > 機器のイベント >通知 をクリックします。
通知が表示された時を選んでOKをクリックします。
アプリを選択(複数可)をクリックしてOKをクリックします。
通知したいアプリを選んでOKをクリックします。
テキストコンテンツは指定なし、常駐表示の通知を無視するはチェックして、正規表現を使用する・複数トリガーの発生と1つとして扱うのチェックは外します。
設定が終わったらOKをクリックします。
アクションを指定
アクションをクリックします。
アクション一覧 > アプリ > Web サイトを開く / HTTP GET をクリックします。
Web サイトを開く / HTTP GET の詳細が表示されます。URLを入力の欄には以下のように記述します。
<送りたいURL>?type=mobile_notification&name=[not_app_name]&detail=[notification]&title=[not_title]&device_name=[device_name]&device_model=[device_model]
<送りたいURL>
は自分の送りたいURLに置き換えてください。
[not_app_name]
- アプリの名前
[notification]
- 通知の詳細
[not_title]
- 通知のタイトル
[device_name]
- デバイス名
[device_model]
- デバイスのモデル
という情報を付与してくれるので GET のパラメータに仕込んでやります。 type=mobile_notification
の部分は、サーバーで受け取った後に判別しやすくなるように type で決めています。
ちなみに、[not_app_name]
のようなイイ感じにデータを取ってきてくれるものは、上記の赤枠で囲われたボタンを苦リクすると呼び出せます。
気になる方は、ほかのオプションも試してみてください。
URLを設定出来たら、エンコード・パラメーターURL・HTTP GET (Web ブラウザ不使用)をチェックします。
設定出来たらOKをクリックします。
設定を試す
これで設定完了です。
マクロ一覧に戻って、今回のマクロを長押ししてみます。
アクションを試すを押すと、設定値はダミーのままデータを送信を試せるので便利です。
たとえば、このように、Node-RED でデータを受け止めて Discord に送っているものの例です。[not_app_name]
の部分が置き変わらず、データ内容を受け付けることができます。めっちゃ検証しやすいです。
この設定、自分で重宝して使っていて、いろいろな自動化に応用しています。
プログラムを書くことなく NoCode でスマホの自動化ができる MacroDroid ぜひ試してみてください!