Enterprises: pullNotificationSet

Extrait et renvoie un ensemble de notifications pour les entreprises associées au compte de service authentifié pour la requête. L'ensemble de notifications peut être vide si aucune notification n'est en attente.
Un ensemble de notifications renvoyé doit être confirmé dans les 20 secondes en appelant Enterprises.AcknowledgeNotificationSet, sauf si l'ensemble de notifications est vide.
Les notifications qui ne sont pas confirmées dans les 20 secondes seront à nouveau incluses dans la réponse à une autre requête PullNotificationSet. Celles qui ne sont jamais confirmées seront supprimées conformément à la règle du système Pub/Sub de Google Cloud Platform.
Plusieurs requêtes peuvent être effectuées simultanément pour récupérer des notifications. Dans ce cas, les notifications en attente (le cas échéant) sont réparties entre chaque appelant, le cas échéant.
En l'absence de notifications, une liste de notifications vide est renvoyée. Les requêtes suivantes peuvent renvoyer plus de notifications lorsqu'elles seront disponibles.

Demande

Requête HTTP :

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

Paramètres

Nom du paramètre Valeur Description
Paramètres de requête facultatifs
requestMode string Mode de demande d'extraction des notifications.
Si vous spécifiez waitForNotifications, la requête est bloquée et attend qu'une ou plusieurs notifications soient présentes, ou renvoie une liste de notifications vide si aucune notification n'est envoyée après un certain temps.
Si vous spécifiez returnImmediately, la requête renvoie immédiatement les notifications en attente ou une liste vide en l'absence de notifications.
En cas d'omission, la valeur par défaut est waitForNotifications.

Les valeurs autorisées sont les suivantes :
  • "returnImmediately"
  • "waitForNotifications"

Autorisation

Cette requête nécessite une autorisation dont la portée est la suivante:

Portée
https://www.googleapis.com/auth/androidenterprise

Pour en savoir plus, consultez la page Authentification et autorisation.

Corps de la requête

Ne spécifiez pas de corps de requête pour cette méthode.

Réponse

Si la requête aboutit, cette méthode renvoie un corps de réponse présentant la structure suivante :

