Enterprises: pullNotificationSet

Extrae y muestra un conjunto de notificaciones para las empresas asociadas con la cuenta de servicio autenticada para la solicitud. La notificación establecida puede estará vacío si no hay notificaciones pendientes.
Un conjunto de notificaciones que se muestra debe confirmarse en un plazo de 20 segundos llamando a Enterprises.AcknowledgeNotificationSet, a menos que el conjunto de notificaciones está vacío.
Las notificaciones que no se acepten dentro de los 20 segundos en la respuesta a otro PullNotificationSet solicitud, y las que nunca se reconocen se borrarán en última instancia según la política del sistema de Pub/Sub de Google Cloud.
Se pueden realizar 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 vacía. Es posible que en las solicitudes posteriores se devuelvan más notificaciones una vez que se 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 El modo de solicitud para extraer notificaciones.
Especificar waitForNotifications hará que la solicitud bloquear y esperar hasta una o más notificaciones, o devuelve un lista de notificaciones vacía si no hay notificaciones después de un tiempo.
Si especificas returnImmediately, la solicitud Mostrará inmediatamente las notificaciones pendientes o una lista vacía si no hay notificaciones están presentes.
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 de 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
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
Nombre de la propiedad Valor Descripción Notas
notificationSetId string El ID del conjunto de notificaciones, que se requiere 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 presentes.
notification[].enterpriseId string Es el ID de la empresa para la que se envía la notificación. Esta siempre estará presente.
notification[].timestampMillis long El momento en que la notificación se publicó, expresada en milisegundos, desde 1970-01-01T00:00:00Z. Esta siempre estará presente.
notification[].productApprovalEvent nested object Notificaciones sobre cambios en el estado de aprobación de un producto.
notification[].productApprovalEvent.productId string Es el ID del producto (p.ej., "app:com.google.android.gm") para el que cambió el estado de aprobación. Este campo siempre estará presente.
notification[].productApprovalEvent.approved string Si el producto se aprobó o no. Este campo siempre estará presente.

Los valores aceptables son los siguientes:
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object Notificaciones sobre errores 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 Indica 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 la app.
notification[].newPermissionsEvent.productId string Es el ID del producto (p.ej., "app:com.google.android.gm") para el que se agregaron los 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 en el esquema de restricciones de apps.
notification[].appRestrictionsSchemaChangeEvent.productId string Es el ID del producto (p.ej., "app:com.google.android.gm") para el que se modificó el esquema de restricciones 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 Indica el ID de Android del dispositivo. Este campo siempre estará presente.
notification[].newDeviceEvent.managementType string Identifica hasta qué punto 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" es un dispositivo en el que el DPC está configurado 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"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string Es la app de políticas en el dispositivo.
notification[].deviceReportUpdateEvent nested object Notificaciones sobre actualizaciones de los informes de dispositivos.
notification[].deviceReportUpdateEvent.userId string El ID del usuario Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.deviceId string Indica el ID de Android del dispositivo. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report nested object El informe del dispositivo se actualiza 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 el ciclo de entrenamiento. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[] list Lista de estados de apps establecidos por 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 Lista de estados de app con clave. 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 Marca de tiempo del momento en que la app estableció el estado en milisegundos desde el ciclo de entrenamiento. 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 Mensaje de formato libre y 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 Campo adicional destinado a datos aptos para la lectura automática. 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