Enterprises: pullNotificationSet

Extrai e retorna um conjunto de notificações para as empresas associadas à conta de serviço autenticada para a solicitação. O conjunto de notificações pode ficar vazio se nenhuma notificação estiver pendente.
Um conjunto de notificações retornado precisa ser confirmado em 20 segundos chamando Enterprises.AcknowledgeNotificationSet, a menos que o conjunto de notificações esteja vazio.
As notificações que não forem confirmadas em 20 segundos serão incluídas novamente na resposta a outro pedido de PullNotificationSet, e as que nunca forem confirmadas serão excluídas de acordo com a política do sistema Pub/Sub do Google Cloud Platform.
Várias solicitações podem ser realizadas simultaneamente para recuperar notificações. Nesse caso, as notificações pendentes (se houver) serão divididas entre cada autor da chamada, se houver.
Se não houver notificações, uma lista vazia será retornada. As solicitações subsequentes podem retornar mais notificações quando elas estiverem disponíveis.

Solicitação

Solicitação HTTP

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

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de consulta opcionais
requestMode string O modo de solicitação para puxar notificações.
A especificação de waitForNotifications fará com que a solicitação seja bloqueada e aguarde até que uma ou mais notificações estejam presentes ou retorne uma lista de notificações vazia se nenhuma notificação estiver presente após algum tempo.
A especificação de returnImmediately fará com que a solicitação retorne imediatamente as notificações pendentes ou uma lista vazia se nenhuma notificação estiver presente.
Se omitido, o padrão é waitForNotifications.

Os valores aceitáveis são:
  • "returnImmediately"
  • "waitForNotifications"

Autorização

Esta solicitação requer autorização com o seguinte escopo:

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

Para mais informações, consulte a página de autenticação e autorização.

Corpo da solicitação

Não forneça um corpo de solicitação com este método.

Resposta

Se for bem-sucedido, esse método retornará um corpo de resposta com esta estrutura:

{
  "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
      }
    }
  ]
}
Nome da propriedade Valor Descrição Observações
notificationSetId string O ID do conjunto de notificações, necessário para marcar a notificação como recebida com a API Enterprises.AcknowledgeNotification. Isso será omitido se não houver notificações.
notification[] list As notificações recebidas ou vazia se nenhuma notificação estiver presente.
notification[].enterpriseId string O ID da empresa para a qual a notificação é enviada. Isso sempre será preenchido.
notification[].timestampMillis long O horário em que a notificação foi publicada em milissegundos desde 1970-01-01T00:00:00Z. Isso sempre será preenchido.
notification[].productApprovalEvent nested object Notificações sobre mudanças no status de aprovação de um produto.
notification[].productApprovalEvent.productId string O ID do produto (por exemplo, "app:com.google.android.gm") em que o status de aprovação mudou. Esse campo sempre estará presente.
notification[].productApprovalEvent.approved string Se o produto foi aprovado ou não. Esse campo sempre estará presente.

Os valores aceitáveis são:
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object Notificações sobre uma falha na instalação de um app.
notification[].installFailureEvent.productId string O ID do produto (por exemplo, "app:com.google.android.gm") em que ocorreu o evento de falha de instalação. Esse campo sempre estará presente.
notification[].installFailureEvent.deviceId string O ID do dispositivo Android. Esse campo sempre estará presente.
notification[].installFailureEvent.userId string O ID do usuário. Esse campo sempre estará presente.
notification[].installFailureEvent.failureReason string O motivo da falha na instalação. Esse campo sempre estará presente.

Os valores aceitáveis são:
  • "timeout"
  • "unknown"
