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

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

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

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

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

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

प्रोजेक्ट चुनने वाले टूल पर जाएं

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

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

ARCore API चालू करना

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

ARCore API चालू करना

पुष्टि करने का तरीका सेट अप करना

iOS ऐप्लिकेशन, ARCore API के साथ दो अलग-अलग तरीकों से कम्यूनिकेट कर सकता है. ये तरीके हैं: बिना कुंजी के अनुमति देना (यह तरीका इस्तेमाल करने का सुझाव दिया जाता है) और एपीआई कुंजी के ज़रिए अनुमति देना:

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

बिना चाबी के

ARCore, iOS में एपीआई कॉल के लिए अनुमति देने की सुविधा देता है. इसके लिए, (JSON Web Token) का इस्तेमाल किया जाता है. टोकन पर 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 दावा, संबंधित उपयोगकर्ता की पहचान करने के लिए काम का लग सकता है.

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

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

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

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

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

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

  • ARCore, स्पेस या खास वर्णों वाले टोकन को अनदेखा करता है.

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

एपीआई पासकोड

  1. Google Cloud में, क्रेडेंशियल पेज खोलें.
    क्रेडेंशियल
  2. क्रेडेंशियल बनाएं पर क्लिक करें. इसके बाद, मेन्यू से एपीआई पासकोड चुनें.
    एपीआई कुंजी बनाने के बाद दिखने वाले डायलॉग बॉक्स में, नई कुंजी के लिए स्ट्रिंग दिखती है.
  3. अपने एपीआई पासकोड को सुरक्षित रखने के लिए, एपीआई पासकोड से जुड़ी पाबंदियों के बारे में जानकारी देने वाला दस्तावेज़ पढ़ें.

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

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

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