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

cloud_anchor_java और persistent_cloud_anchor_java सैंपल ऐप्लिकेशन में, क्लाउड ऐंकर को होस्ट करने और उन्हें हल करने की सुविधा आज़माएं.

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

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

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

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

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

हार्डवेयर

सॉफ़्टवेयर

  • Android SDK प्लैटफ़ॉर्म के 7.0 वर्शन (एपीआई लेवल 24) या इसके बाद के वर्शन के साथ Android Studio का 3.0 या इसके बाद का वर्शन
  • 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 में ऐप्लिकेशन खोलने के लिए, यह तरीका अपनाएं.

परसिस्टेंट Cloud Anchors

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

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

क्लाउड ऐंकर

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

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

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

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

परसिस्टेंट Cloud Anchors

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

क्लाउड ऐंकर

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

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

ARCore API कॉल को अनुमति देना

अपने ऐप्लिकेशन के लिए क्लाउड ऐंकर होस्ट करने और उन्हें हल करने के लिए, ARCore API को कॉल करने की अनुमति दें. Google Cloud पर ARCore API का इस्तेमाल करना लेख में दिए गए चरणों का पालन करें. साथ ही, परसिस्टेंट क्लाउड ऐंकर के लिए बिना पासकोड के अनुमति देने की सुविधा या क्लाउड ऐंकर के लिए एपीआई पासकोड से अनुमति देने की सुविधा का इस्तेमाल करें.

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

परसिस्टेंट Cloud Anchors

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

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

persistent_cloud_anchor_java आपके डिवाइस पर लॉन्च होना चाहिए. इससे ARCore को डिवाइस के कैमरे के सामने मौजूद प्लैन का पता लगाने के लिए कहा जाएगा.

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

एंकर लगाना

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

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

किसी ऐंकर को बंद करना

  1. हल करें पर टैप करें. इसके बाद, इस रूम में होस्ट किए गए ऐंकर ऐक्सेस करने के लिए, पहले से लौटाया गया रूम कोड डालें. इससे ARCore API को एक अनुरोध भेजा जाता है. इससे, कमरे में फ़िलहाल होस्ट किए गए सभी ऐंकर के आईडी मिलते हैं. 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

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


एंकर लगाना

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

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

किसी ऐंकर को बंद करना

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

अब क्या होगा