2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

あなたのアプリは大丈夫?! 今すぐプッシュ通知のチャンネルを見直そう!!

Last updated at Posted at 2024-06-14

この記事を書いたきっかけ

ある日何気なく某アイスクリーム屋のアプリの通知の設定を確認したら、衝撃的なものを目にした!

31club_channel_name

channel_nameってなんだよ! クラス名を 31ClassName みたいにしているようなものじゃん!!

そもそもプッシュ通知チャンネルって?

プッシュ通知チャンネルは、Android 8.0(API レベル 26)で割り当てるようになったもので、通知をグループ化するためのもの。
この機能によってユーザーは「このアプリの大事な通知は受け取りたいな でも広告はいいや」といった設定が可能になる。

参考: https://developer.android.com/develop/ui/views/notifications/channels?hl=ja

集計してみた

さて他のアプリはどのように設定されるか気になったので集計してみた。
私のスマホに入っているアプリを集計したので偏りがあることはご容赦願いたい🙏

アプリ名 チャンネル名
Chrome 全般[ブラウザ,完了したダウンロード,アクティブなダウンロード,シークレットモード,再生中のメディア,ログイン認証,共有,全画面表示時のサイトの操作項目,カメラとマイクの使用]
Gmail (任意のメールアドレス)[メール] その他[その他,添付ファイルのダウンロード,添付ファイル] その他[デバイス間でのメールアカウントの移行,その他の通知,着信,参加リクエスト,不在着信,通話中,進行中の通知に関する変更,データダウンロードの通知チャンネル]
LINE 通話[着信,進行状況,アクティビティ] その他[友達リスト,一般通知,グループへの招待,LINE Pay,メッセージ通知,オープンチャットのアクティビティ,LINE Things,LINE VOOM通知]
UNIQLO メッセージ
やまなか家 Miscellaneous, High Importance Notifications
クラシル お得な情報,クラシルからのおすすめ,その他,おすすめレシピ
モスバーガー General,モスフードサービス
ピッコマ AudioBook Player,お知らせ通知,¥0+券回復通知,「待てば¥0チャージ完了通知」,ダウンロードの進捗表示
Udemy 背景ビデオ,学習リマインダー,ダウンロード,特別キャンペーン,ビデオのダウンロード,General
Slack Slack
Amazon ショッピング Notifications
薬王堂公式アプリ Miscellaneous,Default channel
DCM アプリからの通知,アプリからのすべての通知,アプリからのお知らせ
Spotify Spotify,再生,Spotify Music
ローソン お知らせ配信, Miscellaneous
えきねっと ご案内情報,予約情報
Bluesky その他
セブン-イレブン SEJ Notifications,セブン-イレブン
ツルハドラッグ アプリからのすべての通知
31Club 31club_channel_name,Miscellaneous
Coke ON Miscellaneous,重要通知,通知
メルカリ メルカリ,General
ジョーシン Default,Silent,Vibrate
吉野家 Miscellaneous
英語の友 eigonotomo
楽天ペイ Default,その他
ゲオ ゲオアプリからの通知
マイナポータル 通知
ミニストップ ミニストップ
PRINT Information from Cannon
Domino's Domino's
アニメイト お知らせ
マクドナルド デフォルト
ドスパラ Miscellaneous
ココウェブ お知らせ
Kindle Kindle
Notion Notion
PayPay PayPay
更新情報 その他,更新情報
Steam Local Notification Received,Remote Notification Receive

Miscellaneous ってなに?

調べてみるとFirebaseを使用しているときに自動的に生成されるみたいだ。

・android_channel_idがメッセージに含まれてなかった。そのためbackgroundでの通知ではアプリ内設定のデフォルト通知チャネルに通知されていた
・Manifestに設定するAndroidデフォルトの通知チャネルID default_notification_channel_idになぜかチャネルIDではなくチャネル名(文字列)が設定されていた
・そのため、Firebase側でMiscellaneous(その他)チャネルが自動的に生成されてこのチャネルに通知されていた

引用元: https://zenn.dev/96mame/articles/4c674704c63578

私がFirebaseを使って開発したアプリもMiscellaneousになっていた。
ちゃんと設定していないことがバレてしまった。

分析

やはりGoogleのアプリは構造化がされていて、チャンネルも細かく設定されていた。
みなさんのお手元のスマホでも確認してもらいたい。

さて、表を見てみるとアプリ名がチャンネル名になっているパターンがよく見られる。

アプリ名 チャンネル名
ミニストップ ミニストップ

しかしそのアプリからの通知であることは自明なのだからこれは冗長だと思う。意味のあるチャンネルに分けてそれぞれを適切に使うべきだ。
これはオブジェクト志向のクラスの命名にも言えることだが、 あまりにも範囲の広い名前だと使う側の人間は乱雑に使ってしまう。
このようなことを避けるためにも、あらかじめ設計段階で取り決めを行うべきだろう。
だが非機能要件の中でも地味な部分だから、なかなか取り組む人がいないのかもしれない。

ところでDCMのアプリは地味にひどいことになっていることをお気づきだろうか

アプリ名 チャンネル名
DCM アプリからの通知,アプリからのすべての通知,アプリからのお知らせ

開発チーム内でのコミュニケーションがうまくいっていないのか、重複しまくっている。
これは明らかなアンチパターンだ。

さいごに

プッシュ通知のチャンネルはあまりユーザーに意識されない部分かもしれないけど、細かい部分が積み重なってユーザーのUXに影響を与えることと思う。神は細部に宿るとも言うし気をつけていきたい。
ここまで読んでいただきありがとうございました。

この記事が面白いと思ったらいいね👍、RTをお願いします!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?