アプリアイコンバッジ

未読件数をアプリアイコンに表示

バッジは、ユーザーに伝えられる最小のメッセージです。読むための負担もありません。件数の設定、加算、クリアを、他のすべての配信と同じキャンペーンとカスタマージャーニーから行えます。

横に並んだ 3 台の iPhone のホーム画面。いくつかのアプリアイコンの角に赤い未読件数バッジが付き、残りのアイコンにはバッジが付いていない

80,000 社以上の企業に信頼され、エンゲージメントの拡大を支えています

バッジの全体像

バッジは 1 つの整数にすぎません。そこが最大の魅力です。バナーもサウンドも使わず、苦労して得た通知許可を消費することもなく、3 時間前にプッシュ通知をスワイプで消したユーザーにも効き続けます。作成画面や API からこの整数に対してできる操作は 3 つあり、実際にどこで表示されるかについて注意点が 1 つあります。

正確な件数

ios_badges: 5 を送ると、それまでの値に関係なくアイコンに 5 が表示されます。送った値がそのままユーザーに見える値になるため、サーバー側で正しい合計がわかっている場合に最適です。

+1 と -1

相対値を送れば、件数を自分で管理しなくても加算や減算ができます。SDK が端末上の値を内部の /setBadge エンドポイントへ送り返すため、Pushwoosh 側のカウンターは実際のアイコンと常に一致します。

0 でクリア

0 を送るとアイコンからバッジが消えます。アプリを開いたときにクリアするかどうかが、ユーザーに信頼される件数になるか、無視される赤い点になるかの分かれ目です。

iOS は統一、Android はランチャー次第

iOS のバッジは標準の aps.badge 値で、すべての端末で同じように表示されます。Android にはネイティブのバッジ API がないため、表示はランチャーに依存します。Pushwoosh は提供できない対応範囲をあるかのように示すことはしません。

設定できる項目

送信する内容件数の変化設定場所
整数(5)バッジをその値ちょうどに設定ios_badges / android_badges、または Badges フィールド
+1、+3現在の件数に加算同じフィールド。Android のプリセットでは +n も使用可能
-1現在の件数から減算同じフィールド。サーバー側での既読や削除に対応
0アイコンからバッジを削除同じフィールド、またはアプリ起動時
SDK の呼び出しアプリ内イベントからバッジを設定またはクリアiOS は setApplicationIconBadgeNumber、Android は PushwooshBadge
何も送らないプッシュ通知に含まれていたバッジ値を SDK が適用iOS の基本ケースではアプリ側のコード不要
Extension通知の表示前に件数を変更App Groups を使った PWNotificationExtensionManager
送信する内容
1 / 7
整数(5)
件数の変化
バッジをその値ちょうどに設定
設定場所
ios_badges / android_badges、または Badges フィールド
送信する内容
2 / 7
+1、+3
件数の変化
現在の件数に加算
設定場所
同じフィールド。Android のプリセットでは +n も使用可能
送信する内容
3 / 7
-1
件数の変化
現在の件数から減算
設定場所
同じフィールド。サーバー側での既読や削除に対応
送信する内容
4 / 7
0
件数の変化
アイコンからバッジを削除
設定場所
同じフィールド、またはアプリ起動時
送信する内容
5 / 7
SDK の呼び出し
件数の変化
アプリ内イベントからバッジを設定またはクリア
設定場所
iOS は setApplicationIconBadgeNumber、Android は PushwooshBadge
送信する内容
6 / 7
何も送らない
件数の変化
プッシュ通知に含まれていたバッジ値を SDK が適用
設定場所
iOS の基本ケースではアプリ側のコード不要
送信する内容
7 / 7
Extension
件数の変化
通知の表示前に件数を変更
設定場所
App Groups を使った PWNotificationExtensionManager

設定する場所

作成画面の Badges フィールド

