iOS के लिए बने इस सैंपल ऐप्लिकेशन में, Google Home के एपीआई का इस्तेमाल किया गया है. पहली बार ऐप्लिकेशन बनाने और उसे चलाने के लिए, इस गाइड का इस्तेमाल करें.
ज़रूरी शर्तें
पक्का करें कि आपके पास iOS के लिए Home के एपीआई इस्तेमाल करने की ज़रूरी शर्तें पूरी हों.
सैंपल ऐप्लिकेशन बनाने और इंस्टॉल करने के लिए, आपको Xcode के 15.3 या इसके बाद के वर्शन वाला कंप्यूटर चाहिए.
ऐप्लिकेशन की जांच करने के लिए, आपको इनकी ज़रूरत होगी:
- एक Google खाता.
- Apple ID, जो Apple Developer Program में रजिस्टर हो. इससे, फ़िज़िकल डिवाइस कॉन्फ़िगरेशन फ़ाइलें जनरेट की जा सकती हैं. अगर इसे पहले से नहीं बनाया गया है, तो इसके लिए आपको अलग से शुल्क देना होगा. साथ ही, इसमें 48 घंटे तक लग सकते हैं.
- iOS 16.4 या इसके बाद के वर्शन वाला iOS डिवाइस (सिमुलेटर नहीं), जो टेस्ट खाते के साथ सेट अप किया गया हो.
- एक वाई-फ़ाई नेटवर्क.
- Google Hub, जो Home के एपीआई के साथ काम करता हो.
- Thread बॉर्डर राऊटर, अगर आपके डिवाइस के लिए Thread की ज़रूरत है और आपके हब में यह सुविधा नहीं है.
- कम से कम एक ऐसा डिवाइस टाइप जो काम करता हो.
डेवलपमेंट के लिए, आपको ऐसे Mac की ज़रूरत होगी जो ये शर्तें पूरी करता हो:
- macOS Sonoma या इसके बाद का वर्शन
- Xcode 15.3 या इसके बाद का वर्शन
Apple के लिए डिप्लॉयमेंट कॉन्फ़िगरेशन फ़ाइलें बनाना
सबसे पहले, किसी ऐप्लिकेशन के लिए App Attest सुविधा चालू होनी चाहिए. इसलिए, इसे सिमुलेटर डिवाइसों पर डिप्लॉय नहीं किया जा सकता. इसके लिए, आपको App Attest एनटाइटलमेंट के साथ एक प्रोविज़निंग प्रोफ़ाइल बनानी होगी.
दूसरी बात, ऐप्लिकेशन और MatterExtension के बीच कम्यूनिकेशन के लिए, App Groups चालू होने चाहिए. इसके लिए, आपको ऐप्लिकेशन ग्रुप आइडेंटिफ़ायर रजिस्टर करना होगा.
ज़्यादा जानकारी के लिए, Apple की डेवलपमेंट प्रोविज़निंग प्रोफ़ाइल बनाना प्रोविज़निंग प्रोफ़ाइल पर लेख पढ़ें.
किसी ऐप्लिकेशन को डिप्लॉय करने के लिए, कम से कम ये चरण पूरे करने होंगे:
MatterExtensionके साथ कम्यूनिकेट करने के लिए, अपने ऐप्लिकेशन के लिए एक ऐप्लिकेशन ग्रुप आइडेंटिफ़ायर बनाएं.- Apple Developer Portal में साइन इन करें.
- एक ऐप्लिकेशन ग्रुप आइडेंटिफ़ायर जोड़ें. उदाहरण के लिए, इसे
group.com.company.commissioningके तौर पर फ़ॉर्मैट किया जा सकता है.
- डेवलपर खाते में, अपना टेस्ट के लिए डिवाइस रजिस्टर करें.
अपने ऐप्लिकेशन के टारगेट के लिए एक प्रोफ़ाइल बनाएं.
- अपने ऐप्लिकेशन के लिए, ऐप्लिकेशन बंडल आइडेंटिफ़ायर तय करें. आइडेंटिफ़ायर यूनीक और जानकारी देने वाला होना चाहिए. उदाहरण के लिए, इसे
com.company.HomeApiSampleके तौर पर फ़ॉर्मैट किया जा सकता है. इस आइडेंटिफ़ायर का इस्तेमाल, इस सेक्शन के बाकी हिस्सों में किया जाएगा. - अपना ऐप्लिकेशन आईडी रजिस्टर करें. कहे जाने पर, App Attest और App Groups सुविधा जोड़ें.
नए बनाए गए ऐप्लिकेशन आईडी में बदलाव करें और रजिस्टर किए गए ऐप्लिकेशन ग्रुप आइडेंटिफ़ायर को जोड़ने के लिए, App Groups सुविधा को कॉन्फ़िगर करें.
अपने ऐप्लिकेशन के डेवलपमेंट के लिए, डेवलपमेंट प्रोविज़निंग प्रोफ़ाइल बनाएं. इसे अपने नए बनाए गए ऐप्लिकेशन आईडी और चुने गए टेस्ट डिवाइसों से जोड़ें. पक्का करें कि आपके पास ऐप्लिकेशन पर हस्ताक्षर करने के लिए, डेवलपर सर्टिफ़िकेट हो.
- अगर आपने अब तक कोई सर्टिफ़िकेट नहीं बनाया है, तो निर्देश पाने के लिए, डेवलपर आईडी सर्टिफ़िकेट बनाना लेख पढ़ें.
- अपने ऐप्लिकेशन के लिए, ऐप्लिकेशन बंडल आइडेंटिफ़ायर तय करें. आइडेंटिफ़ायर यूनीक और जानकारी देने वाला होना चाहिए. उदाहरण के लिए, इसे
अपने
MatterExtensionटारगेट के लिए एक प्रोफ़ाइल बनाएं.- अपने
MatterExtensionके लिए, ऐप्लिकेशन बंडल आइडेंटिफ़ायर तय करें. आइडेंटिफ़ायर, ऐप्लिकेशन आइडेंटिफ़ायर से इनहेरिट किया जाना चाहिए. उदाहरण के लिए, इसेcom.company.HomeApiSample.MatterExtensionके तौर पर फ़ॉर्मैट किया जा सकता है. - अपना ऐप्लिकेशन आईडी रजिस्टर करें. कहे जाने पर, App Group सुविधा जोड़ें.
- नए बनाए गए ऐप्लिकेशन आईडी में बदलाव करें और पिछले चरणों में बनाए गए रजिस्टर किए गए ऐप्लिकेशन ग्रुप आइडेंटिफ़ायर को जोड़ने के लिए, App Groups सुविधा को कॉन्फ़िगर करें.
- डेवलपमेंट प्रोविज़निंग प्रोफ़ाइल बनाएं
MatterExtensionके लिए.
- अपने
OAuth क्लाइंट आईडी जनरेट करना और Home के एपीआई चालू करना
आपके ऐप्लिकेशन को, Google के ऑथेंटिकेशन बैकएंड पर अपनी पहचान बताने के लिए, OAuth क्लाइंट आईडी की ज़रूरत होती है. iOS और ऐप्लिकेशन के लिए, OAuth क्लाइंट आईडी ऐप्लिकेशन टाइप को iOS के तौर पर कॉन्फ़िगर किया जाना चाहिए. ऐप्लिकेशन, Home के एपीआई को भी कॉल करेगा. इस सुविधा को चालू करने के लिए, Google Cloud प्रोजेक्ट में एपीआई चालू करना होगा.
OAuth क्लाइंट आईडी जनरेट करना
- Google Cloud Console में, प्रोजेक्ट चुनने वाले डैशबोर्ड पर जाएं और वह प्रोजेक्ट चुनें जिसका इस्तेमाल आपको OAuth क्रेडेंशियल बनाने के लिए करना है.
- सबसे ऊपर बाईं ओर मौजूद, मेन्यू बटन > सभी प्रॉडक्ट देखें > एपीआई और सेवाएं पर क्लिक करके, एपीआई और सेवाएं पेज पर जाएं.
- नेविगेशन मेन्यू में, क्रेडेंशियल पर क्लिक करें.
अगर आपने अब तक इस Google Cloud प्रोजेक्ट के लिए, सहमति स्क्रीन को कॉन्फ़िगर नहीं किया है, तो सहमति स्क्रीन कॉन्फ़िगर करें बटन दिखेगा. ऐसे में, सहमति स्क्रीन को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं. अगर OAuth सहमति स्क्रीन पहले से कॉन्फ़िगर की गई है और उसकी पब्लिशिंग स्थिति टेस्टिंग है, तो पक्का करें कि जिन टेस्ट खातों का इस्तेमाल किया जाएगा उन्हें टेस्ट उपयोगकर्ता ग्रुप में जोड़ा गया हो. अगर ऐसा नहीं है, तो अगले चरण पर जाएं.
- अपने इस्तेमाल के उदाहरण के हिसाब से, इंटरनल या एक्सटर्नल चुनें. और इसके बाद, बनाएं पर क्लिक करें. OAuth की सहमति स्क्रीन पैनल दिखता है.
- ऐप्लिकेशन की जानकारी वाले पेज पर, स्क्रीन पर दिए गए निर्देशों के मुताबिक जानकारी डालें. इसके बाद, सेव करें और जारी रखें पर क्लिक करें. स्कोप पैनल दिखता है.
- आपको कोई स्कोप जोड़ने की ज़रूरत नहीं है. इसलिए, सेव करें और जारी रखें पर क्लिक करें. टेस्ट उपयोगकर्ता पैनल दिखता है.
- अगर आपने इंटरनल ऐसी स्क्रीन जहां OAuth के लिए सहमति दी जाती है बनाने का विकल्प चुना है, तो आपको अपने ऐप्लिकेशन को ऐक्सेस करने की जांच करने के लिए, उपयोगकर्ताओं को जोड़ना होगा. उपयोगकर्ता जोड़ें पर क्लिक करें. उपयोगकर्ता जोड़ें पैनल दिखता है. टेस्ट उपयोगकर्ताओं के पास, आपके ऐप्लिकेशन में अनुमतियां देने का अधिकार होता है. खाली फ़ील्ड में, एक या उससे ज़्यादा Google खाते के ईमेल पते जोड़ें. इसके बाद, जोड़ें पर क्लिक करें.
- सेव करें और जारी रखें पर क्लिक करें. खास जानकारी पैनल दिखता है.
- OAuth की सहमति स्क्रीन की जानकारी देखें. इसके बाद, डैशबोर्ड पर वापस जाएं पर क्लिक करें.
OAuth क्लाइंट आईडी बनाने के लिए, बाएं मेन्यू पैनल में क्रेडेंशियल पर क्लिक करें.