{
  "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
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
Nom de propriété Valeur Description Remarques
notificationSetId string ID de l'ensemble de notifications, nécessaire pour marquer la notification comme reçue avec l'API Enterprises.AcknowledgeNotification. Elle sera omise si aucune notification n'est affichée.
notification[] list Notifications reçues ou vide si aucune notification n'est présente.
notification[].enterpriseId string ID de l'entreprise pour laquelle la notification est envoyée. Elle sera toujours présente.
notification[].timestampMillis long Heure à laquelle la notification a été publiée, en millisecondes, depuis 1970-01-01T00:00:00Z. Elle sera toujours présente.
notification[].productApprovalEvent nested object Notifications concernant les modifications de l'état d'approbation d'un produit.
notification[].productApprovalEvent.productId string Identifiant du produit (par exemple, "app:com.google.android.gm") pour lequel l'état d'approbation a changé. Ce champ sera toujours présent.
notification[].productApprovalEvent.approved string Indique si le produit a été approuvé ou non. Ce champ sera toujours présent.

Les valeurs autorisées sont les suivantes :
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object Notifications en cas d'échec de l'installation d'une application.
notification[].installFailureEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") pour lequel l'installation a échoué. Ce champ sera toujours présent.
notification[].installFailureEvent.deviceId string ID Android de l'appareil. Ce champ sera toujours présent.
notification[].installFailureEvent.userId string ID de l'utilisateur. Ce champ sera toujours présent.
notification[].installFailureEvent.failureReason string Cause de l'échec de l'installation. Ce champ sera toujours présent.

Les valeurs autorisées sont les suivantes :
  • "timeout"
  • "unknown"
notification[].installFailureEvent.failureDetails string Informations supplémentaires sur l'échec, le cas échéant.
notification[].appUpdateEvent nested object Notifications concernant les mises à jour d'applications.
notification[].appUpdateEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") mis à jour. Ce champ sera toujours présent.
notification[].newPermissionsEvent nested object Notifications concernant les nouvelles autorisations des applications.
notification[].newPermissionsEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") pour lequel de nouvelles autorisations ont été ajoutées Ce champ sera toujours présent.
notification[].newPermissionsEvent.requestedPermissions[] list Ensemble des autorisations actuellement demandées par l'application. Utilisez Permissions.Get sur l'API EMM pour récupérer les détails de ces autorisations.
notification[].newPermissionsEvent.approvedPermissions[] list Ensemble d'autorisations que l'administrateur de l'entreprise a déjà approuvées pour cette application. Utilisez Permissions.Get sur l'API EMM pour récupérer les détails de ces autorisations.
notification[].appRestrictionsSchemaChangeEvent nested object Notifications concernant les modifications du schéma de nouvelles restrictions d'application.
notification[].appRestrictionsSchemaChangeEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") pour lequel le schéma de restriction d'application a été modifié. Ce champ sera toujours présent.
notification[].productAvailabilityChangeEvent nested object Notifications concernant les changements de disponibilité des produits.
notification[].productAvailabilityChangeEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") pour lequel la disponibilité du produit a changé. Ce champ sera toujours présent.
notification[].productAvailabilityChangeEvent.availabilityStatus string Nouvel état du produit. Ce champ sera toujours présent.

Les valeurs autorisées sont les suivantes :
  • "available"
  • "removed"
  • "unknown"
  • "unpublished"
notification[].newDeviceEvent nested object Notifications concernant les nouveaux appareils.
notification[].newDeviceEvent.userId string ID de l'utilisateur. Ce champ sera toujours présent.
notification[].newDeviceEvent.deviceId string ID Android de l'appareil. Ce champ sera toujours présent.
notification[].newDeviceEvent.managementType string Indique dans quelle mesure l'appareil est contrôlé par un fournisseur EMM Android dans différentes configurations de déploiement.

Les valeurs possibles sont les suivantes:
  • "managedDevice", un appareil sur lequel l'application DPC est définie comme propriétaire,
  • "managedProfile", un appareil sur lequel l'application DPC est définie comme propriétaire du profil.


Les valeurs autorisées sont les suivantes :
  • "managedDevice"
  • "managedProfile"
notification[].notificationType string Type de notification.

Les valeurs autorisées sont les suivantes :
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string Application Policy sur l'appareil.
notification[].deviceReportUpdateEvent nested object Notifications concernant les mises à jour des rapports sur les appareils.
notification[].deviceReportUpdateEvent.userId string ID de l'utilisateur. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.deviceId string ID Android de l'appareil. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report nested object Le rapport sur les appareils a été mis à jour avec les derniers états d'application. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long Horodatage de la dernière mise à jour du rapport en millisecondes depuis l'epoch. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.appState[] list Liste des états d'application définis par les applications gérées sur l'appareil. Les états d'une application sont définis par ses développeurs. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].packageName string Nom du package de l'application. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list Liste des états d'application à clé. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string Clé indiquant à quoi sert l'application. Le contenu de la clé est défini par le développeur de l'application. Pour éviter les attaques XSS, nous vous recommandons de supprimer tout code HTML de la clé avant de l'afficher. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis long Horodatage du moment où l'application a défini l'état en millisecondes depuis l'epoch. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string Gravité de l'état de l'application. Ce champ sera toujours présent.

Les valeurs autorisées sont les suivantes :
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string Message de forme libre décrivant l'état de l'application. Par exemple, un message d'erreur. Pour éviter tout problème de XSS, nous vous recommandons de supprimer tout code HTML du message avant de l'afficher.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data string Champ supplémentaire destiné aux données exploitables par un ordinateur. Par exemple, un nombre ou un objet JSON. Pour éviter tout problème de XSS, nous vous recommandons de supprimer tout code HTML des données avant de les afficher.
kind string