Enterprises: pullNotificationSet

Pobiera i zwraca zestaw powiadomień dla firm powiązanych z kontem usługi uwierzytelnionym w żądaniu. Jeśli nie ma oczekujących powiadomień, zestaw powiadomień może być pusty.
Zwrócony zestaw powiadomień musi zostać potwierdzony w ciągu 20 sekund przez wywołanie funkcji Enterprises.AcknowledgeNotificationSet, chyba że zestaw powiadomień jest pusty.
Powiadomienia, które nie zostaną potwierdzone w ciągu 20 sekund, zostaną ponownie uwzględnione w odpowiedzi na kolejną prośbę o wyświetlenie zestawu powiadomień, a te, które nigdy nie zostaną potwierdzone, zostaną ostatecznie usunięte zgodnie z zasadami systemu Pub/Sub na platformie Google Cloud Platform.
Możliwe jest równoczesne wysyłanie wielu żądań powiadomień, w którym przypadku oczekujące powiadomienia (jeśli występują) zostaną rozdzielone między poszczególnych wywołujących.
Jeśli nie ma żadnych powiadomień, zwracana jest pusta lista powiadomień. Kolejne żądania mogą zwracać więcej powiadomień, gdy staną się dostępne.

Żądanie

Żądanie HTTP

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

Parametry

Nazwa parametru Wartość Opis
Parametry opcjonalne zapytania
requestMode string Tryb żądania pobierania powiadomień.
Jeśli określisz wartość waitForNotifications, żądanie zostanie zablokowane i czekanie na powiadomienia będzie trwać do momentu, aż pojawi się co najmniej 1 powiadomienie. Jeśli po pewnym czasie nie pojawi się żadne powiadomienie, zwrócona zostanie pusta lista powiadomień.
Jeśli określisz parametr returnImmediately, żądanie zwróci od razu oczekujące powiadomienia lub pustą listę, jeśli nie ma żadnych powiadomień.
Jeśli pominiesz tę wartość, zostanie użyta wartość domyślna waitForNotifications.

Akceptowane wartości:
  • returnImmediately
  • waitForNotifications

Autoryzacja

To żądanie wymaga autoryzacji z tym zakresem:

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

Więcej informacji znajdziesz na stronie Uwierzytelnianie i autoryzacja.

Treść żądania

W przypadku tej metody nie podawaj treści żądania.

Odpowiedź

Jeśli operacja się powiedzie, metoda zwróci odpowiedź o tej strukturze:

{
  "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
      }
    }
  ]
}
Nazwa usługi Wartość Opis Uwagi
notificationSetId string Identyfikator zestawu powiadomień, wymagany do oznaczenia powiadomienia jako odebranego za pomocą interfejsu API Enterprises.AcknowledgeNotification. Jeśli nie ma żadnych powiadomień, ten element zostanie pominięty.
notification[] list Otrzymane powiadomienia lub pusta lista, jeśli nie ma żadnych powiadomień.
notification[].enterpriseId string Identyfikator firmy, dla której wysyłane jest powiadomienie. Będzie ona zawsze widoczna.
notification[].timestampMillis long Czas opublikowania powiadomienia w milisekundach od 1970-01-01T00:00:00Z. Będzie ona zawsze widoczna.
notification[].productApprovalEvent nested object powiadomienia o zmianach stanu zatwierdzenia produktu;
notification[].productApprovalEvent.productId string Identyfikator produktu (np. „app:com.google.android.gm”), którego stan zatwierdzenia się zmienił. To pole będzie zawsze widoczne.
notification[].productApprovalEvent.approved string czy produkt został zatwierdzony. To pole będzie zawsze widoczne.

Akceptowane wartości:
  • approved
  • unapproved
  • unknown
notification[].installFailureEvent nested object powiadomienia o nieudanej instalacji aplikacji;
notification[].installFailureEvent.productId string Identyfikator usługi (np. „app:com.google.android.gm”), w której przypadku wystąpiło zdarzenie niepowodzenia instalacji. To pole będzie zawsze widoczne.
notification[].installFailureEvent.deviceId string Identyfikator Androida urządzenia. To pole będzie zawsze widoczne.
notification[].installFailureEvent.userId string Identyfikator użytkownika. To pole będzie zawsze widoczne.
notification[].installFailureEvent.failureReason string Powód niepowodzenia instalacji. To pole będzie zawsze widoczne.

Akceptowane wartości:
  • timeout
  • unknown