- क्रेडेंशियल बनाएं बटन पर क्लिक करें और OAuth क्लाइंट आईडी चुनें.
- **ऐप्लिकेशन टाइप** में, **iOS** चुनें.
- बंडल आईडी में, अपने ऐप्लिकेशन आइडेंटिफ़ायर और Apple Developer Team ID डालें. दूसरे फ़ील्ड ज़रूरी नहीं हैं. इन्हें खाली छोड़ा जा सकता है.
- बनाएं पर क्लिक करें और बनाए गए क्लाइंट आईडी को नोट करें या PLIST डाउनलोड करें पर क्लिक करें. इसका इस्तेमाल, अनुमतियों के फ़्लो की सुविधा को चालू करने के लिए किया जाएगा. ज़्यादा जानकारी के लिए, अनुमति के क्रेडेंशियल बनाना सेक्शन देखें.
- क्रेडेंशियल बनाएं बटन पर क्लिक करें और OAuth क्लाइंट आईडी चुनें.
Home के एपीआई चालू करना
Home के एपीआई को ऐक्सेस करने की अनुमति दें.
- एपीआई और सेवाएं टैब में, चालू एपीआई और सेवाएं पर क्लिक करें.
- पेज पर सबसे ऊपर मौजूद, एपीआई और सेवाएं चालू करें पर क्लिक करें.
HOME APIखोजें और उसे चुनें.- Home API के जानकारी वाले पेज पर, चालू करें पर क्लिक करें.
सोर्स कोड डाउनलोड करना
सैंपल ऐप्लिकेशन का सोर्स कोड GitHub पर उपलब्ध है.
उस जगह पर जाएं जहां आपको प्रोजेक्ट सेव करना है. इसके बाद, उसे क्लोन करें:
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitXcode पर प्रोजेक्ट लोड करने के लिए, फ़ाइल > खोलें पर क्लिक करें. इसके बाद, क्लोन की गई रिपॉज़िटरी की रूट में मौजूद,
GoogleHomeAPISampleIOS.xcodeproj को चुनें.
प्रोजेक्ट में SDK टूल जोड़ना
सैंपल ऐप्लिकेशन प्रोजेक्ट को बनाने के लिए, कुछ और जानकारी की ज़रूरत होती है. इसमें, SDK फ़्रेमवर्क फ़ाइलों को स्थानीय तौर पर जोड़ना, डेवलपर खाते के आइडेंटिफ़ायर की जानकारी डालना, और OAuth क्लाइंट आईडी डालना शामिल है.
ऐप्लिकेशन बनाना
Home के एपीआई का iOS SDK डाउनलोड करने के लिए, आपको पहले Google Home के डेवलपर में साइन इन करना होगा.
सैंपल ऐप्लिकेशन के लिए, अपना Xcode प्रोजेक्ट कॉन्फ़िगर करें:
- डाउनलोड किए गए SDK को, प्रोजेक्ट की रूट डायरेक्ट्री के मुकाबले
ThirdParty/GoogleHomeSDKडायरेक्ट्री में अनपैक करें. - डेवलपर और OAuth क्लाइंट आईडी कॉन्फ़िगर करना:
- नेविगेशन पैन में, GoogleHomeAPISampleIOS फ़ोल्डर ढूंढें और बदलाव करने के लिए, Info.plist फ़ाइल खोलें.
Info.plist फ़ाइल में, GIDClientID में अपना OAuth क्लाइंट आईडी (OAuth के लिए सहमति सेट अप करना सेक्शन देखें), Cloud Project Number में अपने क्लाउड प्रोजेक्ट से जुड़ा नंबर, और GIDTeamID में OAuth रजिस्ट्रेशन की प्रोसेस के दौरान इस्तेमाल किए गए डेवलबर खाते का Apple Developer Team ID डालें.
App Attest सुविधा जोड़ना:
- प्रोजेक्ट कॉन्फ़िगरेशन में बदलाव करने के लिए, Xcode के नेविगेशन पैन में,
GoogleHomeAPISampleIOSप्रोजेक्ट फ़ाइल चुनें. - सबसे ऊपर मौजूद, Signing and Capabilities टैब पर क्लिक करें. इसके बाद, TARGETS सेक्शन में बाईं ओर मौजूद,
GoogleHomeAPISampleIOSटारगेट चुनें. - Signing and Capabilities टैब के ठीक नीचे, + Capability पर क्लिक करें और App Attest खोजें.
- जोड़ने के लिए, App Attest पर क्लिक करें. अगर खोज में यह सुविधा नहीं दिखती है, तो हो सकता है कि प्रोजेक्ट में इसे पहले ही जोड़ा गया हो.
- प्रोजेक्ट कॉन्फ़िगरेशन में बदलाव करने के लिए, Xcode के नेविगेशन पैन में,
App Groups सुविधा जोड़ें.

