どっこと備忘録群

アウトプットしないとインプットできない私が Androidアプリ開発をメインとした備忘録を載せています。

DroidKaigi 2018 - 開発者が知っておきたい通知の歴史 / kobakei [JA] を視聴した

視聴元

通知

  • 通知はユーザには重要な機能で頻繁に変更が入る
  • sdkバージョンの分岐が必要
  • 同じ実装でも見え方がosごとに違って動作確認が大変

大きな変更が4回入った

  • API 16 アクションとスタイル
  • API 21 マテリアルデザイン
  • API 24 バンドル リプライ
  • API 26 通知チャンネル

必須設定

  • title
  • Text
  • small icon
  • 背景透過、白塗り
  • ID

ほぼ必須

  • Color
  • デフォルト
  • pendingIntent
  • autoCancel
  • ticker

Largeアイコン

  • 画像ダウンロードを含む通知を表示時はサービス推奨
  • ブローキャストレシーバは時間がかかる処理には向かない
  • 非同期処理ジョブを使うと楽

バイブレーションパーミッション

  • 4.1までは必須
  • 4.2以降は不要

マテリアルデザイン

  • デザインが大幅に変わった

アクション

  • 通知につくボタン
  • 複数設定可能
  • 各アクションにインテント設定可能
  • api16以降のみ
  • アイコンは設定したほうが良い
  • ただしsvgが使えない

ダイレクトリプライ

  • api24以降
  • ラインとかスラックであるような、通知上で返信する機能

スタイル

  • 通知ビューの見た目を変える機能でapi16から使える
  • bigtextstyle 16
  • bigpicturestylemediastyle
  • decoratedmediacustomstyle

RemoteViewによる通知のカスタマイズ

  • セットコンテント
  • リモートビューを作ってセットする

Styleによる通知のカスタマイズ

  • DecoratedCustomStyle
  • DecoratedMediaCustomStyle
    • api24未満でも使える
  • これもリモートビューを作ってセット

Colorized

  • 重要な通知のみ背景色設定のみ設定可能
  • テキスト色は自動で決まる
  • 実装は複雑

通知チャネル

  • チャネルの順番はid文字列のソート順になる
  • プライオリティとインポータンス
    • これは両方設定すること

ベッドアップ通知

  • 表示ロジックがバージョンごとに違う
  • 重要度が高ければ表示される

ロック画面通知

  • API 21
  • ロック画面に通知を表示
  • 端末の設定次第
  • VISIVILITY:プライベート
  • setPublicVersion

バンドル通知

  • API 24
  • 複数の通知をまとめて表示
  • apiレベルの分岐が必要あり
  • サマリー通知が必要
    • セットグループサマリー
    • セットグループ

最終更新: 2025.6.14