プッシュ通知とは、一言でいうと何なのか?
一言でいうと、「サーバ側から始める知らせ」を、OSの通知サービスに仲立ちしてもらって端末に届ける仕組みです。メッセージの着信、予約の確認、配送の状況など、利用者が画面を開いていないときに知らせたい用途で使われます。
スマホは電池を長持ちさせるため、使っていないアプリの動作や通信を制限することがあります。各アプリがばらばらにサーバとつながり続けると電力も通信も余計にかかるため、通知は OS の提供者が運営する通知サービスを通して届けるのが基本の形です。
通知サーバを介して、どんな順番で届くのか?
APNs・FCM に共通する流れを、当サイトが4段階に整理しました。
- 1
トークンの取得
アプリが通知サービスに登録し、その端末のそのアプリを表すトークンを受け取る
- 2
トークンの登録
アプリがトークンを自社のサーバに送り、利用者と結び付けて保存する
- 3
送信の依頼
自社のサーバが、トークンと本文を付けて通知サービスに依頼する
- 4
配信と表示
通知サービスが端末へ届け、OS が通知を表示する
自社サーバは端末へ直接送らない。FCM で iPhone に送る場合も、最後は APNs を通る。
APNs・FCM に共通する流れを当サイトが整理したものです。
- トークンの取得:アプリが端末上で通知サービスに登録し、その端末のそのアプリを表すトークンを受け取る。
- トークンの登録:アプリがトークンを自社のサーバ(プロバイダ、アプリケーションサーバ)に送り、利用者と結び付けて保存する。
- 送信の依頼:知らせたいことが起きたら、自社のサーバがトークンと本文を付けて通知サービスに送信を依頼する。
- 配信と表示:通知サービスが端末へ届け、OS が通知を表示する(またはアプリにデータを渡す)。
| 項目 | APNs | FCM | Web プッシュ |
|---|---|---|---|
| 運営・規格 | Apple | Google(Firebase) | IETF の RFC 8030 など |
| 宛先の指定 | デバイストークン | 登録トークン | 購読(サブスクリプション)の URI |
| 送る側 | プロバイダサーバ | 信頼できるサーバ環境(Admin SDK など) | アプリケーションサーバ |
| 送る側の認証など | トークン方式(JWT)または証明書方式 | サーバの認証情報 | VAPID(RFC 8292)で送り手を示せる |
| 補足 | HTTP/2 で送信を依頼する | Apple の端末へは APNs を通して届ける | iOS・iPadOS では 16.4 からホーム画面の Webアプリで利用可 |
Firebase の公式ドキュメントは、FCM が実際の配信を各プラットフォームの経路に任せ、Android 端末には Android の転送層、Apple の端末には APNs、Web には Web プッシュのプロトコルを使うと説明しています。つまり、FCM で iPhone に送る場合も、最終的には APNs を通るという点が取り違えやすいところです。
ポーリングとは、何が違うのか?
ポーリングは、端末側が一定の間隔でサーバに「新しい知らせはありますか」と問い合わせる方式です。仕組みが単純な反面、新着がなくても問い合わせが発生し、間隔を短くすると電力と通信が増え、長くすると知らせが遅れます。
| 項目 | プッシュ通知 | ポーリング |
|---|---|---|
| 通信を始める側 | サーバ側(通知サービス経由) | 端末側 |
| 新着がないとき | 送らないので通信は発生しない | 問い合わせの通信が発生する |
| 知らせの速さ | 新着が出たときに届けられる | 問い合わせの間隔しだいで遅れる |
| 必要なもの | 通知サービスへの登録とトークン | 問い合わせ先のサーバだけ |
| 向く場面 | いつ起きるか分からない知らせ | 決まった間隔で状態を確かめたい場合 |
IoT の分野で使われる MQTT も、送り手と受け手の間を仲介役(ブローカ)が取り持つ点でプッシュ通知と考え方が似ています。違いはMQTTとはで整理しています。
プッシュ
- 新着がある時に配信側から通知する
ポーリング
- 端末側が一定の間隔で新着を問い合わせる
通知サービスへの接続と、アプリが情報を取得する処理を分ける。
本文の内容を当サイトが図に整理したものです。配置や面積は数量・出題比率を表しません。
POINT
Android 13(API レベル33)以降、アプリが通知を出すには実行時の権限(POST_NOTIFICATIONS)が必要になりました。仕組みとして届けられても、利用者が許可しなければ表示されない点も押さえておきましょう。
モバイル2級では、どの範囲で、どう問われそうか?
MCPC の公式ページの図では、モバイルシステム技術検定 2級(100問・100分・4者択一)の出題カテゴリの一つ「モバイルインターネットとモバイルコンテンツ技術」の比率が20%と示されています(2026年9月27日確認)。当サイトでは、公式テキスト『モバイルシステム技術テキスト 第11版』の第9章「モバイルインターネットとコンテンツ技術」がこの範囲に当たると推定しています(章名からの当サイトの判断で、公式の対応表ではありません)。
4択での問われ方は、次のような型が考えられます。出題頻度の公式データはありません。
- 流れの順序:トークンの取得・登録・送信の依頼・配信の順番を問う。
- サービス名と提供者:APNs と FCM がどの会社の、どのOS向けのサービスかを問う。
- ポーリングとの違い:通信を始める側や、新着がないときの通信の有無を問う。
- Web プッシュ:ブラウザ向けの通知の仕組みと PWA の関係を問う。
ブラウザの通知を支える Service Worker はPWAとは、通知の権限を含むOSの仕組みはAndroidとiOSのアーキテクチャの違いで扱います。試験全体はモバイルシステム技術検定2級とはへ。
どこで取り違えやすいのか?
選択肢を読んだら、「誰が誰に送るのか」を矢印で書き出すと取り違えが減ります。
| 取り違え | 正しい考え方 | 確認する問い |
|---|---|---|
| 自社サーバが端末へ直接送る | 自社サーバは通知サービスに送信を依頼し、通知サービスが端末へ届ける | 端末へ届けるのは誰か |
| FCM で送れば iPhone でも APNs は不要 | FCM は Apple の端末へは APNs を通して届ける | 最後の配信の経路はどこか |
| トークンは利用者のパスワード | トークンは端末上のアプリを宛先として表す値 | 何を識別する値か |
| プッシュは端末が定期的に問い合わせる | 定期的に問い合わせるのはポーリング | 通信を始めるのは端末か、サーバか |
| 届けば必ず表示される | Android 13 以降は通知の権限を利用者が許可する必要がある | 権限の条件が書かれていないか |
確認問題1
通知が届く順番を並べられるか?
スマートフォンのアプリでプッシュ通知を届けるまでの流れとして、最も適切な順番はどれか。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:2。アプリが通知サービスからトークンを受け取って自社サーバに渡し、自社サーバがそのトークンを付けて通知サービスに送信を依頼し、通知サービスが端末へ届けるのが基本の流れです。
1は自社サーバが端末へ直接送るとしている点と、トークンの取得より先に送信している点が誤りです。3は配信が最初に来ており、宛先のトークンがないまま送ることになります。4はポーリングの流れで、通知サービスを経由するプッシュ通知とは違います。
確認問題2
ポーリングとの違いを説明できるか?
プッシュ通知とポーリングに関する記述として、最も適切なものはどれか。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:4。ポーリングは端末側が一定の間隔でサーバに問い合わせるため、新着がなくても通信が発生し、間隔を長くすると知らせが遅れます。
1はポーリングの説明をプッシュ通知に当てはめた誤りです。2はトークンが必要なのはプッシュ通知の側で、ポーリングは問い合わせ先のサーバがあれば使えます。3はポーリングの性質をプッシュ通知に当てはめた誤りで、プッシュ通知は新着があるときに送ります。
確認問題3
Web プッシュの仕組みを選べるか?
IETF の RFC 8292 で定められた VAPID の説明として、最も適切なものはどれか。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:1。RFC 8292(2017年11月)は、アプリケーションサーバが署名付きのトークン(JWT)と公開鍵を使って、プッシュサービスに自らを自主的に示す方法を定めています。これにより、プッシュサービスは送り手を区別し、購読を特定のサーバに限ることなどができます。
2は表示の見た目の話で、送り手の識別とは関係がありません。3の位置情報による並べ替えは、VAPID の目的ではありません。4は利用者側の設定の話で、サーバとプッシュサービスの間の仕組みではありません。
同じ「モバイルインターネットとモバイルコンテンツ技術」の問題を本番と同じ4択で試すなら、登録不要のモバイル2級の無料お試し20問で解説まで確認できます。