見出し画像

iOSエンジニアがAndroidアプリをリリースするまで7 〜通知〜

通知はアプリの継続的な利用を促すために重要なコンテンツだとよく言われます。

しばらくアプリを使っていなかったユーザーを引き戻すために使うようです。

編み物カウンターのAndroid版で通知を実装したのでそのことを書きます。


編み物カウンターの通知

編み物は往復で編むにしろ、円に編むにしろ、段数を数えながら編みます。毎段毎段同じ編み方のこともあれば、特定の段の時だけ模様を変えてみたり、毛糸の色を変えてみたり、ちょっと違うことをすることがあります。

そんなときに、「次の段は毛糸の色変えてね〜」とかお知らせしてくれると大変ありがたいんです。

特に、ずーっと同じような編み方を続けてると、ついついボーッと編んで、毛糸の色を変えるのを忘れてしまったり。。。

高速道路を走ってて、気付いたら降りる出口をすぎてた。みたいな感じ。多分。。。

Androidの通知〜channel〜

今回、初めてAndroidの通知を勉強して知ったのが、channel。
通知の種類分けと言ったイメージでしょうか。

Android8以上ではchannelの指定が必須です。

ユーザーはアプリ単位で通知の許可/非許可の切り替えだけでなく、channel単位で通知の許可/非許可の切り替えができるようになります。

ユーザーは自分が必要だと思う通知だけをオンにすればいいんですね。

アプリによってはいろいろな通知を表示するものがあると思いますが、そのようなときにユーザーが必要だと思うものだけをピックアップできるというのは大変ありがたいですね。

ただ、大前提として、通知を適切に分類してchannel化し、通知発行時に適切なchannelを割り当てることが必要です。

これが適切に行われていないと折角の仕組みも意味がありませんね。

この辺はAndroidの公式ドキュメントが大変わかりやすいです。
また、QiitaのOreoでNotificationを表示させる方法も大変わかりやすいです。
特に、Notification, Notification Channels, Notification Managerの関係がわかりやすいです。

ちなみにiOS

ちなみに、iOSはアプリ単位での許可/非許可しかできません。

この辺、iOSも取り入れてもいい気がしますが。

「結局ちゃんと実装できないだろうからやらない」という感じでしょうか。

Compat

compatibilityの略だそうです。
NotificationCompatで登場。

いい感じに下位互換してくれるみたいです。

びっくりしました。

OSのアップデートのたびに機能が追加されていってもNotificationCompatを使っていれば下位互換してくれるという分けです。

この辺もiOSではあまりみられない印象。

Androidアプリの開発もするようになって、iOSと比較する機会ができたのはいいことだと思いました。

参考ページ
通知の概要
OreoでNotificationを表示させる方法

この記事が気に入ったらサポートをしてみませんか?