Apple プッシュ通知サービス (APNs) のワークフロー

はじめに

Apple プッシュ通知サービス (APNs) は、Apple 社が開発した、Apple デバイスを管理するための MDM プロトコルです。APNs を利用するには、MDM プロバイダは有効な APNs 証明書を構成して保持している必要があります。APNs では、すべてのコマンドは Apple 社のクラウド メッセージング サーバを経由します。APNs コマンドの実行に関連して、以下の事象が発生します。

  • iOS デバイスが加入すると、そのデバイスに関連付けられた固有の APNs トークンが生成されます。このトークンは、AirWatch サーバと APNs サーバの両方に登録されます。
  • 加入後、デバイスは接続状況が許す限り Apple APNs サーバとのアクティブな接続を保持し続けます。ネットワーク構成は下図に示すとおりです。
  • AirWatch でのコマンド実行 (プロファイルのプッシュ、デバイスのロック、など) に伴い、次の処理が実行されます。
    • AirWatch データベースのデバイス コマンド キューにエントリが格納されます。このエントリには、実行されたコマンド タイプに関連付けられた、固有の ID が含まれています。
    • AirWatch サーバ (コマンドを実行したコンソールまたはデバイス サービス) は、そのデバイスに関連付けられた APNs トークンを含んだ要求を APNs サーバに送信します。
  • APNs サーバはそのトークンを検証し、MDM サーバに接続してコマンドを受け取るよう、該当するデバイスに通知します。
  • デバイスは、デバイス サービス サーバに接続します。この接続が確立されると、デバイスは保留中のすべてのコマンドをデバイス コマンド キューから受け取ります。

ワークフロー

APN_workflow.jpg

 

1. システム管理者は AirWatch コンソールから、デバイスのロック、デバイス パスコードの消去、デバイス ワイプ、MDM 中断などの MDM 操作をリモートで実行します。

1a. 通知はいったん FastLaneAPNsOutBound キューに格納され、その後 AirWatch メッセージング サービスによってピックアップされて APNs サーバに送信されます。 

1b. コマンドは AWEventLog キューに格納され、その後 EntityChangeQueueMonitor サービスによってピックアップされます。このサービスは、コマンドを AirWatch データベース サーバのキューに格納します。 

2. デバイスは常に APNs との間にアクティブな接続を保持しています。デバイス/APNs 間の通信はすべてデバイスから APNs に向かうもので、これはデバイスが APNs に対して定期的に確認を行うための通信です。デバイスへの配信を待っている MDM コマンドがあれば、APNs サーバはそれをデバイスに知らせます (プッシュ通知)。

3. プッシュ通知を受け取ったデバイスは、AirWatch デバイス サービス サーバにチェックインします。

4. デバイス サービス サーバは、(デバイス ID をもとに) そのデバイスに対するコマンドが AirWatch データベース サーバのキューに格納されているかどうかを確認します。

5. デバイス サービス サーバは、AirWatch データベース サーバのキューに格納されている、そのデバイスに対するコマンドを取り出します。

6. 最後の段階として、デバイス サービスは XML を生成し、それをデバイスに送信します。デバイスでは、ネイティブ MDM エージェント (デバイスにインストールされた MDM プロファイル) により、必要なアクションが実行されます。 

免責事項:これは英文の記事「Apple Push Notification (APN) System Workflow」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Have more questions? Submit a request

0 Comments

Article is closed for comments.