モバイル通信事業者の通知とシステム イベントの有効化の概要
このトピックでは、モバイル通信事業者の通知システム イベントに関する情報を提供します。 受信 SMS または USSD ベースのモバイル通信事業者の通知と関連するモバイル ブロードバンド システム イベントを処理する UWP モバイル ブロードバンド アプリを開発するためのガイドラインを提供します。
はじめに
モバイル ブロードバンド ネットワーク ブランドの顧客の主なエクスペリエンスは、モバイル ブロードバンド アプリです。 このアプリは、プライマリ接続管理機能を提供することは想定されていませんが、代わりにアカウント管理エクスペリエンスとサービス エクスペリエンスを提供します。 アカウントの状態についてユーザーが通知を受け取り続けるには、ユーザーが操作していない場合でも、アプリでいくつかのアクティビティを実行する必要があります。 これらのアクティビティには、次のようなものがあります。
通信事業者 SMS またはネットワークによって開始された USSD メッセージに応答する
データ制限に近づいていることをユーザーに通知する
データ プランの有効期限が切れたことをユーザーに通知する
ローミング状態をユーザーに通知する
ユーザーのデータ プランでテザリングがサポートされているかどうかを確認する
バックグラウンド ブローカー作業項目
UWP モバイル ブロードバンド アプリは全画面表示で実行できますが、ユーザーはフォアグラウンドにあるアプリケーションとのみ対話することが想定されます。 フォアグラウンド アプリはユーザーにとって最も重要であると見なされるため、このアプリはシステムのすべてのリソースを受け取ります。 アプリがフォアグラウンドにない場合、アプリは中断され、コードを実行できません。 中断されたアプリは、ユーザーがフォアグラウンドに戻して再開するまで中断されたままになります。 このアプリの動作モデルでは、重要でないバックグラウンド アプリの実行によって引き起こされる遅延や、遅延によってユーザー エクスペリエンスが影響を受けることはありません。 さらに、不要なバックグラウンド アクティビティを減らすことで、さまざまなフォーム ファクターのバッテリ寿命が最適化されます。 中断されたアプリを再開するのにかかった時間はごくわずかであり、ユーザーの多くはほとんど気が付かないようです。
Windows 10 には、アプリが中断された場合でもアプリ タイルを最新の状態に保つための Windows プッシュ通知が用意されています。 プッシュ通知は、システム パフォーマンスとデバイスのバッテリ寿命を長くするために最適化されているため、可能な限り Windows プッシュ通知を使用することをお勧めします。 中断されたアプリで、他の種類の作業を行うために独自のコードを実行する必要がある場合は、バックグラウンド タスクを作成できます。
UWP アプリはフォアグラウンドで実行されていない場合はコードを実行できませんが、System Event Broker を使用すると、アプリがバックグラウンドにある間にイベントに応答してコードを実行できます。 アプリは、System Event Broker に作業項目を登録して、特定のバックグラウンド ブローカー イベントに応答できます。 バックグラウンド ブローカー イベントがトリガーされると、アプリの現在の状態 (アクティブまたは中断) に関係なく、Windows によってアプリの作業項目が実行されます。
一般に、バックグラウンド イベントは単純なトリガー ポイントとして意図されており、大量の処理を通知するものではありません。 そのため、各アプリのクォータは、バックグラウンド イベントで許可される処理時間に設定されます。 MobileOperatorNotification イベントや HotspotAuthentication イベントなど、Network Operator API によって提供されるバックグラウンド イベントは、Windows によってクリティカルなイベントとして扱われます。 一般的なバックグラウンド イベントと比較すると、MobileOperatorNotification イベントと HotspotAuthentication イベントに関連付けられているバックグラウンド作業項目は、処理時間クォータに関係なく、イベントのすべてのインスタンスに対して実行されますが、バックグラウンド作業項目の各インスタンスには処理時間クォータが適用されます。 バックグラウンド イベント ハンドラーでの処理を制限し、より大きな処理をモバイル ブロードバンド アプリに延期する必要があります。