- GoogleHomeAPISampleIOS प्रोजेक्ट > GoogleHomeAPISampleIOS टारगेट पर जाएं.
- Signing & Capabilities > + Capability पर क्लिक करें.
- App Groups सुविधा चुनें.
- App Groups में मौजूद, + आइकॉन पर क्लिक करें. इसके बाद, अपने ऐप्लिकेशन के लिए वह App Groups आइडेंटिफ़ायर जोड़ें जिसे आपने Apple Developer Portal में जोड़ा था.
- MatterAddDeviceExtension टारगेट के लिए भी ये चरण दोहराएं, ताकि इसे App Groups में जोड़ा जा सके.
बंडल आइडेंटिफ़ायर अपडेट करना
- अपने डेवलपर सर्टिफ़िकेट और प्रोविज़निंग प्रोफ़ाइल का इस्तेमाल करके, हार्डवेयर पर सैंपल ऐप्लिकेशन को सही तरीके से चलाने और डिप्लॉय करने के लिए, आपको एक यूनीक बंडल आइडेंटिफ़ायर देना होगा. यह वही आइडेंटिफ़ायर होना चाहिए जो आपके OAuth क्लाइंट क्रेडेंशियल से जुड़ा है (ऊपर देखें).
- प्रोजेक्ट कॉन्फ़िगरेशन में बदलाव करने के लिए, Xcode के नेविगेशन पैन में,
GoogleHomeAPISampleIOSप्रोजेक्ट फ़ाइल चुनें. - सबसे ऊपर मौजूद, Signing and Capabilities टैब पर क्लिक करें. इसके बाद, TARGETS सेक्शन में बाईं ओर मौजूद,
GoogleHomeAPISampleIOSटारगेट चुनें. - Signing सेक्शन में, बंडल आइडेंटिफ़ायर फ़ील्ड चुनें और ऐप्लिकेशन के लिए यूनीक आइडेंटिफ़ायर डालें.
- ज़रूरी एनटाइटलमेंट के साथ, उस बंडल से जुड़ी प्रोविज़निंग प्रोफ़ाइल चुनें या इंस्टॉल करें.
MatterAddDeviceExtensionटारगेट के लिए भी ये चरण दोहराएं, ताकि एक्सटेंशन के लिए बंडल आइडेंटिफ़ायर डाला जा सके और उसकी रजिस्टर की गई प्रोविज़निंग प्रोफ़ाइल इंपोर्ट की जा सके.
कोड में, रजिस्टर किए गए ऐप्लिकेशन ग्रुप आइडेंटिफ़ायर को अपडेट करना.
- ऐप्लिकेशन को, SDK इंस्टेंस को कॉन्फ़िगर करना ज़रूरी है, ताकि डिवाइस कमीशनिंग जैसी सुविधाओं के लिए, App Group आइडेंटिफ़ायर का इस्तेमाल किया जा सके. Apple Developer Portal में रजिस्टर किए गए App Group ID का इस्तेमाल करने के लिए, ऐप्लिकेशन को अपडेट करें. इसके लिए,
HOME_API_TODO_ADD_APP_GROUPस्ट्रिंग खोजें और हर इंस्टेंस को इससे बदलें.
ये कॉन्फ़िगरेशन, इन फ़ाइलों में किए जाते हैं:
- SDK को शुरू करने पर,
GoogleHomeAPISampleIOS.swift. RequestHandler.swiftCommissioningManager.swift
- ऐप्लिकेशन को, SDK इंस्टेंस को कॉन्फ़िगर करना ज़रूरी है, ताकि डिवाइस कमीशनिंग जैसी सुविधाओं के लिए, App Group आइडेंटिफ़ायर का इस्तेमाल किया जा सके. Apple Developer Portal में रजिस्टर किए गए App Group ID का इस्तेमाल करने के लिए, ऐप्लिकेशन को अपडेट करें. इसके लिए,