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: Pub/Sub トピックの名前(projects/{project}/topics/{topic} 形式)。
  • enabledNotificationTypes: 受信する通知タイプをすべて含めます。ENROLLMENTSTATUS_REPORTCOMMAND から選択します。

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

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

メッセージの形式

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

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

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

予想されるレイテンシ

エンタープライズ アップグレード イベントは直ちに送信される予定です。

短時間に発生したローカル デバイス イベントは、バッチにまとめられ、単一の 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。