やったこと
NotificationChannel と NotificationChannelGroupをざっくり登録&更新するライブラリを作りました。
github.com
モチベーション
Android OからNotificationChannelとNotificationChannelGroupですが、現行の実装だと次の2点がイケてないと思ってます。
実際のアプリケーションを開発していると、最低APIが21(場合によっては19? それ以下もあるところにはあるんですかね……)で開発することになると思います。 かつ、通知チャンネル対応を行うとするとアプリのバージョンアップ時に更新処理として追加しなければなりません。 その辺りの処理をアプリごとに書くのがめんどくさいなぁ……というのが、開発動機になります。
ライブラリがやること
-Intent.ACTION_LOCALE_CHANGED
を監視し、端末の言語設定が切り替えられたとき、新たな言語でリソース取得を行い再設定(表示言語の更新)を行います
- assets/easynotificaitonchannel/group.json
とassets/easynotificationchannel/channel.json
に記載された情報を読み込み、NotificationChannelとNotificationChannelGroupを生成します
- アプリのバージョン更新がされたとき、上記の設定を再読込し追加/削除処理をします
- 内部で端末のOSバージョンを確認し、N以下では処理を走らせないことでアプリクラッシュを防ぎます
その他
初めてライブラリを作ったり公開してみたので、よければ使ってみたり「こっちのほうがいい!!!」とかコメント貰えたりすると嬉しいです。