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

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

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

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

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