Enterprises: pullNotificationSet

अनुरोध के लिए पुष्टि किए गए सेवा खाते से जुड़े एंटरप्राइज़ के लिए, सूचना सेट को खींचता है और दिखाता है. अगर कोई सूचना बाकी नहीं है, तो सूचना सेट खाली हो सकता है.
अगर सूचना सेट खाली नहीं है, तो Enterprises.AcknowledgeNotificationSet को कॉल करके, रिटर्न किए गए सूचना सेट को 20 सेकंड के अंदर स्वीकार करना ज़रूरी है.
जिन सूचनाओं की पुष्टि 20 सेकंड के अंदर नहीं की जाती है उन्हें आखिर में, PullNotificationSet के किसी दूसरे अनुरोध के जवाब में फिर से शामिल किया जाएगा. साथ ही, जिन सूचनाओं की पुष्टि कभी नहीं की जाती है उन्हें Google Cloud Platform के Pub/Sub सिस्टम की नीति के मुताबिक मिटा दिया जाएगा.
सूचनाएं पाने के लिए, एक साथ कई अनुरोध किए जा सकते हैं. ऐसे में, अगर कोई सूचना बाकी है, तो उसे कॉल करने वाले हर व्यक्ति के बीच बांटा जाएगा.
अगर कोई सूचना मौजूद नहीं है, तो सूचनाओं की खाली सूची दिखती है. बाद में किए गए अनुरोधों से, उपलब्ध होने पर ज़्यादा सूचनाएं मिल सकती हैं.

अनुरोध

एचटीटीपी अनुरोध

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

पैरामीटर

पैरामीटर का नाम मान ब्यौरा
ज़रूरी नहीं क्वेरी पैरामीटर
requestMode string सूचनाएं पाने के लिए अनुरोध मोड.
waitForNotifications की वैल्यू देने पर, अनुरोध को ब्लॉक कर दिया जाएगा और एक या उससे ज़्यादा सूचनाएं मिलने तक इंतज़ार किया जाएगा. इसके अलावा, अगर कुछ समय बाद भी कोई सूचना नहीं मिलती है, तो सूचनाओं की सूची खाली दिखेगी.
returnImmediately की वैल्यू देने पर, अनुरोध करने पर, आपको उन सूचनाओं की सूची तुरंत दिखेगी जो अभी तक डिलीवर नहीं हुई हैं. अगर कोई सूचना नहीं है, तो आपको खाली सूची दिखेगी.
अगर यह प्रॉपर्टी शामिल नहीं की जाती है, तो डिफ़ॉल्ट रूप से waitForNotifications लागू हो जाता है.

ये वैल्यू डाली जा सकती हैं:
  • "returnImmediately"
  • "waitForNotifications"

अनुमति देना

इस अनुरोध के लिए, यहां दिए गए स्कोप के साथ अनुमति की ज़रूरत है:

दायरा
https://www.googleapis.com/auth/androidenterprise

ज़्यादा जानकारी के लिए, पुष्टि और अनुमति पेज देखें.

अनुरोध का मुख्य भाग

इस तरीके का इस्तेमाल करते समय, अनुरोध का मुख्य हिस्सा न दें.

जवाब

अगर एपीआई सही से जुड़ जाता है, तो यह तरीका इस स्ट्रक्चर के साथ रिस्पॉन्स बॉडी दिखाता है:

{
  "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
      }
    }
  ]
}
प्रॉपर्टी का नाम मान ब्यौरा नोट
notificationSetId string सूचना सेट आईडी, जो Enterprises.AcknowledgeNotification API की मदद से, सूचना को 'पाप्त हुई' के तौर पर मार्क करने के लिए ज़रूरी है. अगर कोई सूचना मौजूद नहीं है, तो यह विकल्प नहीं दिखेगा.
notification[] list आपको मिली सूचनाएं. अगर कोई सूचना नहीं है, तो यह फ़ील्ड खाली होगा.
notification[].enterpriseId string उस एंटरप्राइज़ का आईडी जिसके लिए सूचना भेजी गई है. यह हमेशा मौजूद रहेगा.
notification[].timestampMillis long सूचना को पब्लिश करने का समय, मिलीसेकंड में. यह समय 1970-01-01T00:00:00Z से शुरू होता है. यह हमेशा मौजूद रहेगा.
notification[].productApprovalEvent nested object प्रॉडक्ट की अनुमति की स्थिति में हुए बदलावों के बारे में सूचनाएं.
notification[].productApprovalEvent.productId string उस प्रॉडक्ट का आईडी (उदाहरण के लिए, "app:com.google.android.gm") जिसकी स्थिति में बदलाव हुआ है. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].productApprovalEvent.approved string प्रॉडक्ट को मंज़ूरी मिली है या नहीं. यह फ़ील्ड हमेशा मौजूद रहेगा.

