スマホアプリの通知機能は便利で有益である反面「この通知はいらない」と感じる局面が多く、その割にアプリ側で細かな通知のオンオフ設定はできない場合がほとんどです。DoNotNotifyはアプリ外から通知の許可・拒否を細かく設定できるAndroidアプリです。

anujja/DoNotNotify: DoNotNotify app

https://github.com/anujja/DoNotNotify

◆特徴

公式GitHubによるとDoNotNotifyの特徴は以下の通りです。

・通知ブロック:AndroidのNotificationListenerServiceを使用して通知をリアルタイムでブロック

・柔軟なルール:拒否リスト(一致する通知をブロック)・許可リスト(一致する通知のみ許可)

・パターンマッチング:単純な部分一致や正規表現パターンを使用して通知のタイトルや本文と照合

・時間指定ルール:特定の時間帯にのみ有効になるようルールをスケジュール設定可能

・プリセットルール:ECプロモーション・SNSなど人気アプリ向けに40種類以上の事前設定済みのルールを用意

・自動インストールルール:対応アプリをインストールすると関連する事前設定済みルールが自動的に追加

・通知履歴:保存期間をカスタマイズして受信したすべての通知を確認可能

・ブロック履歴:どの通知がどのルールによってブロックされたかを追跡可能

・インポート・エクスポート:ルールをJSONファイルとしてバックアップ・復元可能

・完全オフライン:ネットワーク権限不要・データ収集なし

◆インストール

公式GitHubには特に説明はありませんが、DoNotNotifyはGoogle Playストアからインストールできます。

DoNotNotify - Google Playアプリ

https://play.google.com/store/apps/details?id=com.donotnotify.donotnotify&hl=ja

Google PlayでDoNotNotifyのページを開き、「インストール」のボタンをタップします。



インストールが完了すると「開く」ボタンが表示されるのでタップします。



インストール直後は権限の設定が行われていないため「Permission Required」という画面が表示されるので、「Enable Notification Access」をタップします。



「通知の確認、返信、管理」画面が表示されるので、「DoNotNotify」をタップします。



「通知へのアクセスを許可」をタップします。



すると「危険」という警告画面が表示されます。通知を読み取り可能にすると、状況によってはセンシティブな通知を読み取られる可能性があるためです。「私は起こりうるリスクを認識し、その結果として起こりうる結果を自発的に受け入れます。」のチェックをオンにしてから「OK」をタップします。



「通知の確認、返信、管理」画面に戻るので「アプリをすべて表示」をタップします。



「デバイスに表示するアプリ」画面で、センシティブな通知を行う可能性のあるアプリを外しておきます。



◆起動

インストール直後の様子は以下の通り。上部にある3つのタブのうち「History」を選択したのと同じ状態になっています。



しばらく経過していくつかの通知を拾った様子。



上部にある3つのタブのうち「Rules」を選択すると、初回表示時はプリセットルールのうちスマホにインストールされているアプリに該当するルールをインストールすることを示す「Rules Added Automatically」ポップアップが表示されるので「OK」をタップします。



Rulesタブにはインストールされているルールの一覧が表示されています。



上部にある3つのタブのうち「Blocked」を選択すると、ブロックされた通知の一覧が表示されます。以下の画像はインストール直後のためまだブロックした通知がない状態です。



画面右上の歯車アイコンをタップすると「Settings」画面に移動します。



「Settings」画面には以下の項目があります。

・履歴保持期間(日数指定)

・ルールのエクスポート・インポート

・寄付とサポート

・問題点の報告



◆ルールの登録

「Rules」タブの下部にある「Add a New Rule」ボタンをタップしたところ、「How to Add a New RUle」ポップアップが表示されました。新規ルールを追加するには「History」タブで行う必要があるとのこと。



「History」にある通知履歴のうち、近隣ではありながらあまり参考にならない天気の通知がありましたので、これを非通知にしてみます。



対象の通知をタップすると「Notification Details」ポップアップが表示されるので「Create Rule」ボタンをタップします。



「Add a New Rule」ポップアップが表示されるので、ルールを設定していきます。

・DENYLIST・ALLOWLIST:拒否リストか許可リストか

・Title Filter:フィルターするタイトル文字列(プレーンテキストか正規表現かを選択可能)

・Text Filter:フィルターする通知文字列(プレーンテキストか正規表現かを選択可能)



「Advanced Configuration」をタップするとさらに以下を設定可能なポップアップが表示されます。

・Elable Rule:ルールを有効にするかどうか

・Enable Tile Limit:ルールに有効期限を設定するかどうか



「時計」の通知も不要だったので拒否リストに登録します。



「Rules」を確認すると追加したルールが一覧に表示されていました。



しばらく放置して「Blocked」を確認してみると追加したルールによってブロックされた通知の一覧が表示されていました。



ルールがどう適用されるのかをいろいろ確認していて感じたのは以下の2点です。

・正規表現でフィルターするのは難しく試行錯誤が必要となる可能性がある。

・プリセットルールは通知が日本語化しているせいで使えない場合が多い。

◆まとめ

DoNotNotifyはルール設定の段階で調整の試行錯誤が必要となる場合が多々ありますが、不要な通知が多すぎて困っている方は使ってみる価値があるので是非お試しください。