Android के लिए Home APIs की खास जानकारी

Android के लिए Google Home API, एक यूनिफ़ाइड एपीआई उपलब्ध कराते हैं. इससे डेवलपर, उपयोगकर्ता के घर में मौजूद इकाइयों की स्थिति के साथ इंटरैक्ट कर पाते हैं. ये इकाइयां, किसी उपयोगकर्ता के स्ट्रक्चर और कमरों से जुड़े डिवाइसों और डिवाइस के अलावा अन्य जानकारी के बारे में बता सकती हैं.

Home APIs, इन इकाइयों को तय करते हैं जिनके साथ उपयोगकर्ता इंटरैक्ट कर सकता है:

  • स्ट्रक्चर, एक ऐसे होम को कहते हैं जिसमें कमरे और डिवाइस होते हैं.
  • कमरे, स्ट्रक्चर का हिस्सा होते हैं और इनमें डिवाइस शामिल होते हैं.
  • डिवाइसों में एट्रिब्यूट वाली ट्रेट लागू होती हैं, वे टाइप के मुताबिक काम करते हैं, इवेंट जनरेट करते हैं, और निर्देशों का जवाब देते हैं.
  • ऑटोमेशन एक संरचना का हिस्सा होते हैं और घर में कार्यों को स्वचालित करने के लिए होम मेटाडेटा और डिवाइस का उपयोग करते हैं.

पहली इमेज में, इस आर्किटेक्चर के बारे में बताया गया है:

Android ऐप्लिकेशन के लिए, Home API के आर्किटेक्चर को दिखाने वाला डायग्राम
पहली इमेज: Android ऐप्लिकेशन के लिए Home API का आर्किटेक्चर

Home API के साथ काम करने वाले डिवाइसों में, Matter का इस्तेमाल किया जा सकता है. यह स्मार्ट होम के लिए एक ओपन स्टैंडर्ड है. इसके अलावा, ये डिवाइस Google Home के ईकोसिस्टम में Cloud-to-cloud डिवाइस भी हो सकते हैं. ऐसा हो सकता है कि कुछ डिवाइसों में, दोनों तरह की सुविधाओं को शामिल किया गया हो. ज़्यादा जानकारी के लिए, Android पर काम करने वाले डिवाइस टाइप देखें.

Matter में, डिवाइस की सुविधाओं को क्लस्टर के हिसाब से ग्रुप किया जाता है. इन्हें Home API में Matter स्टैंडर्ड ट्रेट के तौर पर दिखाया जाता है. होम API, मौजूदा Matter विनिर्देश में परिभाषित Matter क्लस्टर के मानक सेट का समर्थन करते हैं.

Google Home के इकोसिस्टम में, डिवाइस की सुविधाओं को स्मार्ट होम की विशेषताओं के हिसाब से ग्रुप किया जाता है. इन्हें Home API में, Google की स्मार्ट होम की विशेषताओं के तौर पर दिखाया जाता है. Home API, स्मार्ट होम की उन सभी सुविधाओं के साथ काम करते हैं जिनके बारे में Cloud-to-cloud प्रोग्राम में बताया गया है.

अन्य विशेषताएं भी उपलब्ध हैं. जैसे, मैन्युफ़ैक्चरर के हिसाब से क्लस्टर और प्लैटफ़ॉर्म की विशेषताएं. ज़्यादा जानने के लिए, Android पर डेटा मॉडल देखें.

नेटवर्क

Google Home का इकोसिस्टम, स्मार्ट होम से जुड़े अनुभव को बेहतर बनाने, मैनेज करने, सुरक्षित रखने, और इंटिग्रेट करने के लिए एक आसान प्लैटफ़ॉर्म उपलब्ध कराता है. दूसरी इमेज में दिखाया गया है कि सभी कॉम्पोनेंट एक साथ कैसे काम करते हैं.

Android ऐप्लिकेशन के लिए, Home API के इकोसिस्टम को दिखाने वाला डायग्राम
दूसरी इमेज: Android ऐप्लिकेशन के लिए Home APIs का इकोसिस्टम

इस इकोसिस्टम में Google Automation Engine शामिल है. यह ऑटोमेशन को सेव करता है और उन्हें चलाता है. इससे घर में टास्क और डिवाइस की सेटिंग को ऑटोमेट किया जा सकता है.

Home APIs, स्ट्रक्चर में मौजूद डिवाइसों को ऐक्सेस करने की अनुमति देने के लिए OAuth 2.0 का इस्तेमाल करता है. OAuth की मदद से, कोई उपयोगकर्ता अपने लॉगिन क्रेडेंशियल शेयर किए बिना किसी ऐप्लिकेशन या सेवा को अनुमति दे सकता है.

Google Home Developer Console का इस्तेमाल, Home APIs प्रोजेक्ट के सभी चरणों को मैनेज करने के लिए किया जाता है. जैसे, ब्रैंड की पुष्टि करना, डेवलपमेंट करना, टेस्टिंग करना, सर्टिफ़िकेट पाना, और आखिर में लॉन्च करना. इससे डेवलपमेंट की प्रोसेस आसान हो जाती है. साथ ही, Google Home के नेटवर्क के ज़रिए मज़बूत टूल और डिस्ट्रिब्यूशन की सुविधा मिलती है.

भाषा

Android के लिए Home API, Kotlin में लिखे गए हैं. ये Kotlin के लिए एक इंटरफ़ेस उपलब्ध कराते हैं. यह इंटरफ़ेस, Flow का इस्तेमाल करके, स्थिति और सदस्यता को मैनेज करता है. इससे, सदस्यता के लिए इस्तेमाल किए जाने वाले स्टैंडर्ड एपीआई के मुकाबले कई फ़ायदे मिलते हैं.

हमारा सुझाव है कि अगर आपको कोरूटीन, फ़्लो, और Jetpack Compose के बारे में नहीं पता है, तो Kotlin के दस्तावेज़ पढ़ें:

इकाई के आइडेंटिफ़ायर

Home APIs में मौजूद हर इकाई का एक आईडी होता है, जो उसके मुख्य आइडेंटिफ़ायर को दिखाता है. यह आईडी यूनीक और स्टेबल आइडेंटिफ़ायर होता है. यह इकाई के लिए कभी नहीं बदलता. इस आईडी का इस्तेमाल, ऑब्जेक्ट को कैश मेमोरी में सेव करने या समानता की जांच करने के लिए किया जा सकता है. ऐसा इसलिए, क्योंकि किसी इकाई का मेटाडेटा बदल सकता है.

HasId इंटरफ़ेस देखें. इससे आपको यह पता चलेगा कि किन इकाइयों का आईडी होता है.

शब्दावली मैपिंग

Home APIs में मौजूद इकाइयां, Matter और Cloud-to-cloud कॉन्सेप्ट से इस तरह मैप होती हैं:

Home APIs Matter Cloud-to-cloud
विशेषता क्लस्टर विशेषता
एट्रिब्यूट एट्रिब्यूट एट्रिब्यूट, स्थिति
निर्देश निर्देश निर्देश
इवेंट इवेंट फ़ॉलो अप जवाब, सूचना