Pub/Sub 通知を設定する

Pub/Sub 通知を使用すると、新しく登録されたデバイス、デバイス レポート、最近発行されたコマンドに関するアラートを受け取ることができます。

Pub/Sub 通知を設定するには、Pub/Sub API を有効にしてトピックを作成する必要があります。トピックにパブリッシュされたメッセージを受信するには、そのトピックへのサブスクリプションを作成します。サブスクリプションは、トピックに公開されたメッセージを受信して処理するサブスクライバー アプリケーションにトピックを接続します。サブスクリプションを作成したら、トピックに公開する権限を Android Device Policy に付与する必要があります。

1. プロジェクトで Pub/Sub API を有効にする

Pub/Sub API を有効にする手順については、コンソールのクイックスタート ガイドをご覧ください。Android Management API が有効になっている同じプロジェクトを選択してください。

2. トピックの作成

API を有効にしたら、Android Device Policy が通知をパブリッシュできるトピックを作成する必要があります。トピックを作成するには、次の 2 つの方法があります。

a. Google Cloud コンソールで手動で行う。
b. Pub/Sub API を使用する(トピック作成メソッドを参照)。

トピックを作成したら、トピック名をメモしておきます。

3. サブスクリプションを作成する

サブスクリプションは、指定されたトピックにパブリッシュされたメッセージのストリームをキャプチャします。定期購入を作成する方法は 2 つあります。

a. Google Cloud コンソールで手動で行う。
b. Pub/Sub API を使用する(サブスクリプション作成メソッドを参照)。

4. Android Device Policy にトピックへの公開権限を付与する

android-cloud-policy@system.gserviceaccount.com にトピックへのパブリッシュ権限を付与する必要があります。公開権限を付与するには、次の 2 つの方法があります。

a. Google Cloud コンソールで手動で行う。

  • android-cloud-policy@system.gserviceaccount.com をトピックのメンバーとして追加します。
  • [ロールを選択] > [Pub/Sub] > [Pub/Sub パブリッシャー] をクリックします。

b. Pub/Sub API を使用する(IAM API によるアクセス制御を参照)

  • serviceAccount:android-cloud-policy@system.gserviceaccount.commembers に追加します。
  • roleroles/pubsub.publisher に設定します。

5. 通知をサポートするようにエンタープライズを更新する

サポートする通知が ENTERPRISE_UPGRADE(常にサポートされている)の場合は、この手順をスキップします。

企業に関する通知を作成したトピックに接続するには、enterprises.patch を呼び出し、次のパラメータを指定します。

  • pubsubTopic: projects/{project}/topics/{topic} 形式の Pub/Sub トピックの名前。
  • enabledNotificationTypes: 受信する通知のタイプをすべて含めます。

6. Pub/Sub API を使用して通知を取得する

サブスクリプションでは、メッセージ配信に push または pull のメカニズムを使用できます。これらのメカニズムの両方で通知を受信する方法に関するガイドラインと手順については、Pub/Sub サブスクライバー ガイドをご覧ください。

メッセージの形式

メッセージは PubsubMessage の形式になります。メッセージの attributes フィールドには、キーが notificationType で、値がメッセージをトリガーした通知タイプ(ENROLLMENT など)に設定された属性が含まれています。メッセージの data フィールドには、更新されたリソースの JSON 表現が UTF-8 文字列としてエンコードされて含まれています。通知と対応するリソースタイプは次のとおりです。

  • COMMAND 通知では、リソースタイプ Operation が使用されます。
  • USAGE_LOGS 通知では、リソースタイプ UsageLogEvent が使用されます。
  • ENROLLMENTSTATUS_REPORT の通知では、リソースタイプ Device が使用されます。
  • ENTERPRISE_UPGRADE 通知では、リソースタイプ EnterpriseUpgradeEvent が使用されます。

Enterprise で pubsubTopic を設定すると、notificationTypetest に設定された初期メッセージが公開されます。このメッセージは、Android Device Policy がトピックに対するパブリッシュ権限を持っていることを確認するために送信されるもので、無視してかまいません。

予想されるレイテンシ

Enterprise アップグレード イベントは直ちに送信されることが想定されています。

連続して発生するローカル デバイス イベントはバッチ処理され、単一の Pub/Sub メッセージで EMM に報告されます。

イベントタイプ デバイス上のイベントと対応する EMM 通知間の予想されるレイテンシ1
優先度の高いキー付きアプリの状態 即時、1 分あたり最大 1 件のレポート
標準優先度のキー付きアプリの状態 1 分以内
IT 管理者がインストール状態を定義したアプリのプロビジョニング中のアプリ関連イベント2 他の関連するプロビジョニング イベントの 1 分以内
IT 管理者がインストール状態を定義したアプリの、プロビジョニング後のアプリ関連イベント。 5 分以内
プロビジョニング中およびプロビジョニング後のアプリケーション関連のイベント(従業員がインストール状態を定義したアプリの場合)3 60 分以内
デバイス上のその他のアプリイベント 60 分以内

  1. 制御された状況に基づくベスト エフォート ターゲット。実際のレイテンシは、さまざまなデバイスや環境要因によって異なる場合があります。 

  2. ポリシーで適用されるアプリの InstallType: FORCE_INSTALLEDBLOCKEDREQUIRED_FOR_SETUPPREINSTALLEDKIOSK。 

  3. 利用可能なアプリの InstallType: AVAILABLEINSTALL_TYPE_UNSPECIFIED。