Send-Push フォームとプッシュ通知のプリセットで、数値、+n、-n、0 を指定できます。キャンペーンごとの件数の扱いを変えるのに、リリースも開発者も必要ありません。

API の 1 キー

/createMessage の ios_badges と android_badges を指定します。iOS では、Apple が既に扱っているペイロードの aps.badge フィールドに値が反映されます。

SDK による適用と同期

SDK はアプリ側のコードなしで受信した値を適用し、/setBadge を通じてサーバー側のバッジ値を最新に保ちます。そのため +1 は正しい件数から加算されます。

カスタマージャーニーの中での役割

1 つの件数、複数のソース

バッジは既に送信しているメッセージの属性の 1 つなので、個別の連携設定は必要ありません。誰にプッシュ通知を送るかを決める同じカスタマージャーニーと同じ顧客プロフィールが、件数をいくつにするかも決めます。

残る問題は、何を件数の元にするかだけです。Message Inbox の未読合計をそのまま件数にすることもでき、サイレントプッシュならアラートなしで件数を動かせます。通常のモバイルプッシュ通知にも件数を載せられます。ジャーニーのゴールに置いたステップで 0 に戻します。

プレイヤーの不在中に 3 つの報酬が貯まる

報酬が付与されるたびにイベントが発生し、各イベントが +1 を加算するサイレントプッシュを送信します。音も鳴らず、ロック画面も点灯しません。夜にはアイコンに静かに 3 と表示されています。

ライブイベントが始まると、同じジャーニーが通知する価値のあるプッシュ通知を 1 通だけ送信します。どちらがきっかけでプレイヤーが戻ってきても、SDK は起動時にバッジを 0 にクリアするため、翌日の件数は正しい値から始まります。

活用シーン

バッジの効果は件数の密度に比例します。つまり、アイコンに載せる価値のある未読や保留中の項目が、アプリの中で実際に積み上がっていくかどうかです。カウンターを中心に設計されたアプリなら、追加コストなしで本物の再訪のきっかけが得られます。数えるものがないアプリでは、ユーザーに赤い点を無視する習慣をつけるだけです。

シーン数字の意味バッジが適している理由
モバイルゲーム:報酬、ライフの回復、イベント参加受け取れるものが 3 つ件数がもともとリテンションの仕組みの一部で、受け取ること自体が動機になる
クリエイター、サブスクリプションアプリ:新作公開、DM、コメント未読 12 件ソーシャルフィードは内部でこの数字を保持しているので、アイコンは表示するだけでよい
メディア、ニュース:未読記事、新着エピソード未読記事 5 件典型的な活用例で、読者を確実にセッションへ呼び戻す
EC、マーケットプレイス:カート内の商品、未読のオファーカートに 2 点買い物客の注意を一切奪わない、控えめなリマインダー
フィンテック:明細、アラート、対応待ちの手続き対応が必要な項目 1 件実際の未読書類の件数があり、ロック画面に詳細を出さずにアイコンで伝えられる
トレーディング、ベッティング:発動したアラート、確定したベットアラート 4 件アラートが積み重なり、ユーザーにとって意味のある数字になる
ヘルスケア、遠隔医療:検査結果、セキュアメッセージ検査結果が届きました件数はホーム画面に表示し、内容は認証の向こう側に留めておける
EdTech:未読のレッスン、連続記録、課題待っているレッスン 2 件連続記録やレッスンの待ち行列は、ユーザーが片付けたくなる数字そのもの
シーン
1 / 8
モバイルゲーム:報酬、ライフの回復、イベント参加
数字の意味
受け取れるものが 3 つ
バッジが適している理由
件数がもともとリテンションの仕組みの一部で、受け取ること自体が動機になる
シーン
2 / 8
クリエイター、サブスクリプションアプリ:新作公開、DM、コメント
数字の意味
未読 12 件
バッジが適している理由
ソーシャルフィードは内部でこの数字を保持しているので、アイコンは表示するだけでよい
シーン
3 / 8
メディア、ニュース:未読記事、新着エピソード
数字の意味
未読記事 5 件
バッジが適している理由
典型的な活用例で、読者を確実にセッションへ呼び戻す
シーン
4 / 8
EC、マーケットプレイス:カート内の商品、未読のオファー
数字の意味
カートに 2 点
バッジが適している理由
買い物客の注意を一切奪わない、控えめなリマインダー
シーン
5 / 8
フィンテック:明細、アラート、対応待ちの手続き
数字の意味
対応が必要な項目 1 件
バッジが適している理由
実際の未読書類の件数があり、ロック画面に詳細を出さずにアイコンで伝えられる
シーン
6 / 8
トレーディング、ベッティング:発動したアラート、確定したベット
数字の意味
アラート 4 件
バッジが適している理由
アラートが積み重なり、ユーザーにとって意味のある数字になる
シーン
7 / 8
ヘルスケア、遠隔医療:検査結果、セキュアメッセージ
数字の意味
検査結果が届きました
バッジが適している理由
件数はホーム画面に表示し、内容は認証の向こう側に留めておける
シーン
8 / 8
EdTech:未読のレッスン、連続記録、課題
数字の意味
待っているレッスン 2 件
バッジが適している理由
連続記録やレッスンの待ち行列は、ユーザーが片付けたくなる数字そのもの

