はじめに
Flutterでプッシュ通知を行わせる場合、以下のライブラリを組み合わせると簡単です。
flutter_local_notificationsを使用すると、iOSではアプリのアイコンが通知画面に表示されるので楽なのですが、Androidで動かすと、ただのグレーの丸でしか表示されません。
このグレーの丸をもう少しいい感じのアイコンに変える方法はないものでしょうか?
探したら見つかりましたので以下に記しておきます!
プッシュ通知のアイコンの作成
ここに記載があります。
Android 5以降、OSは、アプリがAndroid API 21+をターゲットにしている場合、小さな通知アイコンをすべて白に強制します。正しいアイコンを作成しないと、ほとんどの場合、ステータスバーにベルまたは白一色のアイコンとして表示されます。
つまり通知バーに出てくるアイコンは白黒である必要があります。
白黒アイコンを作る
通知バーは高さが低いので、解像度の高いアイコンを作る必要はありません。
手順はこんな感じです。
- IconFinderにアクセスしてめぼしいアイコンを探してくる。
- 背景が透明ではない場合は、Peko Stepを使って背景を透明にする。
- Android Asset Studioにアクセスし、Notification icon generatorを選ぶ。
SourceでImageを選択して作成した白黒のアイコンを選択します。
- zipファイルをダウンロードすると、このようなフォルダ構成になっています。
中に画像ファイルが入っているので、drawable-(解像度)
にある画像ファイルをapp/src/main/res/mipmap-(解像度)
のフォルダにコピーします。
flutter_local_notificationの呼び出し方
それぞれ画像ファイルがコピーできたら、
var initializationSettingsAndroid = new AndroidInitializationSettings( '@mipmap/(画像ファイル名(拡張子不要))');
とAndroidInitializationSettings
を初期化することで、プッシュ通知にアイコンが表示されるようになります。
お役に立てたでしょうか?