Enterprises: pullNotificationSet

Extrait et renvoie un ensemble de notifications pour les entreprises associées à le compte de service authentifié pour la requête. La notification définie peut sera 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.ConfirmNotificationSet, à moins que le l'ensemble de notifications est vide.
Les notifications qui ne sont pas confirmées dans les 20 secondes seront à nouveau inclus dans la réponse à un autre PullNotificationSet et celles qui ne sont jamais confirmées seront supprimées conformément à la règle système Pub/Sub de Google Cloud Platform.
Plusieurs requêtes peuvent être effectuées simultanément pour récupérer notifications, auquel cas les notifications en attente (le cas échéant) seront 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 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 demande pour l'extraction des notifications.
Si vous spécifiez waitForNotifications, la requête bloquer et attendre qu'une ou plusieurs notifications soient présentes, ou renvoyer une liste de notifications vide si aucune notification n'est présente après un certain temps.
Si vous spécifiez returnImmediately, la requête renvoie immédiatement les notifications en attente ou une liste vide si aucune notification sont présentes.
En cas d'omission, la valeur par défaut est waitForNotifications.

Les valeurs possibles 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
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
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.ConfirmNotification. Ce champ sera omis en l'absence de notification.
notification[] list Notifications reçues ou vide en l'absence de notifications
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 le 1er janvier 1970 à 00:00:00 UTC. Elle sera toujours présente.
notification[].productApprovalEvent nested object Notifications concernant les modifications apportées à l'état d'approbation d'un produit.
notification[].productApprovalEvent.productId string Identifiant du produit (par exemple, "app:com.google.android.gm") dont 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 possibles 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 Identifiant du produit (par exemple, "app:com.google.android.gm") pour lequel l'échec de l'installation s'est produit. 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 possibles sont les suivantes:
  • "timeout"
  • "unknown"
notification[].installFailureEvent.failureDetails string Informations supplémentaires sur l'échec, le cas échéant
notification[].appUpdateEvent nested object Notifications sur les mises à jour d'applications.
notification[].appUpdateEvent.productId string Identifiant 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 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" (Autorisations). Obtenez des informations sur ces autorisations dans l'API EMM.
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 sera toujours présent.
notification[].productAvailabilityChangeEvent nested object Notifications sur 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 sera toujours présent.
notification[].productAvailabilityChangeEvent.availabilityStatus string Nouvel état du produit. Ce champ est toujours présent.

Les valeurs possibles 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 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 fournisseur EMM Android dans différentes configurations de déploiement.

Les valeurs possibles sont les suivantes:
  • "managedDevice", un appareil sur lequel 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 possibles sont les suivantes: <ph type="x-smartling-placeholder">
    </ph>
  • "managedDevice"
  • "managedProfile"
notification[].notificationType string Type de notification.

Les valeurs possibles sont les suivantes:
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string Application Policy Controller 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 l'appareil a été mis à jour avec les derniers états des applications. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long Code temporel 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 de package de l'application. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list Liste des états d'application associés. Ce champ sera toujours présent.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string Clé indiquant à quoi sert l'état fourni par 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 Code temporel (en millisecondes) du moment où l'application a défini l'état 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 possibles sont les suivantes:
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string Message de forme libre et 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 un ordinateur. 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