バッジが適さないケース

バッジが伝えるのは量だけです。何が届いているか、どれほど急ぎかは、別の手段で伝える必要があります。

  • 何が届いたかをユーザーが知る必要がある場合:モバイルプッシュ通知、リッチメディアプッシュ、アプリ内メッセージを使います。
  • 一刻を争う場合:バッジはもともと受動的な仕組みです。緊急性は割り込みレベルで扱います。
  • 件数ではなく進行中の状態を伝える場合:配送中の注文や試合のスコアなどは Live Activity の役割です。
  • アプリに自然に積み上がる件数がない場合:保険、ホテル、公共料金、単発利用のツールでは請求や予約は 1 件だけで、バッジはノイズになります。
  • オーディエンスの大半が Android で、バッジを主要な仕組みにしようとしている場合:Android ではベストエフォートと考え、バッジなしでも機能するフローを設計してください。
件数で目を引いても、開く価値はプッシュ通知自体が生み出します

参考にしたいプッシュ通知 50 選。それぞれの文面とクリエイティブを紹介します。

事例を見る

対応プラットフォームと技術仕様

iOS 市場シェアの高い日本では、まず iOS の挙動を押さえることが重要です。iOS のバッジは 1 種類で、すべての iPhone で同じように表示されます。Android には共通のバッジ API がないため、ホーム画面に何が表示されるかはユーザーが使っているランチャー次第です。最後の列は実際に数字を描画する主体を示しています。この機能では、そこに正確な答えがあるからです。

