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

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

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

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

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

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

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

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

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

ARCore API चालू करें

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

ARCore API चालू करना

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

Unity ऐप्लिकेशन दो अलग-अलग तरीकों से ARCore API का इस्तेमाल करके, ARCore API का इस्तेमाल करता है अनुमति देने के तरीके: बिना चाबी के पुष्टि करने की सुविधा साथ ही, एपीआई पासकोड की पुष्टि करने का तरीका भी बताया है:

  • Android पर, डिजिटल बटन की अनुमति में ऐप्लिकेशन के पैकेज नाम के कॉम्बिनेशन का इस्तेमाल किया जाता है और अपने ऐप्लिकेशन को अनुमति देने के लिए साइनिंग पासकोड के फ़िंगरप्रिंट का इस्तेमाल करें.

    iOS पर, बिना चाबी के अनुमति देने की सुविधा में एपीआई के ऐक्सेस को कंट्रोल करने के लिए, साइन किए गए टोकन का इस्तेमाल किया जाता है. यह विधि को टोकन पर हस्ताक्षर करने और एपीआई को चुनें.

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

बिना चाबी

कुंजी की मदद से पुष्टि करने की सुविधा का इस्तेमाल करके, अपने ऐप्लिकेशन को अनुमति देने के लिए, OAuth 2.0 क्लाइंट बनाएं आईडी.

साइनिंग कुंजी के फ़िंगरप्रिंट पता करना

OAuth 2.0 क्लाइंट आईडी, आपके ऐप्लिकेशन के साइनिंग पासकोड के फ़िंगरप्रिंट का इस्तेमाल करके, है.

डीबग साइनिंग फ़िंगरप्रिंट पाने का तरीका

प्रोजेक्ट को चलाते या डीबग करते समय, Android SDK टूल अपने-आप साइन इन हो जाते हैं जनरेट किए गए डीबग सर्टिफ़िकेट के साथ आपका ऐप्लिकेशन.

डीबग सर्टिफ़िकेट फ़िंगरप्रिंट पाने के लिए, नीचे दिए गए निर्देश का इस्तेमाल करें.

Mac/Linux
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
Windows के लिए
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

keytool यूटिलिटी आपसे कीस्टोर के लिए पासवर्ड डालने के लिए कहती है. कॉन्टेंट बनाने डीबग कीस्टोर के लिए डिफ़ॉल्ट पासवर्ड android है. इसके बाद keytool यूटिलिटी फ़िंगरप्रिंट को टर्मिनल पर प्रिंट करता है. उदाहरण के लिए:

   Certificate fingerprint: SHA1: <strong>DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

कीस्टोर से साइनिंग फ़िंगरप्रिंट पाने का तरीका

अगर आपके पास कीस्टोर फ़ाइल है, तो फ़िंगरप्रिंट का पता लगाने के लिए, keytool सुविधा का इस्तेमाल करें.

keytool -list -v -alias your-key-name -keystore path-to-production-keystore

इसके बाद, keytool सुविधा, फ़िंगरप्रिंट को टर्मिनल पर प्रिंट करती है. उदाहरण के लिए:

   Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

'Play ऐप्लिकेशन साइनिंग' से अपने ऐप्लिकेशन का साइनिंग पासकोड पाने का तरीका

Play ऐप्लिकेशन साइनिंग की सुविधा का इस्तेमाल करते समय, Google आपके ऐप्लिकेशन का साइनिंग पासकोड मैनेज करता है और आपके APKs पर साइन करने के लिए, इसका इस्तेमाल करता है. इस कुंजी का इस्तेमाल साइनिंग फ़िंगरप्रिंट के लिए किया जाना चाहिए.

  1. Google Play Console के ऐप्लिकेशन साइनिंग पेज में, ऐप्लिकेशन साइनिंग पासकोड के सर्टिफ़िकेट तक स्क्रोल करें.
  2. SHA-1 सर्टिफ़िकेट फ़िंगरप्रिंट का इस्तेमाल करें.

OAuth 2.0 क्लाइंट आईडी बनाना

