Google Cloud पर ARCore API का इस्तेमाल करना

प्लैटफ़ॉर्म चुनें:

भौगोलिक डेटा से जुड़े एपीआई और क्लाउड ऐंकर जैसी ARCore की सुविधाएं, Google Cloud पर होस्ट किए गए ARCore API का इस्तेमाल करती हैं. इन सुविधाओं का इस्तेमाल करते समय, आपका ऐप्लिकेशन ARCore API सेवा को ऐक्सेस करने के लिए क्रेडेंशियल का इस्तेमाल करता है.

इस क्विकस्टार्ट में बताया गया है कि ऐप्लिकेशन को कैसे सेट अप किया जाए, ताकि वह Google Cloud पर होस्ट की गई ARCore API सेवा से इंटरैक्ट कर सके.

नया Google Cloud प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का इस्तेमाल करें

अगर आपके पास कोई मौजूदा प्रोजेक्ट है, तो उसे चुनें.

प्रोजेक्ट सिलेक्टर पर जाएं

अगर आपके पास Google Cloud का कोई मौजूदा प्रोजेक्ट नहीं है, तो एक प्रोजेक्ट बनाएं.

नया प्रोजेक्ट बनाना

ARCore API चालू करना

ARCore API का इस्तेमाल करने के लिए, आपको इसे अपने प्रोजेक्ट में चालू करना होगा.

ARCore API चालू करना

अनुमति देने का तरीका सेट अप करना

iOS ऐप्लिकेशन, दो अलग-अलग अनुमति देने के तरीकों का इस्तेमाल करके ARCore API से संपर्क कर सकता है: कुंजी के बिना अनुमति देना, जो सुझाया गया तरीका है और API पासकोड से अनुमति देना:

  • कुंजी के बिना अनुमति देने पर, एपीआई के ऐक्सेस को कंट्रोल करने के लिए, साइन किए गए टोकन का इस्तेमाल किया जाता है. इस तरीके में, आपके मालिकाना हक वाले सर्वर को टोकन पर हस्ताक्षर करने होंगे और एपीआई के ऐक्सेस को कंट्रोल करना होगा.
  • एपीआई पासकोड वह स्ट्रिंग होती है जो Google Cloud प्रोजेक्ट की पहचान करती है. आम तौर पर, एपीआई कुंजियों को सुरक्षित नहीं माना जाता, क्योंकि आम तौर पर इन्हें क्लाइंट ऐक्सेस कर सकते हैं. ARCore API के साथ संपर्क करने के लिए, टोकन की अनुमति का इस्तेमाल करें.

चाबी के बिना

ARCore, (JSON वेब टोकन) का इस्तेमाल करके, iOS में एपीआई कॉल की अनुमति देता है. टोकन पर Google सेवा खाते से हस्ताक्षर किया जाना चाहिए.

iOS के लिए टोकन जनरेट करने के लिए, आपके सर्वर पर ऐसा एंडपॉइंट होना चाहिए जो नीचे दी गई ज़रूरी शर्तों को पूरा करता हो:

  • अनुमति देने के आपके तरीके से, एंडपॉइंट की सुरक्षा करनी चाहिए.

  • एंडपॉइंट को हर बार एक नया टोकन जनरेट करना होगा, जैसे:

    • हर उपयोगकर्ता को एक यूनीक टोकन मिलता है.
    • टोकन की समयसीमा तुरंत खत्म नहीं होती.

सेवा खाता और साइनिंग पासकोड बनाना

Google सेवा खाता और साइनिंग पासकोड बनाने के लिए, यह तरीका अपनाएं:

  1. Google Cloud में, क्रेडेंशियल पेज खोलें.
    क्रेडेंशियल
  2. क्रेडेंशियल बनाएं > सेवा खाता पर क्लिक करें.
  3. सेवा खाते की जानकारी में, नए खाते के लिए एक नाम लिखें, फिर बनाएं पर क्लिक करें.
  4. सेवा खाते की अनुमतियों वाले पेज पर, कोई भूमिका चुनें ड्रॉप-डाउन पर जाएं. सेवा खाते > सेवा खाता टोकन क्रिएटर चुनें. इसके बाद, 'जारी रखें' पर क्लिक करें.
  5. उपयोगकर्ताओं को इस सेवा खाते का ऐक्सेस दें पेज पर, 'हो गया' पर क्लिक करें.
  6. क्रेडेंशियल पेज पर, सेवा खाते सेक्शन पर जाएं और अभी-अभी बनाए गए खाते के नाम पर क्लिक करें.
  7. सेवा खाते की जानकारी पेज पर, नीचे की ओर स्क्रोल करके 'की' सेक्शन तक जाएं और कुंजी जोड़ें > नई कुंजी बनाएं चुनें.
  8. कुंजी के टाइप के तौर पर JSON चुनें और बनाएं पर क्लिक करें.

    इससे एक JSON फ़ाइल डाउनलोड हो जाएगी, जिसमें आपकी मशीन की निजी कुंजी होगी. डाउनलोड की गई JSON कुंजी फ़ाइल को किसी सुरक्षित जगह पर सेव करें.

अपने सर्वर पर टोकन बनाएं