ये वैल्यू डाली जा सकती हैं:
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object ऐप्लिकेशन इंस्टॉल न होने की सूचनाएं.
notification[].installFailureEvent.productId string उस प्रॉडक्ट का आईडी (उदाहरण के लिए, "app:com.google.android.gm") जिसके लिए इंस्टॉल न हो पाने का इवेंट हुआ. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].installFailureEvent.deviceId string डिवाइस का Android आईडी. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].installFailureEvent.userId string उपयोगकर्ता का आईडी. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].installFailureEvent.failureReason string इंस्टॉल न हो पाने की वजह. यह फ़ील्ड हमेशा मौजूद रहेगा.

ये वैल्यू डाली जा सकती हैं:
  • "timeout"
  • "unknown"
notification[].installFailureEvent.failureDetails string अगर लागू हो, तो गड़बड़ी के बारे में ज़्यादा जानकारी.
notification[].appUpdateEvent nested object ऐप्लिकेशन के अपडेट के बारे में सूचनाएं.
notification[].appUpdateEvent.productId string अपडेट किए गए प्रॉडक्ट का आईडी (उदाहरण के लिए, "app:com.google.android.gm"). यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].newPermissionsEvent nested object ऐप्लिकेशन की नई अनुमतियों के बारे में सूचनाएं.
notification[].newPermissionsEvent.productId string उस प्रॉडक्ट का आईडी (उदाहरण के लिए, "app:com.google.android.gm") जिसके लिए नई अनुमतियां जोड़ी गई हैं. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].newPermissionsEvent.requestedPermissions[] list उन अनुमतियों का सेट जिनका अनुरोध फ़िलहाल ऐप्लिकेशन कर रहा है. इन अनुमतियों के बारे में जानकारी पाने के लिए, EMM API पर Permissions.Get का इस्तेमाल करें.
notification[].newPermissionsEvent.approvedPermissions[] list अनुमतियों का वह सेट जिसे एंटरप्राइज़ एडमिन ने इस ऐप्लिकेशन के लिए पहले ही मंज़ूरी दे दी है. इन अनुमतियों के बारे में जानकारी पाने के लिए, EMM API पर Permissions.Get का इस्तेमाल करें.
notification[].appRestrictionsSchemaChangeEvent nested object ऐप्लिकेशन से जुड़ी पाबंदियों के स्कीमा में हुए नए बदलावों के बारे में सूचनाएं.
notification[].appRestrictionsSchemaChangeEvent.productId string उस प्रॉडक्ट का आईडी (उदाहरण के लिए, "app:com.google.android.gm") जिसके लिए ऐप्लिकेशन पर पाबंदी का स्कीमा बदला गया. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].productAvailabilityChangeEvent nested object प्रॉडक्ट की खरीदारी के लिए उपलब्धता में हुए बदलावों के बारे में सूचनाएं.
notification[].productAvailabilityChangeEvent.productId string उस प्रॉडक्ट का आईडी (उदाहरण के लिए, "app:com.google.android.gm") जिसकी उपलब्धता में बदलाव हुआ है. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].productAvailabilityChangeEvent.availabilityStatus string प्रॉडक्ट की नई स्थिति. यह फ़ील्ड हमेशा मौजूद रहेगा.

ये वैल्यू डाली जा सकती हैं:
  • "available"
  • "removed"
  • "unknown"
  • "unpublished"
