स्मार्ट होम ऐक्शन के लिए सूचनाएं

सूचनाओं की मदद से, आपके 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 इंटिग्रेशन में सूचनाएं जोड़ने के लिए, इन चरणों का पालन करें:

  1. Google को बताएं कि आपके smart home डिवाइस ऐप्लिकेशन से सूचनाएं चालू हैं या नहीं. अगर उपयोगकर्ता आपके ऐप्लिकेशन में सूचनाएं चालू या बंद करते हैं, तो डिवाइस में हुए बदलाव के बारे में Google को बताने के लिए SYNC अनुरोध भेजें.
  2. जब डिवाइस पर कोई ऐसा इवेंट या स्थिति में कोई ऐसा बदलाव होता है जिससे सूचना ट्रिगर होती है, तो Report State reportStateAndNotification एपीआई को कॉल करके सूचना का अनुरोध भेजें. अगर डिवाइस की स्थिति बदल जाती है, तो Report State और सूचना कॉल में, स्थिति और सूचना पेलोड, दोनों को एक साथ भेजा जा सकता है.

इन चरणों के बारे में ज़्यादा जानकारी, यहां दिए गए सेक्शन में दी गई है.

यह बताना कि आपके ऐप्लिकेशन में सूचनाएं पाने की सुविधा चालू है या नहीं

उपयोगकर्ता यह चुन सकते हैं कि उन्हें GHA में जाकर, इस सुविधा को चालू करके, पहले से सूचनाएं चाहिए या नहीं. अपने smart home डिवाइस के लिए ऐप्लिकेशन में, उपयोगकर्ताओं को डिवाइस से सूचनाएं पाने की सुविधा को साफ़ तौर पर टॉगल करने की सुविधा भी जोड़ी जा सकती है. उदाहरण के लिए, ऐप्लिकेशन की सेटिंग से.

डिवाइस का डेटा अपडेट करने के लिए, सिंक करने का अनुरोध करें कॉल करके, Google को बताएं कि आपके डिवाइस पर सूचनाएं चालू हैं. जब भी उपयोगकर्ता आपके ऐप्लिकेशन में इस सेटिंग को बदलते हैं, तो आपको इस तरह का SYNC अनुरोध भेजना चाहिए.

SYNC जवाब में, इनमें से कोई एक अपडेट भेजें:

  • अगर उपयोगकर्ता ने आपके डिवाइस ऐप्लिकेशन में, सूचनाएं पाने की सुविधा को साफ़ तौर पर टॉगल किया है या आपने टॉगल करने का विकल्प नहीं दिया है, तो devices.notificationSupportedByAgent प्रॉपर्टी को true पर सेट करें.
  • अगर उपयोगकर्ता ने आपके डिवाइस ऐप्लिकेशन में, सूचनाएं पाने की सुविधा को साफ़ तौर पर बंद किया है, तो devices.notificationSupportedByAgent प्रॉपर्टी को false पर सेट करें.

नीचे दिए गए स्निपेट में, सिंक रिस्पॉन्स सेट करने का उदाहरण दिया गया है:

devices: [{
   id: 'device123',
   ...
   notificationSupportedByAgent: true,
}]

Google को सूचनाएं भेजने के अनुरोध करना

Assistant पर सूचनाएं ट्रिगर करने के लिए, आपका फ़ुलफ़िलमेंट पार्टनर, Report State और Notification API कॉल के ज़रिए Google Home Graph पर सूचना पेलोड भेजता है.

Google HomeGraph API को चालू करना

  1. Google Cloud Console में, HomeGraph API पेज पर जाएं.

    HomeGraph API पेज पर जाएं
  2. वह प्रोजेक्ट चुनें जो आपके smart home प्रोजेक्ट आईडी से मेल खाता हो.
  3. चालू करें पर क्लिक करें.

सेवा खाते की कुंजी बनाना

Google Cloud Console से सेवा खाते की कुंजी जनरेट करने के लिए, इन निर्देशों का पालन करें:

ध्यान दें: यह तरीका अपनाते समय, पक्का करें कि आपने सही GCP प्रोजेक्ट का इस्तेमाल किया हो. यह वह प्रोजेक्ट है जो आपके smart home प्रोजेक्ट आईडी से मेल खाता है.
  1. Google Cloud Console में, सेवा खाते की कुंजी बनाएं पेज पर जाएं.

    'सेवा खाता कुंजी बनाएं' पेज पर जाएं
  2. सेवा खाता सूची में से, नया सेवा खाता चुनें.
  3. सेवा खाते का नाम फ़ील्ड में, कोई नाम डालें.
  4. सेवा खाते का आईडी फ़ील्ड में, कोई आईडी डालें.
  5. भूमिका सूची में, सेवा खाते > सेवा खाता टोकन क्रिएटर चुनें.

  6. कुंजी का टाइप के लिए, JSON विकल्प चुनें.

  7. बनाएं पर क्लिक करें. आपके कंप्यूटर पर, एक JSON फ़ाइल डाउनलोड होगी. इसमें आपकी कुंजी मौजूद होगी.

सूचना भेजना

devices.reportStateAndNotification एपीआई का इस्तेमाल करके, सूचना का अनुरोध करें. आपके JSON अनुरोध में eventId शामिल होना चाहिए. यह एक यूनीक आईडी होता है, जिसे आपके प्लैटफ़ॉर्म से सूचना ट्रिगर करने वाले इवेंट के लिए जनरेट किया जाता है. eventId एक ऐसा रैंडम आईडी होना चाहिए जो सूचना का अनुरोध करने पर हर बार अलग हो.

