Enterprises: pullNotificationSet

Récupère 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 un délai de 20 secondes en appelant Enterprises.AcknowledgeNotificationSet, sauf si l'ensemble de notifications est vide.
Les notifications qui ne sont pas confirmées dans un délai de 20 secondes seront finalement incluses à nouveau dans la réponse à une autre requête PullNotificationSet, et celles qui ne sont jamais confirmées seront finalement supprimées conformément au règlement du système Google Cloud Platform Pub/Sub.
Des requêtes multiples peuvent être effectuées simultanément pour récupérer des notifications. Dans ce cas, les notifications en attente (le cas échéant) seront réparties entre chaque appelant.
Si aucune notification n'est présente, une liste de notifications vide est renvoyée. Les requêtes ultérieures peuvent renvoyer d'autres notifications une fois qu'elles sont disponibles.

Requête

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 requête pour extraire les notifications.
Spécifier waitForNotifications entraîne le blocage de la requête et l'attente jusqu'à ce qu'une ou plusieurs notifications soient présentes, ou renvoie une liste de notifications vide si aucune notification n'est présente au bout d'un certain temps.
Spécifier returnImmediately entraîne le renvoi immédiat des notifications en attente ou d'une liste vide si aucune notification n'est présente.
Si aucune valeur n'est spécifiée, la valeur par défaut est waitForNotifications.

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

Autorisation

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

Champ d'application
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
                }
              ]
            }
          ]
        }
      },
      "enterpriseUpgradeEvent": {
        "upgradeState": string
      }
    }
  ]
}
Nom de propriété Valeur Description Remarques
notificationSetId string ID de l'ensemble de notifications, requis pour marquer la notification comme reçue avec l'API Enterprises.AcknowledgeNotification. Ce champ est omis si aucune notification n'est présente.
notification[] list Les 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. Cette information est toujours fournie.
notification[].timestampMillis long Heure à laquelle la notification a été publiée, en millisecondes depuis le 1er janvier 1970 à 00:00:00 UTC. Cette information est toujours fournie.
notification[].productApprovalEvent nested object Notifications concernant les modifications de l'état d'approbation d'un produit.
notification[].productApprovalEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") pour lequel l'état d'approbation a changé. Ce champ est toujours présent.
notification[].productApprovalEvent.approved string Indique si le produit a été approuvé ou non. Ce champ est toujours présent.

Les valeurs acceptées sont les suivantes :
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object Notifications concernant un échec d'installation d'application
notification[].installFailureEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") pour lequel l'événement d'échec de l'installation s'est produit. Ce champ est toujours présent.
notification[].installFailureEvent.deviceId string ID Android de l'appareil. Ce champ est toujours présent.
notification[].installFailureEvent.userId string ID de l'utilisateur. Ce champ est toujours présent.
notification[].installFailureEvent.failureReason string Motif de l'échec de l'installation. Ce champ est toujours présent.

Les valeurs accepté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 de l'application
notification[].appUpdateEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") mis à jour. Ce champ est toujours présent.
notification[].newPermissionsEvent nested object Notifications concernant les nouvelles autorisations d'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 est toujours présent.
notification[].newPermissionsEvent.requestedPermissions[] list Ensemble d'autorisations actuellement demandées par l'application. Utilisez Permissions.Get dans l'API EMM pour récupérer des informations sur 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 dans l'API EMM pour récupérer des informations sur ces autorisations.
notification[].appRestrictionsSchemaChangeEvent nested object Notifications concernant les nouvelles modifications apportées au schéma des restrictions d'application.
notification[].appRestrictionsSchemaChangeEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") pour lequel le schéma de restriction des applications a changé. Ce champ est toujours présent.
notification[].productAvailabilityChangeEvent nested object Notifications concernant les modifications de la disponibilité des produits
notification[].productAvailabilityChangeEvent.productId string ID du produit (par exemple, "app:com.google.android.gm") pour lequel la disponibilité a changé. Ce champ est toujours présent.
notification[].productAvailabilityChangeEvent.availabilityStatus string Nouvel état du produit. Ce champ est toujours présent.

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

Valeurs possibles:
  • "managedDevice", un appareil où le DPC est défini comme propriétaire de l'appareil ;
  • "managedProfile", un appareil où le DPC est défini comme propriétaire du profil.


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

Les valeurs acceptées sont les suivantes :
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "enterpriseUpgrade"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string Application de règles 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 est toujours présent.
notification[].deviceReportUpdateEvent.deviceId string ID Android de l'appareil. Ce champ est toujours présent.
notification[].deviceReportUpdateEvent.report nested object Le rapport sur l'appareil a été mis à jour avec les derniers états des applications. Ce champ est toujours présent.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long Horodatage de la dernière mise à jour du rapport, en millisecondes depuis l'epoch. Ce champ est 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 de l'application sont définis par ses développeurs. Ce champ est toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].packageName string Nom du package de l'application. Ce champ est toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list Liste des états d'application avec clé. Ce champ est toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string Clé indiquant à quoi l'application fournit un état. 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 est toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis long Code temporel de l'état défini par l'application, en millisecondes depuis l'epoch. Ce champ est toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string Gravité de l'état de l'application. Ce champ est toujours présent.

Les valeurs acceptées sont les suivantes :
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string Message de forme libre, lisible par l'humain, décrivant l'état de l'application. Par exemple, un message d'erreur. Pour éviter les attaques 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 lisibles par machine. Par exemple, un nombre ou un objet JSON. Pour éviter les attaques XSS, nous vous recommandons de supprimer tout code HTML des données avant de les afficher.
kind string
notification[].enterpriseUpgradeEvent nested object Notifications concernant la mise à niveau de l'entreprise
notification[].enterpriseUpgradeEvent.upgradeState string État de la mise à niveau.

Les valeurs acceptées sont les suivantes :
  • "upgradeStateSucceeded"
  • "upgradeStateUnspecified"