-
Notifications
You must be signed in to change notification settings - Fork 0
3.通知
昨年末に android developer blogで公開された新しいルール
https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html
Google play storeでは今年の8月からtargetSdkVersionが26以上でないと、アプリをリリースできなくなりました。
既存アプリのアップデートの場合は11月の猶予があるとはいえ、targetSdkVersionを26にしなければ、アプリのアップデートが出来なくなります。
その際最も実装に影響するものが通知です。
よくある勘違いですが、プッシュ通知だけが通知だけではありません。ユーザーが目にするプッシュ通知は、実際にはプッシュ通知を受けた際にユーザーに知らせるためにプログラム上でOSが用意している通知のためのUIを利用して表示されたものです。
サーバからのイベントを受信して、通知を表示する事をプッシュ通知と呼びますが、通知の種類には他にもアラームや監視の仕組みをトリガーにして表示されるものもあります。ユーザーがボタンを押したら通知を表示する、という事も出来ます。
このセッションではプッシュ通知ではなく、通知を表示するための基礎的な実装を紹介します。
長い歴史の中で多くの仕様変更がありました。安全に通知を利用するためにはNotificationCompatというクラスを利用します。
このクラスを利用することで、OSのバージョンごとの差異が吸収され、新しいOSでしか利用できない機能については無視してくれるようになっているので、安全に通知を表示することができます。
NotificationChannel, NotificationChannelGroupの登録が必須になりました。
アプリ起動時などに予め、通知チャンネルや必要であれば通知チャンネルグループ(任意)の登録をする必要があります。
その後の通知の表示方法はこれまでとほんと同じですが、通知を表示するためには、事前に作成した通知チャンネルのidを指定する必要があります。
API Guide https://developer.android.com/guide/topics/ui/notifiers/notifications.html?#ManageChannels
Design Guideline https://material.io/guidelines/patterns/notifications.html