Discourse iOS アプリでいくつかのフォーラムを設定しており、それらすべてから通知を受け取れるようにしています。Discourse アプリはホーム画面にあるため、そこに赤い数字が表示されます。
しかし、厄介な問題があります。通知をクリアしても赤い数字が消えないのです。実際に通知をクリアするには、フォーラム選択画面に戻らなければなりません。
再現手順:
- Discourse iOS アプリで少なくとも 2 つのフォーラムに登録します。
- そのうちの 1 つで通知を受信します(これで iOS のホーム画面のアプリに赤い数字が表示されます)。
- Discourse iOS アプリをタップします。フォーラムのいずれかに通知が表示されます。
- そのフォーラムをタップし、右上の通知数(数字)をタップして「すべてDismiss」を選択します。これで Discourse 側では通知がクリアされたことになります。
- フォーラム選択画面に戻らずに、iOS のホームボタンを押す(または画面下部から上にスワイプする)ことで、iOS のホーム画面に戻ります。
期待される動作:フォーラム上で通知をクリアしたのだから、アプリの赤い数字も消えるはずです。
実際の動作:赤い数字は消えません。再度アプリをタップすると、通知のないフォーラムに戻ります。右下の矢印を使ってフォーラム選択画面に戻り、そこで通知リストが更新されます。フォーラム選択画面の数字が消えて初めて、赤い数字も消えます。
もし、フォーラムの WebView が Discourse アプリ内で表示されていることに気づき、フォーラム上で通知がクリアされた場合にアプリへメッセージを送信し、バックグラウンドでそのフォーラムの通知数を更新させることができればと思います。