MacroDroid で外部のサーバーに Android スマホ通知を HTTP GET で送る自動化をするメモ

MacroDroid で外部のサーバーに Android スマホ通知を HTTP GET で送る自動化をするメモです。

今回のAndroid

  • Android バージョン
    • 11
  • 機種
    • Google Pixel 4

MacroDroid

MacroDroidはいろいろなタスクを自動化してくれるツールです。プログラムを書くことなく NoCode でスマホの自動化ができます。

MacroDroid – デバイス自動化 – Google Play のアプリ

image

説明文でも紹介されている通り、

MacroDroidは、タスク自動化で実行したり、設定を適用したり、強力なアプリです。シンプルなUI (画面操作や画面構成) や、1つずつ順番に設定していくウィザード方式を取り入れて、使いやすさを重視しています。

MacroDroidで自動化の例:

特定のアプリを起動したときに、WiFiをONにする、そのアプリを閉じた時にWiFiをOFFにする。

指定したSMS受信に応答して現在位置を自動返信する。

電源ボタンの操作検知で、現在の時刻を読み上げます(ポケットから出さずに…)。

NFCタグを使用して、機器本体を設定します(BluetoothをONにして音量を設定など)。

といった複雑な処理を以前のように root 化しなくても作成できます。

やりたいこと

外部のサーバーに Android スマホ通知を送るために以下のような設定にします。

image

赤の部分はトリガーできっかけをつくり、青のアクションで何かを実行します。今回は、トリガーはアプリの通知が表示されたときがきっかけで、HTTP GET リクエストのアクションが行われます。

トリガーを設定

image

マクロを追加ボタンをクリックします。

image

このように、トリガーもアクションも未設定の状態で設定がはじまります。トリガーをクリックします。

image

トリガー一覧 > 機器のイベント >通知 をクリックします。

image

通知が表示された時を選んでOKをクリックします。

image

アプリを選択(複数可)をクリックしてOKをクリックします。

image

通知したいアプリを選んでOKをクリックします。

image

テキストコンテンツは指定なし、常駐表示の通知を無視するはチェックして、正規表現を使用する・複数トリガーの発生と1つとして扱うのチェックは外します。

設定が終わったらOKをクリックします。

アクションを指定

image

アクションをクリックします。

image

アクション一覧 > アプリ > Web サイトを開く / HTTP GET をクリックします。

image

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 で決めています。

image

ちなみに、[not_app_name] のようなイイ感じにデータを取ってきてくれるものは、上記の赤枠で囲われたボタンを苦リクすると呼び出せます。

image

気になる方は、ほかのオプションも試してみてください。

image

URLを設定出来たら、エンコード・パラメーターURL・HTTP GET (Web ブラウザ不使用)をチェックします。

設定出来たらOKをクリックします。

設定を試す

image

これで設定完了です。

image

マクロ一覧に戻って、今回のマクロを長押ししてみます。

image

アクションを試すを押すと、設定値はダミーのままデータを送信を試せるので便利です。

image

たとえば、このように、Node-RED でデータを受け止めて Discord に送っているものの例です。[not_app_name] の部分が置き変わらず、データ内容を受け付けることができます。めっちゃ検証しやすいです。

この設定、自分で重宝して使っていて、いろいろな自動化に応用しています。

プログラムを書くことなく NoCode でスマホの自動化ができる MacroDroid ぜひ試してみてください!