未読件数をアプリアイコンに表示
バッジは、ユーザーに伝えられる最小のメッセージです。読むための負担もありません。件数の設定、加算、クリアを、他のすべての配信と同じキャンペーンとカスタマージャーニーから行えます。
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 |
5)ios_badges / android_badges、または Badges フィールド+1、+3+n も使用可能-10setApplicationIconBadgeNumber、Android は PushwooshBadgePWNotificationExtensionManager設定する場所
作成画面の 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 件 | 連続記録やレッスンの待ち行列は、ユーザーが片付けたくなる数字そのもの |
バッジが適さないケース
バッジが伝えるのは量だけです。何が届いているか、どれほど急ぎかは、別の手段で伝える必要があります。
- 何が届いたかをユーザーが知る必要がある場合:モバイルプッシュ通知、リッチメディアプッシュ、アプリ内メッセージを使います。
- 一刻を争う場合:バッジはもともと受動的な仕組みです。緊急性は割り込みレベルで扱います。
- 件数ではなく進行中の状態を伝える場合:配送中の注文や試合のスコアなどは Live Activity の役割です。
- アプリに自然に積み上がる件数がない場合:保険、ホテル、公共料金、単発利用のツールでは請求や予約は 1 件だけで、バッジはノイズになります。
- オーディエンスの大半が Android で、バッジを主要な仕組みにしようとしている場合:Android ではベストエフォートと考え、バッジなしでも機能するフローを設計してください。
対応プラットフォームと技術仕様
iOS 市場シェアの高い日本では、まず iOS の挙動を押さえることが重要です。iOS のバッジは 1 種類で、すべての iPhone で同じように表示されます。Android には共通のバッジ API がないため、ホーム画面に何が表示されるかはユーザーが使っているランチャー次第です。最後の列は実際に数字を描画する主体を示しています。この機能では、そこに正確な答えがあるからです。
| 機能 | iOS | Android | Web | 提供元 |
|---|---|---|---|---|
| バッジの正確な値 | 対応、標準の aps.badge | ベストエフォート、ランチャー依存 | – | プッシュ通知のペイロードを SDK が適用 |
相対値 +1 と -1 | 対応、Pushwoosh SDK 6.4.0 以降 | プリセットで +n、ランチャー依存 | – | プッシュ通知。/setBadge でカウンターを同期 |
0 でクリア | 対応 | ランチャー依存 | – | プッシュ通知のペイロード、またはアプリ起動時 |
| ノーコードの Badges フィールド | 対応、作成画面とプリセット | 対応、プリセットでバッジ値を指定 | – | Pushwoosh コントロールパネル |
| アプリのコードから設定やクリア | setApplicationIconBadgeNumber | PushwooshBadge | – | 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 プッシュ用の同等の表示領域がない |
aps.badge+1 と -1+n、ランチャー依存/setBadge でカウンターを同期0 でクリアsetApplicationIconBadgeNumberPushwooshBadgePWNotificationExtensionManagercom.pushwoosh:pushwoosh-badgeセキュリティとホスティング
Pushwoosh は米国とドイツにある自社ハードウェア上で稼働し、GDPR に準拠して運用されています。
仕組み
バッジの設定はノーコードで、すべてのプランで無料です。開発工数がかかるのは 2 か所だけで、どちらも iOS の基本ケースではありません。
-
件数を作成 (ノーコード)
Send-Push フォームまたはプリセットの Badges フィールドに数値、
+n、-n、0を入力するか、Messages API でios_badgesとandroid_badgesを送信します。iOS の基本ケースではアプリ側の作業は不要で、受信時に SDK が値を適用します。 -
必要な 2 か所を実装 (開発者)
Android では
com.pushwoosh:pushwoosh-badgeライブラリと、マニフェストへのランチャー別の権限追加が必要です。プッシュ通知の開封時やアプリ起動時のクリアは SDK の呼び出し 1 回で済みます。App Groups を使った Notification Service Extension は、表示前に件数を変える必要がある場合だけ使います。 -
オーケストレーション (ノーコード)
Message Inbox の未読合計を件数の元にし、アラートを出さないサイレントプッシュで件数を動かし、プッシュ通知、アプリ内メッセージ、メールを運用している同じカスタマージャーニーのゴールでクリアします。
知っておきたい制限事項
関連製品を見る
Pushwooshのモバイルプッシュ通知は、あらゆるデバイスへのリーチ、リッチコンテンツ、精密なターゲティングを実現します。クロスチャネルジャーニーと99%の稼働率で、通知を優良顧客への入口に変えます。
アプリと Web サイトにお知らせセンターを追加。サイレント配信でプッシュ通知を許可していないユーザーにも届き、保存したメッセージはいつでも見返せます。
1 つのビジュアルツールでキャンペーンを設計し、効率化します。Pushwoosh カスタマージャーニービルダーを使用して、顧客とのコミュニケーション、エンゲージメントの向上、リテンション、コンバージョン、セグメンテーション、実験を行います。
Pushwooshのアプリ内メッセージなら、ユーザーがアプリに集中しているまさにその瞬間に、オンボーディング・アップセル・お知らせ・フィードバック収集を実現できます。ノーコードエディタ、ネイティブSDKテンプレート、要素ごとの分析機能を搭載。GDPR準拠。無料で始められます。
既存のプッシュ通知に iOS の割り込みレベルを設定し、不正利用アラートや搭乗ゲート変更を集中モードと時刻指定要約に埋もれさせません。設定はノーコードで可能です。
ゲームアプリ向けのモバイルプッシュ通知プラットフォーム。プレイヤーの継続的な参加を促すため、パーソナライズされたアラート、特別オファー、イベントのリマインダーを送信します。