notification[].installFailureEvent.failureDetails string W razie potrzeby dodatkowe informacje o błędzie.
notification[].appUpdateEvent nested object powiadomienia o aktualizacjach aplikacji;
notification[].appUpdateEvent.productId string Identyfikator zaktualizowanego produktu (np. „app:com.google.android.gm”). To pole będzie zawsze widoczne.
notification[].newPermissionsEvent nested object powiadomienia o nowych uprawnieniach aplikacji;
notification[].newPermissionsEvent.productId string Identyfikator produktu (np. „app:com.google.android.gm”), dla którego dodano nowe uprawnienia. To pole będzie zawsze widoczne.
notification[].newPermissionsEvent.requestedPermissions[] list Zestaw uprawnień, o które prosi aplikacja. Aby uzyskać szczegółowe informacje o tych uprawnieniach, użyj interfejsu API EMM.
notification[].newPermissionsEvent.approvedPermissions[] list Zestaw uprawnień, które administrator firmy już zatwierdził dla tej aplikacji. Aby uzyskać szczegółowe informacje o tych uprawnieniach, użyj interfejsu API EMM.
notification[].appRestrictionsSchemaChangeEvent nested object Powiadomienia o zmianach w schemacie ograniczeń aplikacji.
notification[].appRestrictionsSchemaChangeEvent.productId string Identyfikator produktu (np. „app:com.google.android.gm”), dla którego zmienił się schemat ograniczeń aplikacji. To pole będzie zawsze widoczne.
notification[].productAvailabilityChangeEvent nested object powiadomienia o zmianach dostępności produktów;
notification[].productAvailabilityChangeEvent.productId string Identyfikator produktu (np. „app:com.google.android.gm”), którego dostępność uległa zmianie. To pole będzie zawsze widoczne.
notification[].productAvailabilityChangeEvent.availabilityStatus string Nowy stan produktu. To pole będzie zawsze widoczne.

Akceptowane wartości:
  • available
  • removed
  • unknown
  • unpublished
notification[].newDeviceEvent nested object powiadomienia o nowych urządzeniach;
notification[].newDeviceEvent.userId string Identyfikator użytkownika. To pole będzie zawsze widoczne.
notification[].newDeviceEvent.deviceId string Identyfikator Androida urządzenia. To pole będzie zawsze widoczne.
notification[].newDeviceEvent.managementType string Określa, w jakim stopniu urządzenie jest kontrolowane przez EMM na Androida w różnych konfiguracjach wdrożenia.

Możliwe wartości:
  • managedDevice”, urządzenie, na którym usługa DPC jest ustawiona jako właściciel urządzenia,
  • managedProfile”, urządzenie, na którym urządzenie DPC jest ustawione jako właściciel profilu.


Akceptowane wartości:
  • managedDevice
  • managedProfile
notification[].notificationType string Typ powiadomienia.

Akceptowane wartości:
  • appRestricionsSchemaChange
  • appUpdate
  • deviceReportUpdate
  • enterpriseUpgrade
  • installFailure
  • newDevice
  • newPermissions
  • productApproval
  • productAvailabilityChange
  • testNotification
  • unknown
notification[].newDeviceEvent.dpcPackageName string aplikacji zasad na urządzeniu.
notification[].deviceReportUpdateEvent nested object powiadomienia o aktualizacjach raportów z urządzeń;
notification[].deviceReportUpdateEvent.userId string Identyfikator użytkownika. To pole będzie zawsze widoczne.
notification[].deviceReportUpdateEvent.deviceId string Identyfikator Androida urządzenia. To pole będzie zawsze widoczne.
notification[].deviceReportUpdateEvent.report nested object Raport urządzenia z aktualnymi stanami aplikacji. To pole będzie zawsze widoczne.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long Sygnatura czasowa ostatniej aktualizacji raportu w milisekundach od początku epoki. To pole będzie zawsze widoczne.
notification[].deviceReportUpdateEvent.report.appState[] list Lista stanów aplikacji ustawionych przez aplikacje zarządzane na urządzeniu. Stany aplikacji są definiowane przez deweloperów. To pole będzie zawsze widoczne.
notification[].deviceReportUpdateEvent.report.appState[].packageName string Nazwa pakietu aplikacji. To pole jest zawsze widoczne.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list Lista stanów aplikacji z kluczami. To pole będzie zawsze widoczne.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string Klucz wskazujący, dla czego aplikacja udostępnia stan. Treść klucza jest ustawiana przez dewelopera aplikacji. Aby zapobiec XSS, zalecamy usunięcie z klucza wszelkich elementów HTML przed jego wyświetleniem. To pole będzie zawsze widoczne.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis long Sygnatura czasowa ustawienia stanu przez aplikację w milisekundach od początku epoki. To pole będzie zawsze widoczne.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string Poważne naruszenie stanu aplikacji. To pole będzie zawsze widoczne.

Akceptowane wartości:
  • severityError
  • severityInfo
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string Zrozumiały dla człowieka ciąg tekstowy opisujący stan aplikacji. Może to być na przykład komunikat o błędzie. Aby zapobiec atakom XSS, zalecamy usunięcie z wiadomości wszelkich elementów HTML przed jej wyświetleniem.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data string Dodatkowe pole przeznaczone do danych czytelnych dla komputera. Może to być na przykład liczba lub obiekt JSON. Aby zapobiec atakom XSS, zalecamy usunięcie z danych wszelkich elementów HTML przed ich wyświetleniem.
kind string
notification[].enterpriseUpgradeEvent nested object Powiadomienia o uaktualnieniu wersji dla firm.
notification[].enterpriseUpgradeEvent.upgradeState string Stan uaktualnienia.

Akceptowane wartości:
  • upgradeStateSucceeded
  • upgradeStateUnspecified