पिछले चरणों में लागू होने वाले हर साइनिंग पासकोड के लिए, अपने यहां OAuth 2.0 क्लाइंट आईडी बनाएं Google Cloud प्रोजेक्ट के क्रेडेंशियल.

  • Google Cloud में, क्रेडेंशियल वाला पेज खोलें.

    क्रेडेंशियल

  • क्रेडेंशियल बनाएं पर क्लिक करें. इसके बाद, मेन्यू से OAuth Client-ID चुनें.

  • ज़रूरी फ़ील्ड को इस तरह से भरें:

    • ऐप्लिकेशन प्रकार: Android चुनें.
    • पैकेज का नाम: अपने AndroidManifest.xml में बताए गए तरीके से पैकेज का नाम इस्तेमाल करें.
    • SHA-1 सर्टिफ़िकेट फ़िंगरप्रिंट: पिछले चरण में मिले फ़िंगरप्रिंट का इस्तेमाल करें.
  • बनाएं दबाएं.

ज़रूरी लाइब्रेरी शामिल करें

  1. com.google.android.gms:play-services-auth:16+ को अपने ऐप्लिकेशन की डिपेंडेंसी में शामिल करें.
  2. अगर कोड छोटा करने की सुविधा का इस्तेमाल किया जा रहा है, तो उसे अपने ऐप्लिकेशन की build.gradle फ़ाइल में जोड़ें:

    buildTypes {
      release {
        ...
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
      }
    }
    
  3. अपने ऐप्लिकेशन की proguard-rules.pro फ़ाइल में यह जोड़ें:

    -keep class com.google.android.gms.common.** { *; }
    -keep class com.google.android.gms.location.** { *; }
    -keep class com.google.android.gms.auth.** { *; }
    -keep class com.google.android.gms.tasks.** { *; }
    

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

बिना चाबी

ARCore, iOS में एपीआई कॉल की पुष्टि करने के लिए, (JSON वेब टोकन). टोकन पर 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 (एक घंटा). टोकन की समयसीमा खत्म होने का समय, Unix epoch टाइम. सेकंड में.
  • aud — दर्शक. इसे इस पर सेट किया जाना चाहिए https://arcore.googleapis.com/.

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

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

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

  1. पक्का करें कि iOS पुष्टि करने की रणनीति AuthenticationToken. Unity में, बदलाव करें > पर जाएं प्रोजेक्ट सेटिंग > XR प्लग-इन मैनेजमेंट > ARCore एक्सटेंशन. iOS की पुष्टि करने की रणनीति ड्रॉप-डाउन में मेन्यू में, पुष्टि करने वाला टोकन विकल्प चुनें.
  2. जब आपको टोकन मिलता है, तो इसका इस्तेमाल करके उसे अपने ARCore सेशन में पास करें ARAnchorManager.SetAuthToken():

    // Designate the token to authorize ARCore API calls
    // on the iOS platform. This should be called each time the application's token is refreshed.
    ARAnchorManager.SetAuthToken(authToken);
    

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

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

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

    अगर अब आपको एपीआई पासकोड की ज़रूरत नहीं है, तो उसे Google Developers कंसोल में जाकर, इसे अपने है.

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

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

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

  1. Google Cloud में, क्रेडेंशियल वाला पेज खोलें.
    क्रेडेंशियल
  2. क्रेडेंशियल बनाएं पर क्लिक करें, फिर मेन्यू से एपीआई पासकोड चुनें.
    यह एपीआई पासकोड का बनाया हुआ डायलॉग, आपकी नई बनाई गई कुंजी की स्ट्रिंग दिखाता है.
  3. Unity में, बदलाव करें > पर जाएं प्रोजेक्ट सेटिंग > XR प्लग-इन मैनेजमेंट > ARCore एक्सटेंशन. हर टारगेट प्लैटफ़ॉर्म (Android, iOS) के लिए पुष्टि करने की रणनीति ड्रॉप-डाउन मेन्यू में, एपीआई पासकोड का विकल्प चुनें. इसके बाद, एपीआई पासकोड के फ़ील्ड में अपना एपीआई पासकोड डालें.

  4. एपीआई पासकोड से जुड़ी पाबंदियों से जुड़े दस्तावेज़ देखें ताकि एपीआई पासकोड को सुरक्षित रखा जा सके.

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

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

अनुमति कॉन्फ़िगर करके, ARCore की इन सुविधाओं का इस्तेमाल करें यह: