अनुरोध के लिए पुष्टि किए गए सेवा खाते से जुड़े एंटरप्राइज़ के लिए, सूचना सेट को खींचता है और दिखाता है. अगर कोई सूचना बाकी नहीं है, तो सूचना सेट खाली हो सकता है.
अगर सूचना सेट खाली नहीं है, तो Enterprises.AcknowledgeNotificationSet को कॉल करके, रिटर्न किए गए सूचना सेट को 20 सेकंड के अंदर स्वीकार करना ज़रूरी है.
जिन सूचनाओं की पुष्टि 20 सेकंड के अंदर नहीं की जाती है उन्हें आखिर में, PullNotificationSet के किसी दूसरे अनुरोध के जवाब में फिर से शामिल किया जाएगा. साथ ही, जिन सूचनाओं की पुष्टि कभी नहीं की जाती है उन्हें Google Cloud Platform के Pub/Sub सिस्टम की नीति के मुताबिक मिटा दिया जाएगा.
सूचनाएं पाने के लिए, एक साथ कई अनुरोध किए जा सकते हैं. ऐसे में, अगर कोई सूचना बाकी है, तो उसे कॉल करने वाले हर व्यक्ति के बीच बांटा जाएगा.
अगर कोई सूचना मौजूद नहीं है, तो सूचनाओं की खाली सूची दिखती है.
बाद में किए गए अनुरोधों से, उपलब्ध होने पर ज़्यादा सूचनाएं मिल सकती हैं.
अनुरोध
एचटीटीपी अनुरोध
POST https://www.googleapis.com/androidenterprise/v1/enterprises/pullNotificationSet
पैरामीटर
पैरामीटर का नाम | मान | ब्यौरा |
---|---|---|
ज़रूरी नहीं क्वेरी पैरामीटर | ||
requestMode |
string |
सूचनाएं पाने के लिए अनुरोध मोड.
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 |
प्रॉडक्ट को मंज़ूरी मिली है या नहीं. यह फ़ील्ड हमेशा मौजूद रहेगा.
ये वैल्यू डाली जा सकती हैं:
|
|
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 |
इंस्टॉल न हो पाने की वजह. यह फ़ील्ड हमेशा मौजूद रहेगा.
ये वैल्यू डाली जा सकती हैं:
|
|
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 |
प्रॉडक्ट की नई स्थिति. यह फ़ील्ड हमेशा मौजूद रहेगा.
ये वैल्यू डाली जा सकती हैं:
|
|
notification[].newDeviceEvent |
nested object |
नए डिवाइसों के बारे में सूचनाएं. | |
notification[].newDeviceEvent.userId |
string |
उपयोगकर्ता का आईडी. यह फ़ील्ड हमेशा मौजूद रहेगा. | |
notification[].newDeviceEvent.deviceId |
string |
डिवाइस का Android आईडी. यह फ़ील्ड हमेशा मौजूद रहेगा. | |
notification[].newDeviceEvent.managementType |
string |
इससे पता चलता है कि डिवाइस को डिप्लॉयमेंट के अलग-अलग कॉन्फ़िगरेशन में, Android EMM किस हद तक कंट्रोल करता है. ये वैल्यू इस्तेमाल की जा सकती हैं:
ये वैल्यू डाली जा सकती हैं:
|
|
notification[].notificationType |
string |
सूचना का टाइप.
ये वैल्यू डाली जा सकती हैं:
|
|
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 |
ऐप्लिकेशन की स्थिति की गंभीरता. यह फ़ील्ड हमेशा मौजूद रहेगा.
ये वैल्यू डाली जा सकती हैं:
|
|
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 |
अपग्रेड की स्थिति.
ये वैल्यू डाली जा सकती हैं:
|