सूचनाओं की मदद से, Cloud-to-cloud इंटिग्रेशन, Google Assistant का इस्तेमाल करके लोगों को डिवाइस से जुड़े अहम इवेंट या बदलावों के बारे में सूचनाएं भेज सकता है. सूचनाएँ लागू की जा सकती हैं, ताकि उपयोगकर्ताओं को डिवाइस से जुड़ी घटनाओं के बारे में समय पर सूचना दी जा सके. उदाहरण के लिए, जब कोई व्यक्ति दरवाज़े पर हो. इसके अलावा, डिवाइस की स्थिति में बदलाव के बारे में सूचना देने के लिए भी सूचनाएँ लागू की जा सकती हैं. जैसे, जब दरवाज़े का लॉक बोल्ट ठीक से लग गया हो या जाम हो गया हो.
Cloud-to-cloud इंटिग्रेशन, उपयोगकर्ताओं को इस तरह की सूचनाएं भेज सकता है:
पहले से सूचनाएं पाने की सुविधा: यह सुविधा, उपयोगकर्ता को smart home डिवाइस इवेंट के बारे में सूचना देती है. इसके लिए, उपयोगकर्ता को अपने डिवाइसों से कोई अनुरोध नहीं करना पड़ता. जैसे, दरवाज़े की घंटी बजने की सूचना.
फ़ॉलो-अप जवाब: इससे यह पुष्टि होती है कि डिवाइस को कंट्रोल करने का अनुरोध पूरा हुआ या नहीं. उदाहरण के लिए, दरवाज़े को लॉक करने का अनुरोध. इन सूचनाओं का इस्तेमाल, डिवाइस को दिए गए उन निर्देशों के लिए करें जिन्हें पूरा होने में समय लगता है. फ़ॉलो-अप जवाब सिर्फ़ तब दिए जा सकते हैं, जब डिवाइस को कंट्रोल करने के अनुरोध स्मार्ट स्पीकर और स्मार्ट डिसप्ले से भेजे गए हों.
Assistant, उपयोगकर्ताओं को ये सूचनाएँ स्मार्ट स्पीकर और स्मार्ट डिसप्ले पर सूचनाओं के तौर पर देता है. बिना मांगे सूचनाएं पाने की सुविधा डिफ़ॉल्ट रूप से बंद होती है. उपयोगकर्ताओं के पास Google Home app (GHA) में जाकर, बिन मांगे मिलने वाली सभी सूचनाओं को चालू या बंद करने का विकल्प होता है.
सूचनाएँ ट्रिगर करने वाले इवेंट
डिवाइस इवेंट होने पर, फ़ुलफ़िलमेंट, Google को सूचना का अनुरोध भेजता है. Cloud-to-cloud इंटिग्रेशन के साथ काम करने वाली डिवाइस की सुविधाओं से यह तय होता है कि सूचना से जुड़े किस तरह के इवेंट उपलब्ध हैं. साथ ही, यह भी तय होता है कि उन सूचनाओं में किस तरह का डेटा शामिल किया जा सकता है.
इन लक्षणों के लिए, सूचनाएं पाने की सुविधा उपलब्ध है:
| विशेषता | इवेंट |
|---|---|
| ObjectDetection | डिवाइस से पहचाने गए ऑब्जेक्ट, जैसे कि दरवाज़े पर किसी जाने-पहचाने चेहरे की पहचान होना. उदाहरण के लिए: "एलिस और बॉब सामने के दरवाज़े पर हैं." |
| RunCycle | डिवाइस एक साइकल पूरा करता है. उदाहरण के लिए: "वॉशिंग मशीन की साइकल पूरी हो गई है." |
| SensorState | डिवाइस को ऐसे सेंसर की स्थिति का पता चलता है जो इस सुविधा के साथ काम करता है. उदाहरण के लिए: "धुएँ का पता लगाने वाले डिवाइस को धुएँ का पता चला है." |
यहां दी गई ट्रेट, फ़ॉलो-अप रिस्पॉन्स की सुविधा के साथ काम करती हैं:
| विशेषता | इवेंट |
|---|---|
| LockUnlock | action.devices.commands.LockUnlock डिवाइस कमांड के लागू होने के बाद, पूरा होने का स्टेटस और स्थिति में बदलाव. उदाहरण के लिए: "सामने का दरवाज़ा बंद कर दिया गया है" या "सामने का दरवाज़ा जाम हो गया है."
|
| NetworkControl | action.devices.commands.TestNetworkSpeed डिवाइस कमांड के लागू होने के बाद, पूरा होने का स्टेटस और स्थिति में बदलाव. उदाहरण के लिए: "आपके नेटवर्क की स्पीड की जाँच पूरी हो गई. फ़िलहाल, ऑफ़िस के राऊटर पर डाउनलोड करने की रफ़्तार 80.2 केबीपीएस है और अपलोड करने की रफ़्तार 9.3 केबीपीएस है."
|
| OpenClose | action.devices.commands.OpenClose डिवाइस कमांड के लागू होने के बाद, पूरा होने का स्टेटस और स्थिति में बदलाव. उदाहरण के लिए: "सामने का दरवाज़ा खुल गया है" या "सामने का दरवाज़ा नहीं खोला जा सका."
|
सभी डिवाइस टाइप पर, लागू होने वाली ट्रेट के लिए सूचनाएं पाने की सुविधा काम करती है.
क्लाउड-टू-क्लाउड इंटिग्रेशन के लिए सूचनाएं बनाना
इन चरणों में, अपने Cloud-to-cloud इंटिग्रेशन में सूचनाएं जोड़ें:
- Google को बताएं कि आपके smart home डिवाइस ऐप्लिकेशन से सूचनाएं पाने की सुविधा चालू है या नहीं. अगर उपयोगकर्ता आपके ऐप्लिकेशन में सूचनाएं पाने की सुविधा चालू या बंद करते हैं, तो Google को डिवाइस में हुए बदलाव की जानकारी देने के लिए,
SYNCअनुरोध भेजें. - जब कोई काम का डिवाइस इवेंट होता है या डिवाइस की स्थिति में बदलाव होता है, तब सूचना ट्रिगर होती है. ऐसे में, Report State
reportStateAndNotificationएपीआई को कॉल करके, सूचना भेजने का अनुरोध करें. अगर डिवाइस की स्थिति बदल गई है, तो Report State और सूचना वाले कॉल में, स्थिति और सूचना का पेलोड, दोनों एक साथ भेजा जा सकता है.
यहां दिए गए सेक्शन में, इन चरणों के बारे में ज़्यादा जानकारी दी गई है.
इससे पता चलता है कि आपके ऐप्लिकेशन में सूचनाएं पाने की सुविधा चालू है या नहीं
उपयोगकर्ता यह चुन सकते हैं कि उन्हें इस सुविधा के बारे में सूचनाएं चाहिए या नहीं. इसके लिए, उन्हें GHA में जाकर इस सुविधा को चालू करना होगा. अपने smart home डिवाइस के ऐप्लिकेशन में, उपयोगकर्ताओं के लिए यह सुविधा भी जोड़ी जा सकती है कि वे डिवाइस से मिलने वाली सूचनाओं को चालू या बंद कर सकें. उदाहरण के लिए, ऐप्लिकेशन की सेटिंग में जाकर.
Google को यह बताएं कि आपके डिवाइस के लिए सूचनाएं चालू हैं. इसके लिए, डिवाइस का डेटा अपडेट करने के लिए Request SYNC कॉल करें. जब भी उपयोगकर्ता आपके ऐप्लिकेशन में यह सेटिंग बदलें, तब आपको इस तरह का SYNC अनुरोध भेजना चाहिए.
SYNC के जवाब में, इनमें से कोई एक अपडेट भेजें:
- अगर उपयोगकर्ता ने आपके डिवाइस ऐप्लिकेशन में सूचनाएं पाने की सुविधा को साफ़ तौर पर चालू किया है या आपने टॉगल करने का विकल्प नहीं दिया है, तो
devices.notificationSupportedByAgentप्रॉपर्टी कोtrueपर सेट करें. - अगर उपयोगकर्ता ने आपके डिवाइस ऐप्लिकेशन में सूचनाएं पाने की सुविधा को बंद कर दिया है, तो
devices.notificationSupportedByAgentप्रॉपर्टी कोfalseपर सेट करें.
यहां दिए गए स्निपेट में, SYNC रिस्पॉन्स सेट करने का तरीका बताया गया है:
devices: [{
id: 'device123',
...
notificationSupportedByAgent: true,
}]
Google को सूचना के अनुरोध भेजना
Assistant पर सूचनाएं ट्रिगर करने के लिए, आपका फ़ुलफ़िलमेंट सिस्टम Assistant को सूचना का पेलोड भेजता है. यह पेलोड, Report State और Notification API कॉल के ज़रिए भेजा जाता है.Google Home Graph
Google HomeGraph API चालू करना
-
Google Cloud Console में, HomeGraph API पेज पर जाएं.
HomeGraph API पेज पर जाएं - वह प्रोजेक्ट चुनें जो आपके smart home प्रोजेक्ट आईडी से मेल खाता हो.
- चालू करें पर क्लिक करें.
सेवा खाते की कुंजी बनाना
Google Cloud Console से सेवा खाते का पासकोड जनरेट करने के लिए, इन निर्देशों का पालन करें:
-
Google Cloud Console में, सेवा खाते पेज पर जाएं.
सेवा खातों के पेज पर जाएं.आपको सेवा खातों वाले पेज पर ले जाने से पहले, कोई प्रोजेक्ट चुनना पड़ सकता है.
सेवा खाता बनाएं पर क्लिक करें.
सेवा खाते का नाम फ़ील्ड में, कोई नाम डालें.
सेवा खाते का आईडी फ़ील्ड में, कोई आईडी डालें.
सेवा खाते की जानकारी फ़ील्ड में, जानकारी डालें.
बनाएं और जारी रखें पर क्लिक करें.
भूमिका ड्रॉपडाउन से, सेवा खाते > सेवा खाता OpenID Connect आइडेंटिटी टोकन क्रिएटर चुनें.
जारी रखें पर क्लिक करें.
हो गया पर क्लिक करें.
सेवा खातों की सूची से, अभी-अभी बनाया गया सेवा खाता चुनें. इसके बाद, कार्रवाइयां मेन्यू से कुंजियां मैनेज करें चुनें.
कुंजी जोड़ें > नई कुंजी बनाएं को चुनें.
कुंजी का टाइप के लिए, JSON विकल्प चुनें.
बनाएं पर क्लिक करें. आपके कंप्यूटर पर एक JSON फ़ाइल डाउनलोड होगी, जिसमें आपकी कुंजी मौजूद होगी.
सूचना भेजना
devices.reportStateAndNotification एपीआई का इस्तेमाल करके, सूचना पाने का अनुरोध करें.
आपके JSON अनुरोध में eventId शामिल होना चाहिए. यह एक यूनीक आईडी है, जिसे आपका प्लैटफ़ॉर्म उस इवेंट के लिए जनरेट करता है जिससे सूचना ट्रिगर होती है. eventId एक रैंडम आईडी होना चाहिए. साथ ही, सूचना भेजने का अनुरोध करते समय, यह आईडी हर बार अलग होना चाहिए.
एपीआई कॉल में पास किए गए notifications ऑब्जेक्ट में, priority वैल्यू शामिल करें. इससे यह तय होता है कि सूचना कैसे दिखाई जानी चाहिए. आपके notifications ऑब्जेक्ट में, डिवाइस की खासियत के हिसाब से अलग-अलग फ़ील्ड शामिल हो सकते हैं.
पेलोड सेट करने और एपीआई को कॉल करने के लिए, इनमें से कोई एक तरीका अपनाएं:
बिन मांगे सूचना भेजने के लिए पेलोड भेजना
एपीआई को कॉल करने के लिए, इनमें से किसी एक टैब में जाकर कोई विकल्प चुनें:
HTTP
Home Graph एपीआई, एचटीटीपी एंडपॉइंट उपलब्ध कराता है
- डाउनलोड की गई सेवा खाते की JSON फ़ाइल का इस्तेमाल करके, JSON वेब टोकन (JWT) बनाएं. ज़्यादा जानकारी के लिए, सेवा खाते का इस्तेमाल करके पुष्टि करना लेख पढ़ें.
- oauth2l का इस्तेमाल करके,
https://www.googleapis.com/auth/homegraphस्कोप के साथ OAuth 2.0 का ऐक्सेस टोकन पाएं: agentUserIdकी मदद से, JSON फ़ॉर्मैट में अनुरोध बनाएं. यहां Report State और सूचना के लिए, JSON अनुरोध का एक सैंपल दिया गया है:- Google Home Graph एंडपॉइंट पर एचटीटीपी पोस्ट अनुरोध में, Report State, सूचना देने वाले JSON, और टोकन को एक साथ शामिल करें. यहां एक उदाहरण दिया गया है, जिसमें
curlका इस्तेमाल करके, कमांड लाइन में अनुरोध करने का तरीका बताया गया है. इसे टेस्ट के तौर पर इस्तेमाल किया जा सकता है:
oauth2l fetch --credentials service-account.json \ --scope https://www.googleapis.com/auth/homegraph
{ "agentUserId": "PLACEHOLDER-USER-ID", "eventId": "PLACEHOLDER-EVENT-ID", "requestId": "PLACEHOLDER-REQUEST-ID", "payload": { "devices": { "notifications": { "PLACEHOLDER-DEVICE-ID": { "ObjectDetection": { "priority": 0, "detectionTimestamp": 1534875126750, "objects": { "named": [ "Alice" ], "unclassified": 2 } } } } } } }
curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d @request-body.json \ "https://homegraph.googleapis.com/v1/devices:reportStateAndNotification"
gRPC
Home Graph एपीआई, gRPC एंडपॉइंट उपलब्ध कराता है
- Home Graph एपीआई के लिए, प्रोटोकॉल बफ़र सेवा की परिभाषा पाएं.
- इस्तेमाल की जा सकने वाली भाषाओं में से किसी एक के लिए क्लाइंट स्टब जनरेट करने के लिए, gRPC डेवलपर दस्तावेज़ में दिया गया तरीका अपनाएं.
- ReportStateAndNotification तरीके को कॉल करें.
Node.js
Google APIs Node.js Client, Home Graph API के लिए बाइंडिंग उपलब्ध कराता है.
-
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके,
google.homegraphसेवा को शुरू करें. -
reportStateAndNotificationतरीके को ReportStateAndNotificationRequest के साथ कॉल करें. यहPromiseके साथ ReportStateAndNotificationResponse दिखाता है.
const homegraphClient = homegraph({ version: 'v1', auth: new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/homegraph' }) }); const res = await homegraphClient.devices.reportStateAndNotification({ requestBody: { agentUserId: 'PLACEHOLDER-USER-ID', eventId: 'PLACEHOLDER-EVENT-ID', requestId: 'PLACEHOLDER-REQUEST-ID', payload: { devices: { notifications: { 'PLACEHOLDER-DEVICE-ID': { ObjectDetection: { priority: 0, detectionTimestamp: 1534875126750, objects: { named: ['Alice'], unclassified: 2 } } } } } } } });
Java
Java के लिए HomeGraph API क्लाइंट लाइब्रेरी, Home Graph एपीआई के लिए बाइंडिंग उपलब्ध कराती है.
- ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके,
HomeGraphApiServiceको शुरू करें. ReportStateAndNotificationRequestका इस्तेमाल करके,reportStateAndNotificationतरीके को कॉल करें. यहReportStateAndNotificationResponseदिखाता है.
// Get Application Default credentials. GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(List.of("https://www.googleapis.com/auth/homegraph")); // Create Home Graph service client. HomeGraphService homegraphService = new HomeGraphService.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), new HttpCredentialsAdapter(credentials)) .setApplicationName("HomeGraphExample/1.0") .build(); // Build device notification payload. Map<?, ?> notifications = Map.of( "ObjectDetection", Map.of( "priority", 0, "detectionTimestamp", 1534875126, "objects", Map.of("named", List.of("Alice"), "unclassifed", 2))); // Send notification. ReportStateAndNotificationRequest request = new ReportStateAndNotificationRequest() .setRequestId("PLACEHOLDER-REQUEST-ID") .setAgentUserId("PLACEHOLDER-USER-ID") .setEventId("PLACEHOLDER-EVENT-ID") .setPayload( new StateAndNotificationPayload() .setDevices( new ReportStateAndNotificationDevice() .setNotifications(Map.of("PLACEHOLDER-DEVICE-ID", notifications)))); homegraphService.devices().reportStateAndNotification(request);
फ़ॉलो-अप जवाब का पेलोड भेजना
फ़ॉलो-अप रिस्पॉन्स के पेलोड में, अनुरोध की स्थिति, इवेंट के फ़ेल होने के गड़बड़ी कोड (अगर लागू हो) और EXECUTE इंटेंट के अनुरोध के दौरान दिया गया मान्य followUpToken शामिल होता है. followUpToken का इस्तेमाल पांच मिनट के अंदर किया जाना चाहिए, ताकि यह मान्य रहे. साथ ही, जवाब को मूल अनुरोध से सही तरीके से जोड़ा जा सके.
यहां दिए गए स्निपेट में, followUpToken फ़ील्ड के साथ EXECUTE अनुरोध पेलोड का उदाहरण दिखाया गया है.
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"inputs": [{
"intent": "action.devices.EXECUTE",
"payload": {
"commands": [{
"devices": [{
"id": "123",
}],
"execution": [{
"command": "action.devices.commands.TestNetworkSpeed",
"params": {
"testDownloadSpeed": true,
"testUploadSpeed": false,
"followUpToken": "PLACEHOLDER"
}
}]
}]
}
}]
};
Google, followUpToken का इस्तेमाल करके सूचना सिर्फ़ उस डिवाइस पर दिखाता है जिस पर उपयोगकर्ता ने मूल रूप से इंटरैक्ट किया था. यह सूचना, उपयोगकर्ता के सभी डिवाइसों पर नहीं दिखाई जाती.
एपीआई को कॉल करने के लिए, इनमें से किसी एक टैब में जाकर कोई विकल्प चुनें:
HTTP
Home Graph एपीआई, एचटीटीपी एंडपॉइंट उपलब्ध कराता है
- डाउनलोड की गई सेवा खाते की JSON फ़ाइल का इस्तेमाल करके, JSON वेब टोकन (JWT) बनाएं. ज़्यादा जानकारी के लिए, सेवा खाते का इस्तेमाल करके पुष्टि करना लेख पढ़ें.
- oauth2l का इस्तेमाल करके,
https://www.googleapis.com/auth/homegraphस्कोप के साथ OAuth 2.0 का ऐक्सेस टोकन पाएं: agentUserIdकी मदद से, JSON फ़ॉर्मैट में अनुरोध बनाएं. यहां Report State और सूचना के लिए, JSON अनुरोध का एक सैंपल दिया गया है:- Google Home Graph एंडपॉइंट पर एचटीटीपी पोस्ट अनुरोध में, Report State, सूचना देने वाले JSON, और टोकन को एक साथ शामिल करें. यहां एक उदाहरण दिया गया है, जिसमें
curlका इस्तेमाल करके, कमांड लाइन में अनुरोध करने का तरीका बताया गया है. इसे टेस्ट के तौर पर इस्तेमाल किया जा सकता है:
oauth2l fetch --credentials service-account.json \ --scope https://www.googleapis.com/auth/homegraph
{ "agentUserId": "PLACEHOLDER-USER-ID", "eventId": "PLACEHOLDER-EVENT-ID", "requestId": "PLACEHOLDER-REQUEST-ID", "payload": { "devices": { "notifications": { "PLACEHOLDER-DEVICE-ID": { "NetworkControl": { "priority": 0, "followUpResponse": { "status": "SUCCESS", "followUpToken": "PLACEHOLDER", "networkDownloadSpeedMbps": 23.3, "networkUploadSpeedMbps": 10.2 } } } } } } }
curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d @request-body.json \ "https://homegraph.googleapis.com/v1/devices:reportStateAndNotification"
gRPC
Home Graph एपीआई, gRPC एंडपॉइंट उपलब्ध कराता है
- Home Graph एपीआई के लिए, प्रोटोकॉल बफ़र सेवा की परिभाषा पाएं.
- काम करने वाली किसी एक भाषा के लिए क्लाइंट स्टब जनरेट करने के लिए, gRPC डेवलपर दस्तावेज़ में दिया गया तरीका अपनाएं.
- ReportStateAndNotification तरीके को कॉल करें.
Node.js
Google APIs Node.js Client, Home Graph API के लिए बाइंडिंग उपलब्ध कराता है.
-
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके,
google.homegraphसेवा को शुरू करें. -
reportStateAndNotificationतरीके को ReportStateAndNotificationRequest के साथ कॉल करें. यहPromiseदिखाता है, जिसमें ReportStateAndNotificationResponse होता है.
const followUpToken = executionRequest.inputs[0].payload.commands[0].execution[0].params.followUpToken; const homegraphClient = homegraph({ version: 'v1', auth: new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/homegraph' }) }); const res = await homegraphClient.devices.reportStateAndNotification({ requestBody: { agentUserId: 'PLACEHOLDER-USER-ID', eventId: 'PLACEHOLDER-EVENT-ID', requestId: 'PLACEHOLDER-REQUEST-ID', payload: { devices: { notifications: { 'PLACEHOLDER-DEVICE-ID': { NetworkControl: { priority: 0, followUpResponse: { status: 'SUCCESS', followUpToken, networkDownloadSpeedMbps: 23.3, networkUploadSpeedMbps: 10.2, } } } } } } } });
Java
Java के लिए HomeGraph API क्लाइंट लाइब्रेरी, Home Graph एपीआई के लिए बाइंडिंग उपलब्ध कराती है.
-
HomeGraphApiServiceको ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके शुरू करना ReportStateAndNotificationRequestका इस्तेमाल करके,reportStateAndNotificationतरीके को कॉल करें. यहReportStateAndNotificationResponseदिखाता है
// Get Application Default credentials. GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(List.of("https://www.googleapis.com/auth/homegraph")); // Create Home Graph service client. HomeGraphService homegraphService = new HomeGraphService.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), new HttpCredentialsAdapter(credentials)) .setApplicationName("HomeGraphExample/1.0") .build(); // Extract follow-up token. ExecuteRequest.Inputs executeInputs = (Inputs) executeRequest.getInputs()[0]; String followUpToken = (String) executeInputs .getPayload() .getCommands()[0] .getExecution()[0] .getParams() .get("followUpToken"); // Build device follow-up response payload. Map<?, ?> followUpResponse = Map.of( "NetworkControl", Map.of( "priority", 0, "followUpResponse", Map.of( "status", "SUCCESS", "followUpToken", followUpToken, "networkDownloadSpeedMbps", 23.3, "networkUploadSpeedMbps", 10.2))); // Send follow-up response. ReportStateAndNotificationRequest request = new ReportStateAndNotificationRequest() .setRequestId("PLACEHOLDER-REQUEST-ID") .setAgentUserId("PLACEHOLDER-USER-ID") .setEventId("PLACEHOLDER-EVENT-ID") .setPayload( new StateAndNotificationPayload() .setDevices( new ReportStateAndNotificationDevice() .setNotifications(Map.of("PLACEHOLDER-DEVICE-ID", followUpResponse)))); homegraphService.devices().reportStateAndNotification(request);
लॉग इन हो रहा है
सूचनाएं, इवेंट लॉगिंग की सुविधा के साथ काम करती हैं. इसके बारे में क्लाउड-टू-क्लाउड के लिए Cloud Logging में बताया गया है. ये लॉग, आपकी कार्रवाई में सूचनाओं की क्वालिटी को टेस्ट करने और उसे बनाए रखने के लिए काम आते हैं.
notificationLog एंट्री का स्कीमा यहां दिया गया है:
| प्रॉपर्टी | ब्यौरा |
|---|---|
requestId |
सूचना पाने के अनुरोध का आईडी. |
structName |
सूचना स्ट्रक्चर का नाम, जैसे कि "ObjectDetection". |
status |
इससे सूचना की स्थिति के बारे में पता चलता है. |
status फ़ील्ड में अलग-अलग स्टेटस शामिल होते हैं. इनसे सूचना के पेलोड में गड़बड़ियों का पता चल सकता है. इनमें से कुछ कार्रवाइयां सिर्फ़ उन कार्रवाइयों के लिए उपलब्ध हो सकती हैं जिन्हें प्रोडक्शन के लिए लॉन्च नहीं किया गया है.
उदाहरण के लिए, ये स्टेटस शामिल हैं:
| स्थिति | ब्यौरा |
|---|---|
EVENT_ID_MISSING |
इससे पता चलता है कि ज़रूरी eventId फ़ील्ड मौजूद नहीं है.
|
PRIORITY_MISSING |
इससे पता चलता है कि priority फ़ील्ड मौजूद नहीं है.
|
NOTIFICATION_SUPPORTED_BY_AGENT_FALSE |
इससे पता चलता है कि सूचना देने वाले डिवाइस की notificationSupportedByAgent प्रॉपर्टी, SYNC में दी गई वैल्यू के हिसाब से सही नहीं है.
|
NOTIFICATION_ENABLED_BY_USER_FALSE |
इससे पता चलता है कि उपयोगकर्ता ने GHA में, सूचना देने वाले डिवाइस पर सूचनाएं पाने की सुविधा चालू नहीं की है. यह स्टेटस सिर्फ़ उन इंटिग्रेशन के लिए उपलब्ध है जिन्हें प्रोडक्शन के लिए लॉन्च नहीं किया गया है. |
NOTIFYING_DEVICE_NOT_IN_STRUCTURE |
इससे पता चलता है कि उपयोगकर्ता ने सूचना पाने वाले डिवाइस को किसी होम/स्ट्रक्चर में असाइन नहीं किया है. यह स्टेटस सिर्फ़ उन इंटिग्रेशन के लिए उपलब्ध है जिन्हें प्रोडक्शन के लिए लॉन्च नहीं किया गया है. |
ये सामान्य स्थितियां सभी सूचनाओं पर लागू हो सकती हैं. इनके अलावा, status फ़ील्ड में, खास जानकारी से जुड़ी स्थितियां भी शामिल हो सकती हैं. ये स्थितियां तब शामिल होती हैं, जब वे लागू होती हैं. उदाहरण के लिए, OBJECT_DETECTION_DETECTION_TIMESTAMP_MISSING.