【スポンサーリンク】

どうしてメッセージ通知はメールよりも「速い」の?(プッシュ通知のリアルタイム性)

どうしてメッセージ通知はメールよりも「速い」の?(プッシュ通知のリアルタイム性)
  • プッシュ通知」は、サーバーから新しい情報が発信されるとほぼリアルタイムでデバイスに届く仕組みです。
  • モバイル端末は、プッシュ通知サービスと常時接続しているため、サーバーからの通知をすぐに受信できます。
  • スマートフォンは、アプリをインストールした際に発行されるデバイストークンを使って、プッシュ通知サービスを介して通知を受け取ります。
どうしてメッセージ通知はメールよりも「速い」の?(プッシュ通知のリアルタイム性)

YouTube動画でも話しています。

特典ダウンロード
【ちいラボ読者特典】印刷してすぐ使える!
\記事が役に立ったらシェアしてね/
【スポンサーリンク】

1. プッシュ通知は一定間隔で問い合わせているわけではない

メッセージと従来のメールの受信方法の違い
  • プッシュ通知
  • ポーリング

プッシュ通知は、スマートフォンアプリで使用される方式で、従来のメール受信などに比べて「リアルタイム性」が高い仕組みです。
つまり、送信されたメッセージがすぐに通知されます。

スマートフォンのメッセージアプリと従来のメール受信には大きな違いがあります。
それが、「プッシュ通知」と「ポーリング」。

  • 従来のメールは、一定の間隔でメールサーバーに問い合わせを行い(ポーリング)、新着メールがあればダウンロードします。
    クライアント側が問い合わせを行ってはじめてメールが届くので、送受信にある程度の遅延が生じました。
  • 一方、「プッシュ通知」は、サーバーから新しい情報が発信されるとほぼリアルタイムでデバイスに届きます。
    これは、サーバー側からデバイスへ情報を送信する方式だからです。

2. プッシュ通知サービスに常時接続している

モバイル端末がサーバーからの通知に即座に気づけるのは、「プッシュ通知サービス」と常時接続しているからです。

アプリサーバーが通知を発信する
  • プッシュ通知サービス(常時接続)が配信する
  • スマートフォン側に通知が表示される
プッシュ通知サービスに常時接続している

iOS と Android には、それぞれ独自のプッシュ通知サービスがあります。

  • iOS デバイスは APNs
    (Apple Push Notification Service)、
  • Android デバイスは FCM
    (Firebase Cloud Messaging)など、

この接続はシステムレベル(OS)で管理されていて、アプリが起動していない状態でも維持されます。

FCMとGoogle

FCMは、以前は「Google Cloud Messaging」という名前でした1

もともとFirebaseは独立したサービスでしたが、2014年10月にGoogleに買収されます。
その後、Googleの既存サービスは Firebase プラットフォームに統合され、2016年に GCM から FCM に置き換えられました。

モバイルデバイスはバッテリー容量の制約があり、常にネットワークに接続し続けることのは大変です。

そこで、プッシュ通知サービスとの通信には、低レベルのネットワークプロトコルが使用され、省電力状態でも効率的に動作するように設計されています。
「キープ アライブ パケット」というごく小さなデータの送受信で、接続を維持します。

  • iOSではTCP/IP
  • AndroidではXMPP

画面がオンだったり通信環境がよいと、かなり頻繁に交信しています。
機種にもよりますが、最悪の状態(画面オフで通信環境も悪い)でも15分〜30分ほどの間隔になるようになっています。

プッシュ通知サービスに常時接続している

SMSの通信と同じような仕組みになっていますね。

2-1. インストール時にデバイストークン(宛先)が発行される

インストール時にデバイストークン(宛先)が発行される

どうやって、通知の宛先を識別するの?

スマートフォンは、アプリをインストールしたときに、「アプリ固有の宛先番号(デバイストークン)」を発行してもらいます。
アプリは通知をこのデバイストークンに向けて送信し、プッシュ通知サービスが仲介します。

スマートフォンは通知を受信すると、

  • アプリが起動していない状態だと
    OSの通知欄に表示されます。
  • アプリが起動している場合は、
    OSから直接アプリへ通知が渡されます。

もし、送信先のスマートフォンがオフラインだった場合にはプッシュ通知サービスに保留して、再接続時に通知し直します。
つまり、スマートフォンがオフラインだったり、省電力モードになっていたりする場合は、通知の受信が遅れたり、受信できなかったりする可能性があります。

こちらもどうぞ。
SMSで同じメッセージが何度も届くのはなぜ?【SMSセンター】
SMSで同じメッセージが何度も届くのはなぜ?【SMSセンター】
「SMSで何度も同じメッセージが届く」というケースがあります。このような場合は、送信者の誤操作やマルウェアだけでなく、送受信の中継がうまくいっていない可能性もあります。一度 お互いにスマホを携帯ショップで確認してもらった方がよいかもしれませんね。ポイント同じメッセージが送られるのは、送信側が「乗っ取りアプリ」に感染している可能性がある。同じメッセージが届くのは、受信側がSIMカードの接触不良などで、うまく「受信済み」信号を返せていない可能性もある。ふだんは知らなくてもよい「S...

[iPhone] なぜか LINEを開かないと通知が来ない【通知設定のリフレッシュ】
[iPhone] なぜか LINEを開かないと通知が来ない【通知設定のリフレッシュ】
LINEのバックグラウンドでの通知受信がうまくいかないのに、通知の設定を確認しても問題が見当たらないことがあります。内部のエラーで設定が正しく認識されず、「仕切り直し」が必要になることがあるのです。とくに iOSのアップデート後に起こりやすいようです。いろいろ試して、LINEアプリの再インストール(データの消去に注意)でやっと解決しました。YouTube動画でも話しています。環境iPhone 11、iOS 16.2、LINE 12.21.0バックグラウンドの通知が動作しない?...

[iPhone] InstagramのDMのプッシュ通知が来ない(通知設定の問題を報告)
[iPhone] InstagramのDMのプッシュ通知が来ない(通知設定の問題を報告)
iPhoneを使っていたら、InstagramのDM通知が鳴らなくなりました。通知設定やアップデートなどを確認しても問題なかったので、ヘルプセンターに「技術的な問題を報告」しました。過去に同様の不具合が LINEアプリでもありました。そのときは、再インストールで直ったのですが、今回は Instagramではダメでした。おそらく、Instagramの通知設定が端末側でなく、サーバ側で記録されているからだと思います。iPhoneのアプリ通知は、たまにおかしくなります。事例iPho...

「通知」とは?(スマホの)
「通知」とは?(スマホの)
スマホのロック画面やホーム画面上部に表示されるお知らせを、「プッシュ通知」といいます。通知のおかげで、自分でアプリを開かなくても新しい情報を知ることができます。たとえば、メール、LINE、SNS、アプリの更新情報、天気予報、ニュースなどの新しい情報がスマホに届いたことを知らせてくれます。

(補足)

  1. Firebase Cloud Messaging – Wikipedia
QRコードを読み込むと、関連記事を確認できます。

どうしてメッセージ通知はメールよりも「速い」の?(プッシュ通知のリアルタイム性)
【スポンサーリンク】
タイトルとURLをコピーしました