機能iOSAndroidWeb提供元
バッジの正確な値対応、標準の aps.badgeベストエフォート、ランチャー依存–プッシュ通知のペイロードを SDK が適用
相対値 +1 と -1対応、Pushwoosh SDK 6.4.0 以降プリセットで +n、ランチャー依存–プッシュ通知。/setBadge でカウンターを同期
0 でクリア対応ランチャー依存–プッシュ通知のペイロード、またはアプリ起動時
ノーコードの Badges フィールド対応、作成画面とプリセット対応、プリセットでバッジ値を指定–Pushwoosh コントロールパネル
アプリのコードから設定やクリアsetApplicationIconBadgeNumberPushwooshBadge–Pushwoosh SDK を通じてアプリから
表示前に件数を変更対応、Notification Service Extension 内––App Groups を使った PWNotificationExtensionManager
アラートなしでバッジを更新対応ベストエフォート–サイレントプッシュ(同じオーディエンスとジャーニー)
ランチャーと端末の対応範囲すべての iPhone で同一Sony、Samsung、LG、HTC、ASUS、ADW、APEX、NOVA、Huawei、ZUK、OPPO–ランチャー権限付きの com.pushwoosh:pushwoosh-badge
Pixel と非対応ランチャー該当なし––Android にネイティブのバッジ API がないため表示されない
OS から現在の件数を取得–––iOS には取得 API がないため、件数はアプリかサーバーで保持
アプリアイコンのバッジ自体対応ランチャー依存–ブラウザには Web プッシュ用の同等の表示領域がない
機能
1 / 11
バッジの正確な値
iOS
対応、標準の aps.badge
Android
ベストエフォート、ランチャー依存
Web
–
提供元
プッシュ通知のペイロードを SDK が適用
機能
2 / 11
相対値 +1 と -1
iOS
対応、Pushwoosh SDK 6.4.0 以降
Android
プリセットで +n、ランチャー依存
Web
–
提供元
プッシュ通知。/setBadge でカウンターを同期
機能
3 / 11
0 でクリア
iOS
対応
Android
ランチャー依存
Web
–
提供元
プッシュ通知のペイロード、またはアプリ起動時
機能
4 / 11
ノーコードの Badges フィールド
iOS
対応、作成画面とプリセット
Android
対応、プリセットでバッジ値を指定
Web
–
提供元
Pushwoosh コントロールパネル
機能
5 / 11
アプリのコードから設定やクリア
iOS
setApplicationIconBadgeNumber
Android
PushwooshBadge
Web
–
提供元
Pushwoosh SDK を通じてアプリから
機能
6 / 11
表示前に件数を変更
iOS
対応、Notification Service Extension 内
Android
–
Web
–
提供元
App Groups を使った PWNotificationExtensionManager
機能
7 / 11
アラートなしでバッジを更新
iOS
対応
Android
ベストエフォート
Web
–
提供元
サイレントプッシュ(同じオーディエンスとジャーニー)
機能
8 / 11
ランチャーと端末の対応範囲
iOS
すべての iPhone で同一
Android
Sony、Samsung、LG、HTC、ASUS、ADW、APEX、NOVA、Huawei、ZUK、OPPO
Web
–
提供元
ランチャー権限付きの com.pushwoosh:pushwoosh-badge
機能
9 / 11
Pixel と非対応ランチャー
iOS
該当なし
Android
–
Web
–
提供元
Android にネイティブのバッジ API がないため表示されない
機能
10 / 11
OS から現在の件数を取得
iOS
–
Android
–
Web
–
提供元
iOS には取得 API がないため、件数はアプリかサーバーで保持
機能
11 / 11
アプリアイコンのバッジ自体
iOS
対応
Android
ランチャー依存
Web
–
提供元
ブラウザには Web プッシュ用の同等の表示領域がない

セキュリティとホスティング

Pushwoosh は米国とドイツにある自社ハードウェア上で稼働し、GDPR に準拠して運用されています。

ISO 27001:2022 CertifiedISO 27001 CertifiedGDPR CompliantData Privacy FrameworkHIPAA CompliantSOC 2 Type 2 CertifiedOWASP Compliant

仕組み

バッジの設定はノーコードで、すべてのプランで無料です。開発工数がかかるのは 2 か所だけで、どちらも iOS の基本ケースではありません。

  1. 件数を作成 (ノーコード)

    Send-Push フォームまたはプリセットの Badges フィールドに数値、+n、-n、0 を入力するか、Messages API で ios_badges と android_badges を送信します。iOS の基本ケースではアプリ側の作業は不要で、受信時に SDK が値を適用します。

  2. 必要な 2 か所を実装 (開発者)

    Android では com.pushwoosh:pushwoosh-badge ライブラリと、マニフェストへのランチャー別の権限追加が必要です。プッシュ通知の開封時やアプリ起動時のクリアは SDK の呼び出し 1 回で済みます。App Groups を使った Notification Service Extension は、表示前に件数を変える必要がある場合だけ使います。

  3. オーケストレーション (ノーコード)

    Message Inbox の未読合計を件数の元にし、アラートを出さないサイレントプッシュで件数を動かし、プッシュ通知、アプリ内メッセージ、メールを運用している同じカスタマージャーニーのゴールでクリアします。

