Android के लिए क्लाउड ऐंकर क्विकस्टार्ट

cloud_anchor_java और persistent_cloud_anchor_java सैंपल ऐप्लिकेशन में Cloud ऐंकर को होस्ट करने और ठीक करने की कोशिश करें.

आपको किस सैंपल ऐप्लिकेशन का इस्तेमाल करना चाहिए?

Cloud ऐंकर ऐसे ऐंकर होते हैं जिन्हें ARCore API क्लाउड एंडपॉइंट पर होस्ट किया जाता है. इस एपीआई की मदद से, लोग एक ही ऐप्लिकेशन पर अनुभव शेयर कर सकते हैं. परसिस्टेंट क्लाउड ऐंकर, क्लाउड ऐंकर हैं. इन्हें 24 घंटे से ज़्यादा समय के लिए होस्ट किया जा सकता है.

  • persistent_cloud_anchor_java, साथ मिलकर काम करने वाले प्रोजेक्ट के इस्तेमाल के उदाहरण को लागू करता है. यह ARCore एपीआई कॉल को अनुमति देने के लिए, बिना चाबी के अनुमति देने की सुविधा का इस्तेमाल करता है. यह डिवाइसों के बीच Cloud ऐंकर आईडी शेयर करने के लिए, Firebase बैकएंड का इस्तेमाल नहीं करता. इसलिए, इसे इस्तेमाल करना ज़्यादा आसान हो जाता है.
  • cloud_anchor_java, एक से ज़्यादा खिलाड़ी वाले इस्तेमाल के उदाहरण को लागू करता है. यह ARCore एपीआई कॉल की अनुमति देने के लिए, एपीआई पासकोड का इस्तेमाल करता है.

ज़रूरी शर्तें

ज़रूरी शर्तें

हार्डवेयर

सॉफ़्टवेयर

  • Android Studio का 3.0 या इसके बाद का वर्शन, जिसमें Android SDK प्लैटफ़ॉर्म का 7.0 (एपीआई लेवल 24) या उसके बाद वाला वर्शन हो
  • Android के लिए ARCore SDK टूल, जिसे इन दोनों में से किसी एक तरीके से इस्तेमाल किया जा सकता है:
    • इसे GitHub से डाउनलोड करें और अपनी मशीन पर निकालें
    • नीचे दिए गए निर्देश की मदद से, रिपॉज़िटरी का क्लोन बनाएं:
      git clone https://github.com/google-ar/arcore-android-sdk.git

Android Studio में सैंपल ऐप्लिकेशन खोलें

ARCore SDK टूल, Cloud Anchors के फ़ंक्शन के बारे में बताने के लिए, cloud_anchor_java और persistent_cloud_anchor_java सैंपल ऐप्लिकेशन उपलब्ध कराता है. Android Studio में ऐप्लिकेशन खोलने के लिए, यह तरीका अपनाएं.

स्थायी क्लाउड ऐंकर

  1. Android Studio में, खोलें पर क्लिक करें.

  2. उस जगह पर जाएं जहां आपकी मशीन पर arcore-android-sdk डायरेक्ट्री सेव है. पूरा SDK टूल न खोलें. इसके बजाय, सैंपल > पर जाएं persistent_cloud_anchor_java और खोलें पर क्लिक करें.

क्लाउड ऐंकर

  1. Android Studio में, खोलें पर क्लिक करें.

  2. उस जगह पर जाएं जहां आपकी मशीन पर arcore-android-sdk डायरेक्ट्री सेव है. पूरा SDK टूल न खोलें. इसके बजाय, सैंपल > पर जाएं cloud_anchor_java और खोलें पर क्लिक करें.

क्लाउड ऐंकर आईडी शेयर करने की सुविधा सेट अप करें

Cloud ऐंकर आईडी ऐसी स्ट्रिंग होती हैं जो होस्ट किए गए Cloud ऐंकर की पहचान करती हैं. इनका इस्तेमाल, होस्ट किए गए ऐंकर से जुड़ी 3D चीज़ों को रिज़ॉल्व या रेंडर करने के लिए किया जाता है.

स्थायी क्लाउड ऐंकर

Cloud ऐंकर आईडी को शेयर करने की सुविधा, ऐप्लिकेशन में स्थानीय तौर पर मैनेज की जाती है. आपको यहां कुछ नहीं करना है.

क्लाउड ऐंकर

cloud_anchor_java सैंपल ऐप्लिकेशन, डिवाइसों के बीच क्लाउड ऐंकर आईडी शेयर करने के लिए, Firebase के रीयल टाइम डेटाबेस का इस्तेमाल करता है. अपने ऐप्लिकेशन में किसी दूसरे तरीके का इस्तेमाल किया जा सकता है.

  1. अपने ऐप्लिकेशन में मैन्युअल तरीके से Firebase जोड़ें. cloud_anchor_java के पैकेज का नाम com.google.ar.core.examples.java.cloudanchor है. यह जानकारी आपको main/AndroidManifest.xml में मिलेगी.
  2. वह google-services.json फ़ाइल डाउनलोड करें जिसे आपने अपने ऐप्लिकेशन में Firebase को जोड़ते समय जनरेट किया था.
  3. Firebase की मदद से रीयलटाइम डेटाबेस बनाएं.
  4. Android Studio में, google-services.json फ़ाइल को अपने प्रोजेक्ट की app डायरेक्ट्री में जोड़ें.

ARCore एपीआई कॉल की अनुमति दें

अपने खाते के लिए Cloud Anchors को होस्ट और रिज़ॉल्व करने के लिए, ARCore एपीआई को कॉल की अनुमति दें है. Google पर ARCore API इस्तेमाल करने के लिए, यह तरीका अपनाएं Cloud और Keyless' बटन का इस्तेमाल करें अनुमति स्थायी क्लाउड ऐंकर के लिए या इसके लिए एपीआई पासकोड की अनुमति क्लाउड ऐंकर.

