Enterprises: pullNotificationSet

Estrae e restituisce un insieme di notifiche per le aziende associate all'account di servizio autenticato per la richiesta. L'insieme di notifiche può essere vuoto se non sono presenti notifiche in attesa.
Un insieme di notifiche restituito deve essere confermato entro 20 secondi chiamando Enterprises.AcknowledgeNotificationSet, a meno che il insieme di notifiche non sia vuoto.
Le notifiche che non vengono confermate entro 20 secondi verranno nuovamente incluse nella risposta a un'altra richiesta PullNotificationSet e quelle che non vengono mai confermate verranno infine eliminate in base alle norme del sistema Pub/Sub della piattaforma Google Cloud.
Per recuperare le notifiche potrebbero essere eseguite più richieste contemporaneamente, nel qual caso le notifiche in attesa (se presenti) verranno suddivise tra ciascun chiamante.
Se non sono presenti notifiche, viene restituito un elenco di notifiche vuoto. Le richieste successive potrebbero restituire altre notifiche non appena diventano disponibili.

Richiesta

Richiesta HTTP

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

Parametri

Nome parametro Valore Descrizione
Parametri di query facoltativi
requestMode string La modalità di richiesta per il recupero delle notifiche.
Se specifichi waitForNotifications, la richiesta verrà bloccata e attenderà fino a quando non saranno presenti una o più notifiche oppure restituirà un elenco di notifiche vuoto se dopo un po' di tempo non sono presenti notifiche.
Se specifichi returnImmediately, la richiesta restituirà immediatamente le notifiche in attesa o un elenco vuoto se non sono presenti notifiche.
Se omesso, il valore predefinito è waitForNotifications.

I valori accettati sono:
  • "returnImmediately"
  • "waitForNotifications"

Autorizzazione

Questa richiesta richiede l'autorizzazione con il seguente ambito:

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

Per ulteriori informazioni, consulta la pagina Autenticazione e autorizzazione.

Corpo della richiesta

Non specificare un corpo della richiesta con questo metodo.

Risposta

In caso di esito positivo, questo metodo restituisce un corpo della risposta con la seguente struttura:

