説明書を読まなくても使い方がわかるのが、iPhoneの魅力であり強みです。しかし、知っているつもりでも正しく理解していないことがあるはず。このコーナーでは、そんな「いまさら聞けないiPhoneのなぜ」をわかりやすく解説します。今回は、『通知で起動するアプリがあるの?』という質問に答えます。
***
はい、あります。ジャンルはVoIP(Voice over IP/IP電話)に限定されますが、インターネット経由で届いたプッシュ通知により、完全に停止しているアプリを起動させることは可能です。このしくみは「VoIPプッシュ」と呼ばれ、iOS 8以降でサポートされています。
標準のプッシュ通知は、対象のアプリが起動しているときにはそのアプリが直接受信し、それ以外は通知として受信されます。たとえば、プッシュ通知に対応したアプリに通知が届いたとき、そのアプリがアクティブ(前面に表示され操作中)のときはアプリによりそのまま処理されるため、通知のダイアログは表示されず通知センターに通知が残ることもありません。
一方のVoIPプッシュは、つねに対象のアプリ(VoIPアプリ)に直接働きかけることができます。標準のプッシュ通知は、ダイアログを表示するなどの手段でユーザの応答を求めますが、VoIPプッシュはアプリ処理に直行できます。VoIPアプリが完全に停止している場合でも、そのアプリを起動/再開させることが可能です。
しかも、標準プッシュはある程度の遅延が許容されますが、VoIPプッシュは高い優先度のもと遅延がないものとして扱われます。音声を扱うアプリということもあり、データサイズ(ペイロード長)は最大5キロバイトと標準プッシュの最大4キロバイトと比較して多めに確保されています。
なお、アプリが前面に表示されていないとき(バックグラウンド時)はボタンをタップするなどの操作ができないため、通信やデータの読み書き程度しか処理できません。iOS 10では、サードパーティー製VoIPアプリも標準装備の電話アプリと同じユーザインターフェイスを利用できますから、電話アプリと同等の機能を発揮するために必要なしくみともいえるでしょう。