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