अपने एपीआई कॉल में पास किए गए notifications ऑब्जेक्ट में, एक ऐसी priority वैल्यू शामिल करें जिससे यह तय हो कि सूचना को कैसे दिखाया जाना चाहिए. डिवाइस के टाइप के हिसाब से, आपके notifications ऑब्जेक्ट में अलग-अलग फ़ील्ड शामिल हो सकते हैं.

पेलोड सेट करने और एपीआई को कॉल करने के लिए, इनमें से किसी एक पाथ का पालन करें:

बिन मांगे सूचना भेजने के लिए पेलोड भेजना

एपीआई को कॉल करने के लिए, इनमें से किसी एक टैब में जाकर कोई विकल्प चुनें:

HTTP

Home Graph एपीआई, एक एचटीटीपी एंडपॉइंट उपलब्ध कराता है

  1. JSON वेब टोकन (JWT) बनाने के लिए, डाउनलोड किए गए सेवा खाते की JSON फ़ाइल का इस्तेमाल करें. ज़्यादा जानकारी के लिए, सेवा खाते का इस्तेमाल करके पुष्टि करना लेख पढ़ें.
  2. oauth2l का इस्तेमाल करके, https://www.googleapis.com/auth/homegraph स्कोप वाला OAuth 2.0 ऐक्सेस टोकन पाएं:
  3. oauth2l fetch --credentials service-account.json \
      --scope https://www.googleapis.com/auth/homegraph
    
  4. agentUserId की मदद से JSON अनुरोध बनाएं. यहां Report State और सूचना के लिए JSON अनुरोध का सैंपल दिया गया है:
  5. {
      "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
                }
              }
            }
          }
        }
      }
    }
    
  6. Google Home Graph एंडपॉइंट के लिए, अपने एचटीटीपी पोस्ट अनुरोध में Report State और सूचना JSON के साथ-साथ टोकन को जोड़ें. यहां एक उदाहरण दिया गया है, जिसमें बताया गया है कि curl का इस्तेमाल करके, कमांड लाइन में अनुरोध कैसे किया जा सकता है:
  7. 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 एंडपॉइंट उपलब्ध कराता है

  1. Home Graph एपीआई के लिए, प्रोटोकॉल बफ़र सेवा की परिभाषा पाएं.
  2. इस्तेमाल की जा सकने वाली किसी भाषा के लिए क्लाइंट स्टब जनरेट करने के लिए, gRPC डेवलपर दस्तावेज़ में दिया गया तरीका अपनाएं.
  3. ReportStateAndNotification तरीके को कॉल करें.

Node.js

Google APIs के लिए उपलब्ध Node.js क्लाइंट, Home Graph एपीआई के लिए बाइंडिंग उपलब्ध कराता है.

  1. ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके, google.homegraph सेवा को शुरू करें.
  2. ReportStateAndNotificationRequest के साथ, reportStateAndNotification तरीके को कॉल करें. यह ReportStateAndNotificationResponse के साथ एक Promise दिखाता है.
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 API के लिए बाइंडिंग उपलब्ध कराती है.

  1. ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके, HomeGraphApiService को शुरू करें.
  2. 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 एपीआई, एक एचटीटीपी एंडपॉइंट उपलब्ध कराता है

  1. JSON वेब टोकन (JWT) बनाने के लिए, डाउनलोड किए गए सेवा खाते की JSON फ़ाइल का इस्तेमाल करें. ज़्यादा जानकारी के लिए, सेवा खाते का इस्तेमाल करके पुष्टि करना लेख पढ़ें.
  2. oauth2l का इस्तेमाल करके, https://www.googleapis.com/auth/homegraph स्कोप वाला OAuth 2.0 ऐक्सेस टोकन पाएं:
  3. oauth2l fetch --credentials service-account.json \
      --scope https://www.googleapis.com/auth/homegraph
    
  4. agentUserId की मदद से JSON अनुरोध बनाएं. यहां Report State और सूचना के लिए JSON अनुरोध का सैंपल दिया गया है:
  5. {
      "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
                }
              }
            }
          }
        }
      }
    }
    
  6. Google Home Graph एंडपॉइंट के लिए, अपने एचटीटीपी पोस्ट अनुरोध में Report State और सूचना JSON के साथ-साथ टोकन को जोड़ें. यहां एक उदाहरण दिया गया है, जिसमें बताया गया है कि curl का इस्तेमाल करके, कमांड लाइन में अनुरोध कैसे किया जा सकता है:
  7. 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 एंडपॉइंट उपलब्ध कराता है

  1. Home Graph एपीआई के लिए, प्रोटोकॉल बफ़र सेवा की परिभाषा पाएं.
  2. काम करने वाली किसी भाषा के लिए क्लाइंट स्टब जनरेट करने के लिए, gRPC डेवलपर दस्तावेज़ में दिया गया तरीका अपनाएं.
  3. ReportStateAndNotification तरीके को कॉल करें.

Node.js

Google APIs के लिए उपलब्ध Node.js क्लाइंट, Home Graph एपीआई के लिए बाइंडिंग उपलब्ध कराता है.

  1. ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके, google.homegraph सेवा को शुरू करें.
  2. ReportStateAndNotificationRequest के साथ, reportStateAndNotification तरीके को कॉल करें. यह ReportStateAndNotificationResponse के साथ एक Promise दिखाता है.
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 API के लिए बाइंडिंग उपलब्ध कराती है.

  1. ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके, HomeGraphApiService को शुरू करें
  2. 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 का लॉगिंग में बताए गए तरीके से इवेंट लॉग करने की सुविधा देती हैं. ये लॉग, आपकी कार्रवाई में सूचनाओं की क्वालिटी की जांच करने और उसे बनाए रखने के लिए काम के होते हैं.

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.