知っておきたい制限事項

統一されたプラットフォームと断片化したプラットフォームにまたがる件数の仕組みです。主な制約は以下のとおりです。

  • iOS は統一されており、最優先でサポートされます。Android はベストエフォートです。OS に共通のバッジ API がなく、表示内容はランチャーが決めるためです。
  • Android の対応状況は実際にばらつきがあります。Samsung と Xiaomi は異なる仕組みを使い、Google の Pixel ランチャーはアイコンバッジをほとんど表示せず、一部のサードパーティ製ランチャーはバッジを無視します。
  • Android のバッジ更新はバッテリー管理の影響を受けます。Doze と App Standby は更新に必要なバックグラウンド処理を制限し、強制停止されたアプリは再度開かれるまで件数を更新できません。
  • Huawei 端末ではバッジの制御を Huawei 独自のランチャーが担うため、挙動は端末や EMUI、HarmonyOS のバージョンによって異なります。
  • 相対値の +1 と -1 は、SDK が現在の値を把握していることが前提です。同期せずにバッジを上書きするアプリでは、サーバー側の加算が誤った件数から始まる場合があります。また、iOS にはシステムのバッジ値を読み取る API がありません。
  • プッシュ通知によるバッジの仕組みは iOS SDK 6.4.0 で変更されました。受信したプッシュ通知の数をバッジで数えていたアプリは移行が必要だったため、旧仕様ではなく現在の挙動を前提に設計してください。
  • バッジが伝えるのは量だけです。何が待っているか、どれほど急ぎかは、プッシュ通知、アプリ内メッセージ、割り込みレベルで伝える必要があります。
  • サーバー側にはほとんど記録が残りません。保存されたペイロードに現れるのはバッジを明示的に設定したキャンペーンだけで、SDK による適用やクリアは記録されません。効果を測るには、レポートで探すのではなく、バッジありのコホートとバッジなしのコホートを比較してください。

関連製品を見る

モバイルプッシュ通知

Pushwooshのモバイルプッシュ通知は、あらゆるデバイスへのリーチ、リッチコンテンツ、精密なターゲティングを実現します。クロスチャネルジャーニーと99%の稼働率で、通知を優良顧客への入口に変えます。

メッセージ受信箱

アプリと Web サイトにお知らせセンターを追加。サイレント配信でプッシュ通知を許可していないユーザーにも届き、保存したメッセージはいつでも見返せます。

カスタマージャーニービルダー

1 つのビジュアルツールでキャンペーンを設計し、効率化します。Pushwoosh カスタマージャーニービルダーを使用して、顧客とのコミュニケーション、エンゲージメントの向上、リテンション、コンバージョン、セグメンテーション、実験を行います。

アプリ内メッセージ

Pushwooshのアプリ内メッセージなら、ユーザーがアプリに集中しているまさにその瞬間に、オンボーディング・アップセル・お知らせ・フィードバック収集を実現できます。ノーコードエディタ、ネイティブSDKテンプレート、要素ごとの分析機能を搭載。GDPR準拠。無料で始められます。

Time-Sensitive と Critical の通知

既存のプッシュ通知に iOS の割り込みレベルを設定し、不正利用アラートや搭乗ゲート変更を集中モードと時刻指定要約に埋もれさせません。設定はノーコードで可能です。

モバイルゲーム向けのプッシュ通知

ゲームアプリ向けのモバイルプッシュ通知プラットフォーム。プレイヤーの継続的な参加を促すため、パーソナライズされたアラート、特別オファー、イベントのリマインダーを送信します。