अपने सर्वर पर नए टोकन (JWT) बनाने के लिए, स्टैंडर्ड JWT लाइब्रेरी और उस JSON फ़ाइल का इस्तेमाल करें जिसे आपने अपने नए सेवा खाते से सुरक्षित तरीके से डाउनलोड किया है.

अपनी डेवलपमेंट मशीन पर टोकन बनाएं

अपनी डेवलपमेंट मशीन पर JWT जनरेट करने के लिए, यहां दिए गए oauth2l कमांड का इस्तेमाल करें:

oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"

--cache फ़्लैग का इस्तेमाल करके, कैश मेमोरी की खाली जगह के बारे में बताना ज़रूरी है. इससे यह पक्का किया जा सकता है कि हर बार एक अलग टोकन बनाया जाए. नतीजे वाली स्ट्रिंग में काट-छांट कर लें. ज़रूरत से ज़्यादा स्पेस या न्यूलाइन वर्णों की वजह से एपीआई, टोकन को अस्वीकार कर देगा.

टोकन पर हस्ताक्षर करें

JWT पर हस्ताक्षर करने के लिए, आपको RS256 एल्गोरिदम और इन दावों का इस्तेमाल करना होगा:

  • iss — सेवा खाते का ईमेल पता.
  • sub — सेवा खाते का ईमेल पता.
  • iat — Unix epoch टाइम, वह समय जब टोकन जनरेट किया गया था (सेकंड में).
  • expiat + 3600 (1 घंटा). सेकंड में, टोकन की समयसीमा खत्म होने का Unix epoch समय.
  • aud — दर्शक. इसे https://arcore.googleapis.com/ पर सेट किया जाना चाहिए.

JWT पेलोड में गैर-मानक दावों की ज़रूरत नहीं है. हालांकि, आपके लिए uid दावे से मिलते-जुलते उपयोगकर्ता की पहचान करना उपयोगी हो सकता है.

अगर जेडब्लयूटी जनरेट करने के लिए कोई दूसरा तरीका इस्तेमाल किया जाता है, जैसे कि Google से मैनेज किए जाने वाले एनवायरमेंट में Google API का इस्तेमाल करना, तो इस सेक्शन में दिए गए दावों के साथ अपने JWT ज़रूर साइन करें. इन सबसे ऊपर, पक्का करें कि ऑडियंस सही है.

ARCore सेशन में टोकन पास करें

  1. GARSession#sessionWithError: का इस्तेमाल करके सेशन बनाएं.

    NSError *error = nil;
    GARSession *garSession = [GARSession sessionWithError:&error];
    
  2. जब आपको टोकन मिलता है, तो उसे setAuthToken: का इस्तेमाल करके सेशन में पास करें. ऐसा न करने पर, सेशन में अनुमति वाले उस टोकन का इस्तेमाल किया जाएगा जो आपने हाल ही में पास किया था. हर बार अपना टोकन रीफ़्रेश करने पर, इस तरीके को कॉल करें:

    [garSession setAuthToken: authToken]
    

आपके ऐप्लिकेशन को अब बिना चाबी के पुष्टि करने की सुविधा का इस्तेमाल करने के लिए कॉन्फ़िगर कर दिया गया है.

सेशन में टोकन पास करते समय इन बातों का ध्यान रखें:

  • अगर आपने सेशन बनाने के लिए किसी एपीआई पासकोड का इस्तेमाल किया है, तो ARCore टोकन को अनदेखा कर देगा और गड़बड़ी लॉग कर देगा.

    अगर अब आपको एपीआई पासकोड की ज़रूरत नहीं है, तो उसे Google Developers कंसोल में जाकर मिटा दें और अपने ऐप्लिकेशन से हटा दें.

  • ARCore उन टोकन को अनदेखा करता है जिनमें स्पेस या खास वर्ण होते हैं.

  • आम तौर पर, टोकन की समयसीमा एक घंटे बाद खत्म हो जाती है. अगर इस बात की संभावना है कि इस्तेमाल के दौरान आपका टोकन खत्म हो सकता है, तो एक नया टोकन पाएं और उसे एपीआई पर भेजें.

API (एपीआई) कुंजी

  1. Google Cloud में, क्रेडेंशियल पेज खोलें.
    क्रेडेंशियल
  2. क्रेडेंशियल बनाएं पर क्लिक करें. इसके बाद, मेन्यू से एपीआई पासकोड चुनें.
    एपीआई पासकोड से बनाया गया डायलॉग बॉक्स, आपकी बनाई गई नई कुंजी की स्ट्रिंग दिखाता है.
  3. GARSession बनाते समय, GARSession#sessionWithAPIKey:bundleIdentifier:error: का इस्तेमाल करें और अपनी एपीआई पासकोड डालें:

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    
  4. अपनी एपीआई पासकोड को सुरक्षित रखने के लिए, एपीआई पासकोड से जुड़ी पाबंदियों से जुड़ा दस्तावेज़ देखें.

आपका ऐप्लिकेशन अब एपीआई पासकोड का इस्तेमाल करने के लिए कॉन्फ़िगर हो गया है.

आगे क्या करना है

अनुमति कॉन्फ़िगर होने के बाद, ARCore की ये सुविधाएं देखें, जो इसका इस्तेमाल करती हैं: