Enterprises: pullNotificationSet

Extrae y muestra un conjunto de notificaciones para las empresas asociadas con la cuenta de servicio autenticada para la solicitud. Es posible que el conjunto de notificaciones esté vacío si no hay notificaciones pendientes.
Un conjunto de notificaciones que se muestra debe confirmarse en un plazo de 20 segundos mediante una llamada a Enterprises.AcknowledgeNotificationSet, a menos que el conjunto de notificaciones esté vacío.
Las notificaciones que no se confirmen en un plazo de 20 segundos se volverán a incluir en la respuesta a otra solicitud de PullNotificationSet, y las que nunca se confirmen se borrarán según la política del sistema de Pub/Sub de Google Cloud Platform.
Es posible que se realicen varias solicitudes de forma simultánea para recuperar notificaciones. En ese caso, las notificaciones pendientes (si las hay) se dividirán entre cada llamador, si las hay.
Si no hay notificaciones, se muestra una lista de notificaciones vacía. Es posible que las solicitudes posteriores muestren más notificaciones una vez que estén disponibles.

Solicitud

Solicitud HTTP

POST https://www.googleapis.com/androidenterprise/v1/enterprises/pullNotificationSet

Parámetros

Nombre del parámetro Valor Descripción
Parámetros de consulta opcionales
requestMode string Es el modo de solicitud para extraer notificaciones.
Si especificas waitForNotifications, la solicitud se bloqueará y esperará hasta que haya una o más notificaciones, o bien mostrará una lista de notificaciones vacía si no hay notificaciones después de un tiempo.
Si especificas returnImmediately, la solicitud mostrará de inmediato las notificaciones pendientes o una lista vacía si no hay notificaciones.
Si se omite, el valor predeterminado es waitForNotifications.

Los valores aceptables son los siguientes:
  • "returnImmediately"
  • "waitForNotifications"

Autorización

Esta solicitud requiere una autorización con el siguiente alcance:

Alcance
https://www.googleapis.com/auth/androidenterprise

Para obtener más información, consulta la página autenticación y autorización.

Cuerpo de la solicitud

No proporciones un cuerpo de la solicitud con este método.

Respuesta

Si se aplica correctamente, este método muestra un cuerpo de respuesta con la siguiente estructura:

{
  "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
                }
              ]
            }
          ]
        }
      },
      "enterpriseUpgradeEvent": {
        "upgradeState": string
      }
    }
  ]
}
Nombre de la propiedad Valor Descripción Notas
notificationSetId string El ID del conjunto de notificaciones, necesario para marcar la notificación como recibida con la API de Enterprises.AcknowledgeNotification. Se omitirá si no hay notificaciones.
notification[] list Las notificaciones recibidas o vacías si no hay notificaciones.
notification[].enterpriseId string Es el ID de la empresa para la que se envía la notificación. Siempre estará presente.
notification[].timestampMillis long Es la hora en que se publicó la notificación, en milisegundos desde 1970-01-01T00:00:00Z. Siempre estará presente.
notification[].productApprovalEvent nested object Notificaciones sobre cambios en el estado de aprobación de un producto.
notification[].productApprovalEvent.productId string El ID del producto (p.ej., "app:com.google.android.gm") cuyo estado de aprobación cambió. Este campo siempre estará presente.
notification[].productApprovalEvent.approved string Indica si se aprobó o no el producto. Este campo siempre estará presente.

Los valores aceptables son los siguientes:
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object Notificaciones sobre un error de instalación de una app.
notification[].installFailureEvent.productId string Es el ID del producto (p.ej., "app:com.google.android.gm") para el que se produjo el evento de error de instalación. Este campo siempre estará presente.
notification[].installFailureEvent.deviceId string El ID de Android del dispositivo. Este campo siempre estará presente.
notification[].installFailureEvent.userId string El ID del usuario Este campo siempre estará presente.
notification[].installFailureEvent.failureReason string El motivo del error de instalación. Este campo siempre estará presente.

Los valores aceptables son los siguientes:
  • "timeout"
  • "unknown"