{
  "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 proprietà Valore Descrizione Note
notificationSetId string L'ID set di notifiche, necessario per contrassegnare la notifica come ricevuta con l'API Enterprises.AcknowledgeNotification. Questo valore verrà omesso se non sono presenti notifiche.
notification[] list Le notifiche ricevute oppure vuoto se non sono presenti notifiche.
notification[].enterpriseId string L'ID dell'azienda per cui viene inviata la notifica. Questo valore sarà sempre presente.
notification[].timestampMillis long La data e l'ora di pubblicazione della notifica in millisecondi dal 1970-01-01T00:00:00Z. Questo valore sarà sempre presente.
notification[].productApprovalEvent nested object Notifiche relative alle modifiche allo stato di approvazione di un prodotto.
notification[].productApprovalEvent.productId string L'ID del prodotto (ad es. "app:com.google.android.gm") per cui è cambiato lo stato di approvazione. Questo campo sarà sempre presente.
notification[].productApprovalEvent.approved string Indica se il prodotto è stato approvato o meno. Questo campo sarà sempre presente.

I valori accettati sono:
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object Notifiche relative a un errore di installazione dell'app.
notification[].installFailureEvent.productId string L'ID del prodotto (ad es. "app:com.google.android.gm") per cui si è verificato l'evento di errore di installazione. Questo campo sarà sempre presente.
notification[].installFailureEvent.deviceId string L'ID Android del dispositivo. Questo campo sarà sempre presente.
notification[].installFailureEvent.userId string L'ID dell'utente. Questo campo sarà sempre presente.
notification[].installFailureEvent.failureReason string Il motivo dell'errore di installazione. Questo campo sarà sempre presente.

I valori accettati sono:
  • "timeout"
  • "unknown"
notification[].installFailureEvent.failureDetails string Ulteriori dettagli sull'errore, se applicabili.
notification[].appUpdateEvent nested object Notifiche relative agli aggiornamenti delle app.
notification[].appUpdateEvent.productId string L'ID del prodotto (ad es. "app:com.google.android.gm") che è stato aggiornato. Questo campo sarà sempre presente.
notification[].newPermissionsEvent nested object Notifiche relative alle nuove autorizzazioni app.
notification[].newPermissionsEvent.productId string L'ID del prodotto (ad es. "app:com.google.android.gm") per cui sono state aggiunte nuove autorizzazioni. Questo campo sarà sempre presente.
notification[].newPermissionsEvent.requestedPermissions[] list L'insieme di autorizzazioni attualmente richieste dall'app. Utilizza Permissions.Get nell'API EMM per recuperare i dettagli su queste autorizzazioni.
notification[].newPermissionsEvent.approvedPermissions[] list L'insieme di autorizzazioni già approvate dall'amministratore dell'azienda per questa applicazione. Utilizza Permissions.Get nell'API EMM per recuperare i dettagli su queste autorizzazioni.
notification[].appRestrictionsSchemaChangeEvent nested object Notifiche relative alle nuove modifiche allo schema delle limitazioni delle app.
notification[].appRestrictionsSchemaChangeEvent.productId string L'ID del prodotto (ad es. "app:com.google.android.gm") per cui è stato modificato lo schema delle restrizioni per le app. Questo campo sarà sempre presente.
notification[].productAvailabilityChangeEvent nested object Notifiche relative alle modifiche della disponibilità dei prodotti.
notification[].productAvailabilityChangeEvent.productId string L'ID del prodotto (ad es. "app:com.google.android.gm") per cui è cambiata la disponibilità. Questo campo sarà sempre presente.
notification[].productAvailabilityChangeEvent.availabilityStatus string Il nuovo stato del prodotto. Questo campo sarà sempre presente.

I valori accettati sono:
  • "available"
  • "removed"
  • "unknown"
  • "unpublished"
notification[].newDeviceEvent nested object Notifiche relative ai nuovi dispositivi.
notification[].newDeviceEvent.userId string L'ID dell'utente. Questo campo sarà sempre presente.
notification[].newDeviceEvent.deviceId string L'ID Android del dispositivo. Questo campo sarà sempre presente.
notification[].newDeviceEvent.managementType string Identifica il grado in cui il dispositivo è controllato da un EMM Android in varie configurazioni di implementazione.

I valori possibili includono:
  • "managedDevice", un dispositivo su cui il PDC è impostato come proprietario del dispositivo,
  • "managedProfile", un dispositivo su cui il DPC è impostato come proprietario del profilo.


I valori accettati sono:
  • "managedDevice"
  • "managedProfile"
notification[].notificationType string Tipo di notifica.

I valori accettati sono:
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "enterpriseUpgrade"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string App di criteri sul dispositivo.
notification[].deviceReportUpdateEvent nested object Notifiche sugli aggiornamenti dei report del dispositivo.
notification[].deviceReportUpdateEvent.userId string L'ID dell'utente. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.deviceId string L'ID Android del dispositivo. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.report nested object Il report del dispositivo aggiornato con gli stati più recenti dell'app. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long Il timestamp dell'ultimo aggiornamento del report in millisecondi dall'epoca. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.report.appState[] list Elenco degli stati delle app impostati dalle app gestite sul dispositivo. Gli stati dell'app sono definiti dagli sviluppatori dell'app. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.report.appState[].packageName string Il nome del pacchetto dell'app. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list Elenco degli stati delle app con chiave. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string Chiave che indica per cosa l'app fornisce uno stato. I contenuti della chiave vengono impostati dallo sviluppatore dell'app. Per evitare attacchi XSS, ti consigliamo di rimuovere qualsiasi codice HTML dalla chiave prima di visualizzarla. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis long Timestamp dell'ora in cui l'app ha impostato lo stato in millisecondi dall'epoca. Questo campo sarà sempre presente.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string Gravità dello stato dell'app. Questo campo sarà sempre presente.

I valori accettati sono:
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string Messaggio in formato libero e leggibile che descrive lo stato dell'app. Ad esempio, un messaggio di errore. Per evitare gli attacchi XSS, ti consigliamo di rimuovere qualsiasi codice HTML dal messaggio prima di visualizzarlo.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data string Campo aggiuntivo destinato ai dati leggibili dalla macchina. Ad esempio, un numero o un oggetto JSON. Per evitare gli attacchi XSS, ti consigliamo di rimuovere qualsiasi codice HTML dai dati prima di visualizzarli.
kind string
notification[].enterpriseUpgradeEvent nested object Notifiche sull'upgrade aziendale.
notification[].enterpriseUpgradeEvent.upgradeState string Lo stato dell'upgrade.

I valori accettati sono:
  • "upgradeStateSucceeded"
  • "upgradeStateUnspecified"