notification[].installFailureEvent.failureDetails string Detalhes adicionais sobre a falha, se aplicável.
notification[].appUpdateEvent nested object Notificações sobre atualizações do app.
notification[].appUpdateEvent.productId string O ID do produto (por exemplo, "app:com.google.android.gm") que foi atualizado. Esse campo sempre estará presente.
notification[].newPermissionsEvent nested object Notificações sobre novas permissões de apps.
notification[].newPermissionsEvent.productId string O ID do produto (por exemplo, "app:com.google.android.gm") para o qual novas permissões foram adicionadas. Esse campo sempre estará presente.
notification[].newPermissionsEvent.requestedPermissions[] list O conjunto de permissões que o app está solicitando no momento. Use Permissions.Get na API EMM para extrair detalhes sobre essas permissões.
notification[].newPermissionsEvent.approvedPermissions[] list O conjunto de permissões que o administrador da empresa já aprovou para esse app. Use Permissions.Get na API EMM para extrair detalhes sobre essas permissões.
notification[].appRestrictionsSchemaChangeEvent nested object Notificações sobre novas mudanças no esquema de restrições de apps.
notification[].appRestrictionsSchemaChangeEvent.productId string O ID do produto (por exemplo, "app:com.google.android.gm") em que o esquema de restrição de app foi alterado. Esse campo sempre estará presente.
notification[].productAvailabilityChangeEvent nested object Notificações sobre mudanças na disponibilidade do produto.
notification[].productAvailabilityChangeEvent.productId string O ID do produto (por exemplo, "app:com.google.android.gm") em que a disponibilidade mudou. Esse campo sempre estará presente.
notification[].productAvailabilityChangeEvent.availabilityStatus string O novo estado do produto. Esse campo sempre estará presente.

Os valores aceitáveis são:
  • "available"
  • "removed"
  • "unknown"
  • "unpublished"
notification[].newDeviceEvent nested object Notificações sobre novos dispositivos.
notification[].newDeviceEvent.userId string O ID do usuário. Esse campo sempre estará presente.
notification[].newDeviceEvent.deviceId string O ID do dispositivo Android. Esse campo sempre estará presente.
notification[].newDeviceEvent.managementType string Identifica o nível em que o dispositivo é controlado por um EMM do Android em várias configurações de implantação.

Os valores possíveis incluem:
  • "managedDevice", um dispositivo em que o DPC está definido como proprietário do dispositivo,
  • "managedProfile", um dispositivo em que o DPC está definido como proprietário do perfil.


Os valores aceitáveis são:
  • "managedDevice"
  • "managedProfile"
notification[].notificationType string Tipo de notificação.

Os valores aceitáveis são:
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "enterpriseUpgrade"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string app Policy no dispositivo.
notification[].deviceReportUpdateEvent nested object Notificações sobre atualizações de relatórios de dispositivos.
notification[].deviceReportUpdateEvent.userId string O ID do usuário. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.deviceId string O ID do dispositivo Android. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.report nested object O relatório do dispositivo atualizado com os estados mais recentes do app. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long O carimbo de data/hora da última atualização do relatório em milissegundos desde a época. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[] list Lista de estados de apps definidos por apps gerenciados no dispositivo. Os estados do app são definidos pelos desenvolvedores. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].packageName string O nome do pacote do app. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list Lista de estados de chaves do app. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string Chave que indica para qual estado o app está fornecendo um estado. O conteúdo da chave é definido pelo desenvolvedor do app. Para evitar XSS, recomendamos remover qualquer HTML da chave antes de exibi-la. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis long Carimbo de data/hora de quando o app definiu o estado em milissegundos desde a época. Esse campo sempre estará presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string Gravidade do estado do app. Esse campo sempre estará presente.

Os valores aceitáveis são:
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string Mensagem de formato livre legível por humanos que descreve o estado do app. Por exemplo, uma mensagem de erro. Para evitar XSS, recomendamos remover qualquer HTML da mensagem antes de exibi-la.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data string Campo adicional destinado a dados legíveis por máquina. Por exemplo, um número ou objeto JSON. Para evitar XSS, recomendamos remover qualquer HTML dos dados antes de exibi-los.
kind string
notification[].enterpriseUpgradeEvent nested object Notificações sobre o upgrade empresarial.
notification[].enterpriseUpgradeEvent.upgradeState string O estado do upgrade.

Os valores aceitáveis são:
  • "upgradeStateSucceeded"
  • "upgradeStateUnspecified"