notification[].installFailureEvent.failureDetails string Detalles adicionales sobre la falla, si corresponde
notification[].appUpdateEvent nested object Notificaciones sobre actualizaciones de apps
notification[].appUpdateEvent.productId string Es el ID del producto (p.ej., "app:com.google.android.gm") que se actualizó. Este campo siempre estará presente.
notification[].newPermissionsEvent nested object Notificaciones sobre nuevos permisos de apps
notification[].newPermissionsEvent.productId string El ID del producto (p.ej., "app:com.google.android.gm") para el que se agregaron permisos nuevos. Este campo siempre estará presente.
notification[].newPermissionsEvent.requestedPermissions[] list Es el conjunto de permisos que la app solicita actualmente. Usa Permissions.Get en la API de EMM para recuperar detalles sobre estos permisos.
notification[].newPermissionsEvent.approvedPermissions[] list Es el conjunto de permisos que el administrador de la empresa ya aprobó para esta aplicación. Usa Permissions.Get en la API de EMM para recuperar detalles sobre estos permisos.
notification[].appRestrictionsSchemaChangeEvent nested object Notificaciones sobre nuevos cambios de esquema de restricciones de apps.
notification[].appRestrictionsSchemaChangeEvent.productId string El ID del producto (p.ej., "app:com.google.android.gm") para el que cambió el esquema de restricción de apps. Este campo siempre estará presente.
notification[].productAvailabilityChangeEvent nested object Notificaciones sobre cambios en la disponibilidad de los productos.
notification[].productAvailabilityChangeEvent.productId string Es el ID del producto (p.ej., "app:com.google.android.gm") para el que cambió la disponibilidad. Este campo siempre estará presente.
notification[].productAvailabilityChangeEvent.availabilityStatus string Es el nuevo estado del producto. Este campo siempre estará presente.

Los valores aceptables son los siguientes:
  • "available"
  • "removed"
  • "unknown"
  • "unpublished"
notification[].newDeviceEvent nested object Notificaciones sobre dispositivos nuevos.
notification[].newDeviceEvent.userId string El ID del usuario Este campo siempre estará presente.
notification[].newDeviceEvent.deviceId string El ID de Android del dispositivo. Este campo siempre estará presente.
notification[].newDeviceEvent.managementType string Identifica el grado en que un EMM de Android controla el dispositivo en varias configuraciones de implementación.

Entre los valores posibles, se incluyen los siguientes:
  • "managedDevice", un dispositivo en el que el DPC está configurado como propietario del dispositivo
  • managedProfile”, un dispositivo en el que el DPC se establece como propietario del perfil.


Los valores aceptables son los siguientes:
  • "managedDevice"
  • "managedProfile"
notification[].notificationType string Es el tipo de notificación.

Los valores aceptables son los siguientes:
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "enterpriseUpgrade"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string La app de políticas en el dispositivo
notification[].deviceReportUpdateEvent nested object Notificaciones sobre actualizaciones de informes de dispositivos
notification[].deviceReportUpdateEvent.userId string El ID del usuario Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.deviceId string El ID de Android del dispositivo. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report nested object El informe del dispositivo se actualizó con los estados más recientes de la app. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long Es la marca de tiempo de la última actualización del informe, en milisegundos desde la época. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[] list Es la lista de estados de apps establecidos por las apps administradas en el dispositivo. Los desarrolladores de la app definen los estados de la app. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].packageName string Es el nombre del paquete de la app. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list Es una lista de estados de apps con claves. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string Clave que indica para qué proporciona un estado la app. El desarrollador de la app establece el contenido de la clave. Para evitar XSS, te recomendamos que quites el código HTML de la clave antes de mostrarla. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis long Es la marca de tiempo del momento en que la app estableció el estado en milisegundos desde la época. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string Gravedad del estado de la app. Este campo siempre estará presente.

Los valores aceptables son los siguientes:
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string Es un mensaje de formato libre legible por humanos que describe el estado de la app. Por ejemplo, un mensaje de error. Para evitar XSS, te recomendamos que quites el código HTML del mensaje antes de mostrarlo.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data string Es un campo adicional destinado a datos legibles por máquinas. Por ejemplo, un número o un objeto JSON. Para evitar XSS, te recomendamos que quites el código HTML de los datos antes de mostrarlos.
kind string
notification[].enterpriseUpgradeEvent nested object Notificaciones sobre la actualización empresarial
notification[].enterpriseUpgradeEvent.upgradeState string El estado de la actualización.

Los valores aceptables son los siguientes:
  • "upgradeStateSucceeded"
  • "upgradeStateUnspecified"