Enterprises: pullNotificationSet

Extrae y muestra un conjunto de notificaciones para las empresas asociadas con la cuenta de servicio autenticada para la solicitud. El conjunto de notificaciones puede estar vacío si no hay una notificación pendiente.
Un conjunto de notificaciones que se muestra debe confirmar su recepción en 20 segundos llamando a Enterprises.AcknowledgeNotificationSet, a menos que esté vacío.
Las notificaciones que no se confirmen dentro de los 20 segundos se incluirán de nuevo en la respuesta a otra solicitud PullNotificationSet, y las que nunca se reconozcan se borrarán de acuerdo con la política del sistema de Google Cloud Platform Pub/Sub.
Es posible que se realicen varias solicitudes de forma simultánea para recuperar notificaciones, en cuyo caso las notificaciones pendientes (si las hay) se dividirán entre cada emisor, si es que hay alguna pendiente.
Si no hay notificaciones, se muestra una lista vacía. Las solicitudes posteriores pueden mostrar más notificaciones cuando 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 El modo de solicitud para extraer notificaciones.
Si especificas waitForNotifications, la solicitud se bloqueará y se esperará hasta que haya una o más notificaciones, o se mostrará una lista vacía de notificaciones 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 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 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, obligatorio para marcar la notificación como recibida con la API de Enterprise.AcknowledgeNotification Se omitirá si no hay notificaciones.
notification[] list Notificaciones recibidas o vacías si no existen.
notification[].enterpriseId string El ID de la empresa a la que se envía la notificación. Estará siempre presente.
notification[].timestampMillis long El momento en que la notificación se publicó en milisegundos desde 1970-01-01T00:00:00Z. Estará siempre 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") en el que cambió el estado de aprobación. Este campo estará siempre presente.
notification[].productApprovalEvent.approved string Indica si el producto se aprobó o no. Este campo estará siempre presente.

Los valores aceptables son los siguientes:
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object Notificaciones sobre un error en la instalación de la app
notification[].installFailureEvent.productId string Es el ID del producto (p. ej., "app.com.google.android.gm") en el que ocurrió el evento de falla de instalación. Este campo estará siempre presente.
notification[].installFailureEvent.deviceId string Es el ID de Android del dispositivo. Este campo estará siempre presente.
notification[].installFailureEvent.userId string El ID del usuario Este campo estará siempre presente.
notification[].installFailureEvent.failureReason string Es el motivo de la falla de instalación. Este campo estará siempre 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 El ID del producto (p. ej., "app.com.google.android.gm") que se actualizó. Este campo estará siempre presente.
notification[].newPermissionsEvent nested object Notificaciones sobre nuevos permisos de apps
notification[].newPermissionsEvent.productId string Es el ID del producto (p. ej., "app.com.google.android.gm") al que se agregaron los permisos nuevos. Este campo estará siempre 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 El conjunto de permisos que el administrador empresarial 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 la app
notification[].appRestrictionsSchemaChangeEvent.productId string Es el ID del producto (p. ej., "app.com.google.android.gm") en el que cambió el esquema de restricciones de la aplicación. Este campo estará siempre 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") en el que cambió la disponibilidad del producto. Este campo estará siempre presente.
notification[].productAvailabilityChangeEvent.availabilityStatus string El nuevo estado del producto. Este campo estará siempre 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 estará siempre presente.
notification[].newDeviceEvent.deviceId string Es el ID de Android del dispositivo. Este campo estará siempre presente.
notification[].newDeviceEvent.managementType string Identifica en qué medida el dispositivo es controlado por un EMM de Android en varias configuraciones de implementación.

Estos son algunos de los valores posibles:
  • "managedDevice", un dispositivo en el que el DPC se establece como propietario del dispositivo,
  • "managedProfile", un dispositivo en el que el DPC se configura como propietario del perfil.


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

Los valores aceptables son los siguientes:
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string App de política en el dispositivo.
notification[].deviceReportUpdateEvent nested object Notificaciones sobre actualizaciones en los informes de dispositivos.
notification[].deviceReportUpdateEvent.userId string El ID del usuario Este campo estará siempre presente.
notification[].deviceReportUpdateEvent.deviceId string Es el ID de Android del dispositivo. Este campo estará siempre presente.
notification[].deviceReportUpdateEvent.report nested object Se actualizó el informe de dispositivos con los últimos estados de la app. Este campo estará siempre presente.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long Es la marca de tiempo de la última actualización del informe en milisegundos desde el epoch. Este campo estará siempre presente.
notification[].deviceReportUpdateEvent.report.appState[] list Lista de los estados de las apps que establecen las apps administradas en el dispositivo. Los desarrolladores de la app definen los estados de la app. Este campo estará siempre presente.
notification[].deviceReportUpdateEvent.report.appState[].packageName string El nombre del paquete de la app. Este campo siempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list Lista de estados de apps con clave. Este campo estará siempre presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string La clave que indica para qué proporciona la app un estado. El desarrollador de la app es quien establece el contenido de la clave. Para evitar la XSS, te recomendamos que quites el código HTML de la clave antes de mostrarla. Este campo estará siempre 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 estará siempre presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string Gravedad del estado de la app. Este campo estará siempre presente.

Los valores aceptables son los siguientes:
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string Mensaje de formato libre y legible que describe el estado de la app. Por ejemplo, un mensaje de error. Para evitar la XSS, te recomendamos que quites el código HTML del mensaje antes de mostrarlo.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data string Campo adicional diseñado para datos procesables. Por ejemplo, un número o un objeto JSON. Para evitar la XSS, recomendamos quitar el código HTML de los datos antes de mostrarlo.
kind string