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 Platform Console で手動で行います。
b.Pub/Sub API を使用する(トピックメソッドの作成をご覧ください)。
トピックを作成したら、トピック名をメモします。
3.サブスクリプションを作成する
サブスクリプションは、特定のトピックにパブリッシュされたメッセージのストリームをキャプチャします。定期購入を作成するには、次の 2 つの方法があります。
a. Google Cloud Platform Console で手動で行います。
b.Pub/Sub API の使用(定期購入メソッドの作成をご覧ください)。
4. Android Device Policy にトピックへの公開権限を付与する
トピックに公開する権限を android-cloud-policy@system.gserviceaccount.com に付与する必要があります。公開権限を付与する方法は 2 つあります。
a. Google Cloud Platform Console で手動で設定します。
- android-cloud-policy@system.gserviceaccount.com をトピックのメンバーとして追加します。
- [ロールを選択] > [Pub/Sub] > [Pub/Sub パブリッシャー] をクリックします。
b. Pub/Sub API の使用(Google Cloud Pub/Sub IAM API によるアクセス制御をご覧ください)
serviceAccount:android-cloud-policy@system.gserviceaccount.com
をmembers
に追加しました。role
をroles/pubsub.publisher
に設定する。
5. エンタープライズを更新して通知をサポートする
企業に関する通知を作成したトピックに関連付けるには、enterprises.patch
を呼び出して次のパラメータを指定します。
pubsubTopic
: Pub/Sub トピックの名前。形式はprojects/{project}/topics/{topic}
です。enabledNotificationTypes
: 受信する通知タイプをすべて含めます。ENROLLMENT
、STATUS_REPORT
、COMMAND
から選択します。
6. Pub/Sub API を使用して通知を受け取る
サブスクリプションでは、push または pull のいずれかを使用してメッセージを配信します。これらのメカニズムを使用して通知を受け取る方法のガイドラインと手順については、Pub/Sub サブスクライバー ガイドをご覧ください。
メッセージの形式
メッセージは PubsubMessage の形式を取ります。メッセージの attributes
フィールドには、キー notificationType
と、メッセージをトリガーした通知タイプに設定された値を含む属性が含まれます(例: ENROLLMENT
)。メッセージの data
フィールドには、更新されたリソースの UTF-8 文字列としてエンコードされた JSON 表現が含まれます。通知とそれに対応するリソースタイプは次のとおりです。
COMMAND
通知は、リソースタイプ Operation を使用します。USAGE_LOGS
通知はリソースタイプ UsageLogEvent を使用します。ENROLLMENT
通知とSTATUS_REPORT
通知では、リソースタイプ Device が使用されます。
Enterprise で pubsubTopic
を設定すると、notificationType
が test
に設定された最初のメッセージが公開されます。このメッセージは、Android Device Policy にトピックに対する公開権限があり、無視する必要があることを確認するために送信されます。