Android के लिए Google Home API, एक यूनिफ़ाइड एपीआई प्लैटफ़ॉर्म उपलब्ध कराते हैं. इससे डेवलपर, उपयोगकर्ता के होम में मौजूद इकाइयों की स्थिति के साथ इंटरैक्ट कर सकते हैं. इन इकाइयों में, उपयोगकर्ता के स्ट्रक्चर और कमरों से जुड़े डिवाइसों और अन्य चीज़ों की जानकारी शामिल हो सकती है.
Home APIs, इन इकाइयों को तय करते हैं. उपयोगकर्ता इनके साथ इंटरैक्ट कर सकता है:
- स्ट्रक्चर से किसी होम का पता चलता है, जिसमें कमरे और डिवाइस शामिल होते हैं.
- कमरे, किसी स्ट्रक्चर का हिस्सा होते हैं और इनमें डिवाइस मौजूद होते हैं.
- डिवाइस, एट्रिब्यूट वाली विशेषताओं को लागू करते हैं, टाइप के मुताबिक काम करते हैं, इवेंट ट्रिगर करते हैं, और निर्देशों का जवाब देते हैं.
- डिवाइस ग्रुप, किसी स्ट्रक्चर में मौजूद डिवाइसों का कलेक्शन होते हैं. इन्हें उपयोगकर्ता तय करता है.
- ऑटोमेशन, स्ट्रक्चर का हिस्सा होते हैं. ये होम के मेटाडेटा और डिवाइसों का इस्तेमाल करके, होम में मौजूद डिवाइसों के टास्क अपने-आप पूरे करते हैं.
पहली इमेज में, इस आर्किटेक्चर के बारे में बताया गया है:
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 का नेटवर्क, स्मार्ट होम की सुविधाओं को बनाने, मैनेज करने, सुरक्षित रखने, और इंटिग्रेट करने के लिए एक आसान प्लैटफ़ॉर्म उपलब्ध कराता है. दूसरे डायग्राम में दिखाया गया है कि सभी कॉम्पोनेंट एक साथ कैसे काम करते हैं.
इस नेटवर्क में Google ऑटोमेशन इंजन शामिल है. यह ऑटोमेशन को सेव और चालू करता है. ऑटोमेशन की मदद से, होम में मौजूद डिवाइसों की सेटिंग और टास्क को ऑटोमेट किया जा सकता है.
Home APIs, स्ट्रक्चर में मौजूद डिवाइसों का ऐक्सेस देने के लिए, OAuth 2.0 का इस्तेमाल करता है. OAuth की मदद से, उपयोगकर्ता अपने लॉगिन क्रेडेंशियल ज़ाहिर किए बिना, किसी ऐप्लिकेशन या सेवा को अनुमति दे सकता है.
Google Home Developer Console का इस्तेमाल, Home APIs प्रोजेक्ट के सभी चरणों को मैनेज करने के लिए किया जाता है. इसमें ब्रैंड की पुष्टि करने से लेकर, डेवलप करने, टेस्ट करने, सर्टिफ़िकेट देने, और आखिर में लॉन्च करने तक की प्रोसेस शामिल है. यह डेवलपमेंट की प्रोसेस को आसान बनाता है. साथ ही, Google Home नेटवर्क के ज़रिए बेहतरीन टूल और डिस्ट्रिब्यूशन की सुविधा देता है.
भाषा
Android के लिए Home API, Kotlin में लिखे गए हैं. ये Kotlin का एक ऐसा इंटरफ़ेस उपलब्ध कराते हैं जो स्टेट और सदस्यता को मैनेज करने के लिए, Flow का इस्तेमाल करता है. यह स्टैंडर्ड सदस्यता एपीआई की तुलना में कई फ़ायदे देता है.
अगर आपको Kotlin के दस्तावेज़ों के बारे में जानकारी नहीं है, तो हमारा सुझाव है कि आप कोरूटीन, फ़्लो, और Jetpack Compose के बारे में जानकारी देने वाले Kotlin के दस्तावेज़ों को पढ़ें:
- Kotlin की मदद से Android ऐप्लिकेशन डेवलप करना
- Android के लिए Kotlin के बारे में जानें
- Android पर Kotlin कोरूटीन. ये कोडलैब आपके काम आ सकते हैं:
- Android पर Kotlin फ़्लो और खास तौर पर, StateFlow.
- स्टेट और Jetpack Compose, खास तौर पर
collectAsStateWithLifecycle()फ़ंक्शन. यह फ़ंक्शन, फ़्लो की सदस्यता लेने और उसे छोड़ने की प्रोसेस को अपने-आप मैनेज करता है. यह इस बात पर निर्भर करता है कि उस स्थिति को दिखाने वाला यूज़र इंटरफ़ेस (यूआई) असल में फ़ोरग्राउंड में है या नहीं. - अगर ऑटोमेशन एपीआई का इस्तेमाल किया जा रहा है, तो Kotlin टाइप-सेफ़ बिल्डर के बारे में पढ़ने से, ऑटोमेशन डीएसएल के काम करने के तरीके को समझने में मदद मिलती है.
इकाई के आइडेंटिफ़ायर
Home API में मौजूद हर इकाई का एक आईडी होता है, जो उसके मुख्य आइडेंटिफ़ायर को दिखाता है. यह आईडी एक यूनीक और स्टेबल आइडेंटिफ़ायर है, जो इकाई के लाइफ़टाइम के दौरान कभी नहीं बदलेगा. इस आईडी का इस्तेमाल, ऑब्जेक्ट को कैश मेमोरी में सेव करने या समानता की जांच करने के लिए किया जा सकता है. ऐसा इसलिए, क्योंकि किसी इकाई का मेटाडेटा बदल सकता है.
HasId इंटरफ़ेस देखें और जानें कि किन इकाइयों के पास आईडी है.
शब्दावली की मैपिंग
Home API में मौजूद इकाइयां, Matter और Cloud-to-cloud के कॉन्सेप्ट से इस तरह मैप होती हैं:
| Home APIs | Matter | Cloud-to-cloud |
|---|---|---|
| Trait | क्लस्टर | Trait |
| एट्रिब्यूट | एट्रिब्यूट | एट्रिब्यूट, राज्य |
| निर्देश | निर्देश | निर्देश |
| इवेंट | इवेंट | फ़ॉलो अप रिस्पॉन्स, सूचना |