सैंपल ऐप्लिकेशन बनाएं और चलाएं

स्थायी क्लाउड ऐंकर

ऐप्लिकेशन चलाएं

  1. पक्का करें कि आपके डिवाइस पर डेवलपर के लिए सेटिंग और टूल की सुविधा और यूएसबी डीबग करने की सुविधा चालू हो.
  2. यूएसबी के ज़रिए अपने डिवाइस को डेवलपमेंट मशीन से कनेक्ट करें.
  3. Android Studio में, डिप्लॉयमेंट टारगेट के तौर पर अपना डिवाइस चुनें और Run पर क्लिक करें.

ऐसा करने पर, persistent_cloud_anchor_java आपके डिवाइस पर लॉन्च हो जाएगा. इसके बाद, ARCore को डिवाइस के कैमरे के सामने मौजूद हवाई जहाज़ों की पहचान करने के लिए कहा जाएगा.

अगर Google Cloud की अनुमति नहीं मिल पाती है, तो समस्या हल करने का तरीका देखें.

ऐंकर लगाएं

  1. जब ऐप्लिकेशन हवाई जहाज़ों की पहचान करना शुरू कर दे, तो जिन हवाई जहाज़ों का पता चला है उनमें से किसी एक पर ऐंकर लगाने के लिए, अपनी स्क्रीन पर टैप करें.
  2. डाले गए ऐंकर को होस्ट करने के लिए, होस्ट बटन पर टैप करें. इससे ARCore एपीआई को होस्ट अनुरोध भेजा जाता है, जिसमें ऐंकर की स्थिति को दिखाने वाला डेटा शामिल होता है. यह डेटा, आस-पास की विज़ुअल सुविधाओं के मुकाबले होता है.

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

ऐंकर से जुड़ी समस्या हल करें

  1. समाधान करें पर टैप करें और इस रूम में होस्ट किए गए ऐंकर को ऐक्सेस करने के लिए, पहले दिखाया गया रूम कोड डालें. यह ARCore एपीआई को रिज़ॉल्व अनुरोध भेजता है, जो रूम में फ़िलहाल होस्ट किए गए सभी ऐंकर के आईडी दिखाता है. persistent_cloud_anchor_java इन आईडी का इस्तेमाल, होस्ट किए गए ऐंकर में अटैच किए गए 3D ऑब्जेक्ट को रेंडर करने के लिए करेगा.

क्लाउड ऐंकर

ऐप्लिकेशन चलाएं

  1. पक्का करें कि आपके डिवाइस पर डेवलपर के लिए सेटिंग और टूल की सुविधा और यूएसबी डीबग करने की सुविधा चालू हो.
  2. यूएसबी के ज़रिए अपने डिवाइस को डेवलपमेंट मशीन से कनेक्ट करें.
  3. Android Studio में, डिप्लॉयमेंट टारगेट के तौर पर अपना डिवाइस चुनें और Run पर क्लिक करें.

ऐसा करने पर, cloud_anchor_java आपके डिवाइस पर लॉन्च हो जाएगा. इसके बाद, ARCore को डिवाइस के कैमरे के सामने मौजूद हवाई जहाज़ों की पहचान करने के लिए कहा जाएगा.

गड़बड़ी: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance

अगर आपको यह गड़बड़ी दिखती है, तो पक्का करें कि google-services.json में firebase_url प्रॉपर्टी मौजूद हो. आप इस प्रॉपर्टी के लिए सही वैल्यू पा सकते हैं. इसके लिए, आपको यह पक्का करना होगा कि रीयल टाइम डेटाबेस बन गया है और google-services.json को डाउनलोड किया जा रहा है.


ऐंकर लगाएं

  1. जब ऐप्लिकेशन हवाई जहाज़ों की पहचान करना शुरू कर दे, तो जिन हवाई जहाज़ों का पता चला है उनमें से किसी एक पर ऐंकर लगाने के लिए, अपनी स्क्रीन पर टैप करें.
  2. डाले गए ऐंकर को होस्ट करने के लिए, होस्ट बटन पर टैप करें. इससे ARCore एपीआई को होस्ट अनुरोध भेजा जाता है, जिसमें ऐंकर की स्थिति को दिखाने वाला डेटा शामिल होता है. यह डेटा, उसके आस-पास की विज़ुअल सुविधाओं के मुकाबले होता है.

होस्ट का अनुरोध स्वीकार किए जाने पर, ऐंकर तय की गई जगह पर ऐंकर के तौर पर जुड़ जाता है और उसे Cloud Anchors का आईडी असाइन कर दिया जाता है. अगर होस्ट का अनुरोध स्वीकार होता है, तो ऐप्लिकेशन को रूम कोड दिखाना चाहिए. इस कोड का इस्तेमाल करके, किसी भी डिवाइस पर इस रूम के लिए पहले होस्ट किए गए ऐंकर ऐक्सेस किए जा सकते हैं.

ऐंकर से जुड़ी समस्या हल करें

  1. समाधान करें पर टैप करें और इस रूम में होस्ट किए गए ऐंकर को ऐक्सेस करने के लिए, पहले दिखाया गया रूम कोड डालें. यह ARCore एपीआई को रिज़ॉल्व अनुरोध भेजता है, जो रूम में फ़िलहाल होस्ट किए गए सभी ऐंकर के आईडी दिखाता है. cloud_anchor_java इन आईडी का इस्तेमाल, होस्ट किए गए ऐंकर में अटैच किए गए 3D ऑब्जेक्ट को रेंडर करने के लिए करेगा.

आगे क्या होगा