notification[].newDeviceEvent nested object नए डिवाइसों के बारे में सूचनाएं.
notification[].newDeviceEvent.userId string उपयोगकर्ता का आईडी. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].newDeviceEvent.deviceId string डिवाइस का Android आईडी. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].newDeviceEvent.managementType string इससे पता चलता है कि डिवाइस को डिप्लॉयमेंट के अलग-अलग कॉन्फ़िगरेशन में, Android EMM किस हद तक कंट्रोल करता है.

ये वैल्यू इस्तेमाल की जा सकती हैं:
  • "managedDevice", वह डिवाइस जहां DPC को डिवाइस के मालिक के तौर पर सेट किया गया है,
  • "managedProfile", वह डिवाइस जहां डीपीसी को प्रोफ़ाइल के मालिक के तौर पर सेट किया गया है.


ये वैल्यू डाली जा सकती हैं:
  • "managedDevice"
  • "managedProfile"
notification[].notificationType string सूचना का टाइप.

ये वैल्यू डाली जा सकती हैं:
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "enterpriseUpgrade"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string डिवाइस पर मौजूद नीति ऐप्लिकेशन.
notification[].deviceReportUpdateEvent nested object डिवाइस रिपोर्ट के अपडेट के बारे में सूचनाएं.
notification[].deviceReportUpdateEvent.userId string उपयोगकर्ता का आईडी. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.deviceId string डिवाइस का Android आईडी. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.report nested object डिवाइस की रिपोर्ट, ऐप्लिकेशन की नई स्थितियों के साथ अपडेट की गई. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long रिपोर्ट के आखिरी अपडेट का टाइमस्टैंप, माइलीसेकंड में. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.report.appState[] list डिवाइस पर मैनेज किए जा रहे ऐप्लिकेशन की सेट की गई ऐप्लिकेशन की स्थितियों की सूची. ऐप्लिकेशन की स्थितियां, ऐप्लिकेशन के डेवलपर तय करते हैं. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.report.appState[].packageName string ऐप्लिकेशन का पैकेज नेम. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list ऐप्लिकेशन की उन स्थितियों की सूची जिनके लिए पासकोड सेट किया गया है. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string यह कुंजी बताती है कि ऐप्लिकेशन किस चीज़ के लिए स्टेटस दे रहा है. पासकोड का कॉन्टेंट, ऐप्लिकेशन का डेवलपर सेट करता है. एक्सएसएस से बचने के लिए, हमारा सुझाव है कि कुंजी को दिखाने से पहले उससे सभी एचटीएमएल को हटा दें. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis long ऐप्लिकेशन ने स्टेटस को सेट करने के समय का टाइमस्टैंप, जो कि युग के बाद के मिलीसेकंड में होता है. यह फ़ील्ड हमेशा मौजूद रहेगा.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string ऐप्लिकेशन की स्थिति की गंभीरता. यह फ़ील्ड हमेशा मौजूद रहेगा.

ये वैल्यू डाली जा सकती हैं:
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string ऐप्लिकेशन की स्थिति के बारे में बताने वाला फ़्री फ़ॉर्म मैसेज, जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. उदाहरण के लिए, गड़बड़ी का मैसेज. एक्सएसएस से बचने के लिए, हमारा सुझाव है कि मैसेज दिखाने से पहले उससे सभी एचटीएमएल को हटा दें.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data string मशीन से पढ़े जा सकने वाले डेटा के लिए अतिरिक्त फ़ील्ड. उदाहरण के लिए, कोई नंबर या JSON ऑब्जेक्ट. एक्सएसएस से बचने के लिए, हमारा सुझाव है कि डेटा दिखाने से पहले, उससे एचटीएमएल को हटा दें.
kind string
notification[].enterpriseUpgradeEvent nested object एंटरप्राइज़ वर्शन पर अपग्रेड करने के बारे में सूचनाएं.
notification[].enterpriseUpgradeEvent.upgradeState string अपग्रेड की स्थिति.

ये वैल्यू डाली जा सकती हैं:
  • "upgradeStateSucceeded"
  • "upgradeStateUnspecified"