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

cloud_anchor_java और persistent_cloud_anchor_java सैंपल ऐप्लिकेशन में, क्लाउड ऐंकर को होस्ट करने और समस्या हल करने की कोशिश करें.

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

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

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

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

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

हार्डवेयर

  • ऐसा डिवाइस जिस पर ARCore काम करता हो, जिसमें Google Play Services for AR का नया वर्शन इंस्टॉल हो
  • डिवाइस को आपकी डेवलपमेंट मशीन से कनेक्ट करने के लिए यूएसबी केबल

सॉफ़्टवेयर

  • 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_anchor_java और persistent_cloud_anchor_java सैंपल ऐप्लिकेशन उपलब्ध कराता है, जिनसे क्लाउड ऐंकर की सुविधा दिखाई जाती है. Android Studio में ऐप्लिकेशन खोलने के लिए, यह तरीका अपनाएं.

लगातार क्लाउड ऐंकर

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

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

क्लाउड ऐंकर

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

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

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

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

लगातार क्लाउड ऐंकर

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

क्लाउड ऐंकर

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 API कॉल को अनुमति दें

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

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

लगातार क्लाउड ऐंकर

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

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

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

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

ऐंकर जोड़ें

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

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

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

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

क्लाउड ऐंकर

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

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

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 API को होस्ट करने का अनुरोध भेजा जाता है. इसमें, आस-पास की विज़ुअल सुविधाओं के मुकाबले ऐंकर की पोज़िशन दिखाने वाला डेटा शामिल होता है.

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

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

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

आगे क्या होगा