Pulls and returns a notification set for the enterprises associated with
the service account authenticated for the request. The notification set may
be empty if no notification are pending.
A notification set returned needs to be acknowledged within 20 seconds
by calling Enterprises.AcknowledgeNotificationSet, unless the
notification set is empty.
Notifications that are not acknowledged within the 20 seconds will
eventually be included again in the response to another PullNotificationSet
request, and those that are never acknowledged will ultimately be deleted
according to the Google Cloud Platform Pub/Sub system policy.
Multiple requests might be performed concurrently to retrieve
notifications, in which case the pending notifications (if any) will be
split among each caller, if any are pending.
If no notifications are present, an empty notification list is returned.
Subsequent requests may return more notifications once they become
available.
Request
HTTP request
POST https://www.googleapis.com/androidenterprise/v1/enterprises/pullNotificationSet
Parameters
Parameter name | Value | Description |
---|---|---|
Optional query parameters | ||
requestMode |
string |
The request mode for pulling notifications.
Specifying waitForNotifications will cause the request to
block and wait until one or more notifications are present, or return an
empty notification list if no notifications are present after some time.
Speciying returnImmediately will cause the request to
immediately return the pending notifications, or an empty list if no
notifications are present.
If omitted, defaults to waitForNotifications .
Acceptable values are:
|
Authorization
This request requires authorization with the following scope:
Scope |
---|
https://www.googleapis.com/auth/androidenterprise |
For more information, see the authentication and authorization page.
Request body
Do not supply a request body with this method.
Response
If successful, this method returns a response body with the following structure:
{ "kind": "androidenterprise#notificationSet", "notificationSetId": string, "notification": [ { "enterpriseId": string, "timestampMillis": long, "notificationType": string, "productApprovalEvent": { "productId": string, "approved": string }, "installFailureEvent": { "productId": string, "deviceId": string, "userId": string, "failureReason": string, "failureDetails": string }, "appUpdateEvent": { "productId": string }, "newPermissionsEvent": { "productId": string, "requestedPermissions": [ string ], "approvedPermissions": [ string ] }, "appRestrictionsSchemaChangeEvent": { "productId": string }, "productAvailabilityChangeEvent": { "productId": string, "availabilityStatus": string }, "newDeviceEvent": { "userId": string, "deviceId": string, "managementType": string, "dpcPackageName": string }, "deviceReportUpdateEvent": { "userId": string, "deviceId": string, "report": { "lastUpdatedTimestampMillis": long, "appState": [ { "packageName": string, "keyedAppState": [ { "key": string, "stateTimestampMillis": long, "severity": string, "message": string, "data": string } ] } ] } } } ] }
Property name | Value | Description | Notes |
---|---|---|---|
notificationSetId |
string |
The notification set ID, required to mark the notification as received with the Enterprises.AcknowledgeNotification API. This will be omitted if no notifications are present. | |
notification[] |
list |
The notifications received, or empty if no notifications are present. | |
notification[].enterpriseId |
string |
The ID of the enterprise for which the notification is sent. This will always be present. | |
notification[].timestampMillis |
long |
The time when the notification was published in milliseconds since 1970-01-01T00:00:00Z. This will always be present. | |
notification[].productApprovalEvent |
nested object |
Notifications about changes to a product's approval status. | |
notification[].productApprovalEvent.productId |
string |
The id of the product (e.g. "app:com.google.android.gm") for which the approval status has changed. This field will always be present. | |
notification[].productApprovalEvent.approved |
string |
Whether the product was approved or unapproved. This field will always be present.
Acceptable values are:
|
|
notification[].installFailureEvent |
nested object |
Notifications about an app installation failure. | |
notification[].installFailureEvent.productId |
string |
The id of the product (e.g. "app:com.google.android.gm") for which the install failure event occured. This field will always be present. | |
notification[].installFailureEvent.deviceId |
string |
The Android ID of the device. This field will always be present. | |
notification[].installFailureEvent.userId |
string |
The ID of the user. This field will always be present. | |
notification[].installFailureEvent.failureReason |
string |
The reason for the installation failure. This field will always be present.
Acceptable values are:
|
|
notification[].installFailureEvent.failureDetails |
string |
Additional details on the failure if applicable. | |
notification[].appUpdateEvent |
nested object |
Notifications about app updates. | |
notification[].appUpdateEvent.productId |
string |
The id of the product (e.g. "app:com.google.android.gm") that was updated. This field will always be present. | |
notification[].newPermissionsEvent |
nested object |
Notifications about new app permissions. | |
notification[].newPermissionsEvent.productId |
string |
The id of the product (e.g. "app:com.google.android.gm") for which new permissions were added. This field will always be present. | |
notification[].newPermissionsEvent.requestedPermissions[] |
list |
The set of permissions that the app is currently requesting. Use Permissions.Get on the EMM API to retrieve details about these permissions. | |
notification[].newPermissionsEvent.approvedPermissions[] |
list |
The set of permissions that the enterprise admin has already approved for this application. Use Permissions.Get on the EMM API to retrieve details about these permissions. | |
notification[].appRestrictionsSchemaChangeEvent |
nested object |
Notifications about new app restrictions schema changes. | |
notification[].appRestrictionsSchemaChangeEvent.productId |
string |
The id of the product (e.g. "app:com.google.android.gm") for which the app restriction schema changed. This field will always be present. | |
notification[].productAvailabilityChangeEvent |
nested object |
Notifications about product availability changes. | |
notification[].productAvailabilityChangeEvent.productId |
string |
The id of the product (e.g. "app:com.google.android.gm") for which the product availability changed. This field will always be present. | |
notification[].productAvailabilityChangeEvent.availabilityStatus |
string |
The new state of the product. This field will always be present.
Acceptable values are:
|
|
notification[].newDeviceEvent |
nested object |
Notifications about new devices. | |
notification[].newDeviceEvent.userId |
string |
The ID of the user. This field will always be present. | |
notification[].newDeviceEvent.deviceId |
string |
The Android ID of the device. This field will always be present. | |
notification[].newDeviceEvent.managementType |
string |
Identifies the extent to which the device is controlled by an Android EMM in various deployment configurations. Possible values include:
Acceptable values are:
|
|
notification[].notificationType |
string |
Type of the notification.
Acceptable values are:
|
|
notification[].newDeviceEvent.dpcPackageName |
string |
Policy app on the device. | |
notification[].deviceReportUpdateEvent |
nested object |
Notifications about device report updates. | |
notification[].deviceReportUpdateEvent.userId |
string |
The ID of the user. This field will always be present. | |
notification[].deviceReportUpdateEvent.deviceId |
string |
The Android ID of the device. This field will always be present. | |
notification[].deviceReportUpdateEvent.report |
nested object |
The device report updated with the latest app states. This field will always be present. | |
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis |
long |
The timestamp of the last report update in milliseconds since epoch. This field will always be present. | |
notification[].deviceReportUpdateEvent.report.appState[] |
list |
List of app states set by managed apps on the device. App states are defined by the app's developers. This field will always be present. | |
notification[].deviceReportUpdateEvent.report.appState[].packageName |
string |
The package name of the app. This field will always be present. | |
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] |
list |
List of keyed app states. This field will always be present. | |
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key |
string |
Key indicating what the app is providing a state for. The content of the key is set by the app's developer. To prevent XSS, we recommend removing any HTML from the key before displaying it. This field will always be present. | |
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis |
long |
Timestamp of when the app set the state in milliseconds since epoch. This field will always be present. | |
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity |
string |
Severity of the app state. This field will always be present.
Acceptable values are:
|
|
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message |
string |
Free-form, human-readable message describing the app state. For example, an error message. To prevent XSS, we recommend removing any HTML from the message before displaying it. | |
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data |
string |
Additional field intended for machine-readable data. For example, a number or JSON object. To prevent XSS, we recommend removing any HTML from the data before displaying it. | |
kind |
string |