cloud_anchor_java এবং persistent_cloud_anchor_java স্যাম্পল অ্যাপগুলিতে ক্লাউড অ্যাঙ্কর হোস্টিং এবং রিজলভিং পরীক্ষা করে দেখুন।
আপনার কোন নমুনা অ্যাপটি ব্যবহার করা উচিত?
ক্লাউড অ্যাঙ্কর হলো এমন অ্যাঙ্কর যা ARCore API ক্লাউড এন্ডপয়েন্টে হোস্ট করা হয়। এই API ব্যবহারকারীদের একই অ্যাপের মধ্যে অভিজ্ঞতা শেয়ার করতে সক্ষম করে। পার্সিস্টেন্ট ক্লাউড অ্যাঙ্কর হলো এমন ক্লাউড অ্যাঙ্কর যা ২৪ ঘণ্টার বেশি সময় ধরে হোস্ট করা যায়।
-
persistent_cloud_anchor_javaহলো একটি সহযোগী প্রকল্পের ব্যবহারিক প্রয়োগের বাস্তবায়ন। এটি ARCore API কলগুলোকে অনুমোদন করার জন্য কী-বিহীন অনুমোদন (keyless authorization) ব্যবহার করে। যেহেতু এটি ডিভাইসগুলোর মধ্যে ক্লাউড অ্যাঙ্কর আইডি (Cloud Anchor IDs) শেয়ার করার জন্য কোনো ফায়ারবেস (Firebase) ব্যাকএন্ড ব্যবহার করে না, তাই এটি চালু করা অনেক সহজ। -
cloud_anchor_javaহলো একটি মাল্টি-প্লেয়ার ব্যবহারের বাস্তবায়ন। এটি ARCore API কলগুলোকে অনুমোদন করার জন্য একটি API কী ব্যবহার করে।
পূর্বশর্ত
- অ্যাঙ্কর এবং ক্লাউড অ্যাঙ্কর কীভাবে কাজ করে তা বুঝুন।
- অ্যান্ড্রয়েডের জন্য ARCore SDK ইনস্টল ও কনফিগার করুন ।
প্রয়োজনীয়তা
হার্ডওয়্যার
- ARCore সমর্থিত একটি ডিভাইস, যেখানে Google Play Services for AR- এর সর্বশেষ সংস্করণ ইনস্টল করা আছে।
- ডিভাইসটিকে আপনার ডেভেলপমেন্ট মেশিনের সাথে সংযোগ করার জন্য একটি ইউএসবি ক্যাবল।
সফটওয়্যার
- অ্যান্ড্রয়েড স্টুডিও সংস্করণ ৩.০ বা তার পরবর্তী সংস্করণ এবং অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম সংস্করণ ৭.০ (এপিআই লেভেল ২৪) বা তার উচ্চতর সংস্করণ
- অ্যান্ড্রয়েডের জন্য ARCore SDK, যা আপনি দুটি উপায়ের একটিতে পেতে পারেন:
- গিটহাব থেকে এটি ডাউনলোড করে আপনার মেশিনে এক্সট্র্যাক্ট করুন।
- নিম্নলিখিত কমান্ড ব্যবহার করে রিপোজিটরিটি ক্লোন করুন:
git clone https://github.com/google-ar/arcore-android-sdk.git
অ্যান্ড্রয়েড স্টুডিওতে নমুনা অ্যাপটি খুলুন।
ARCore SDK, ক্লাউড অ্যাঙ্করের কার্যকারিতা প্রদর্শনের জন্য cloud_anchor_java এবং persistent_cloud_anchor_java স্যাম্পল অ্যাপগুলো প্রদান করে। Android Studio-তে অ্যাপগুলো খোলার জন্য এই ধাপগুলো অনুসরণ করুন।
স্থায়ী ক্লাউড অ্যাঙ্কর
অ্যান্ড্রয়েড স্টুডিওতে, ওপেন-এ ক্লিক করুন।
আপনার মেশিনে যেখানে arcore-android-sdk ডিরেক্টরিটি রয়েছে, সেখানে যান। সম্পূর্ণ SDK ফোল্ডারটি খুলবেন না। পরিবর্তে, samples > persistent_cloud_anchor_java- তে যান এবং Open-এ ক্লিক করুন।
ক্লাউড অ্যাঙ্কর
অ্যান্ড্রয়েড স্টুডিওতে, ওপেন-এ ক্লিক করুন।
আপনার মেশিনে যেখানে arcore-android-sdk ডিরেক্টরিটি রয়েছে, সেখানে যান। সম্পূর্ণ SDK ফোল্ডারটি খুলবেন না। পরিবর্তে, samples > cloud_anchor_java- তে যান এবং Open-এ ক্লিক করুন।
ক্লাউড অ্যাঙ্কর আইডি শেয়ারিং সেট আপ করুন
ক্লাউড অ্যাঙ্কর আইডি হলো এমন স্ট্রিং যা হোস্ট করা ক্লাউড অ্যাঙ্করগুলোকে শনাক্ত করে। হোস্ট করা অ্যাঙ্করগুলোর সাথে সংযুক্ত ৩ডি অবজেক্টগুলোকে রিজলভ বা রেন্ডার করার জন্য এগুলো ব্যবহৃত হয়।
স্থায়ী ক্লাউড অ্যাঙ্কর
ক্লাউড অ্যাঙ্কর আইডি শেয়ারিং অ্যাপের মধ্যেই স্থানীয়ভাবে রক্ষণাবেক্ষণ করা হয়। এক্ষেত্রে আপনাকে কিছু করতে হবে না।
ক্লাউড অ্যাঙ্কর
cloud_anchor_java স্যাম্পল অ্যাপটি ডিভাইসগুলোর মধ্যে ক্লাউড অ্যাঙ্কর আইডি শেয়ার করার জন্য ফায়ারবেসের রিয়েলটাইম ডেটাবেস ব্যবহার করে। আপনি আপনার নিজের অ্যাপে একটি ভিন্ন সমাধান ব্যবহার করতে পারেন।
- আপনার অ্যাপে ম্যানুয়ালি Firebase যোগ করুন।
cloud_anchor_javaপ্যাকেজটির নাম হলোcom.google.ar.core.examples.java.cloudanchor। আপনি এটিmain/AndroidManifest.xmlফাইলে খুঁজে পাবেন। - আপনার অ্যাপে Firebase যোগ করার সময় তৈরি হওয়া
google-services.jsonফাইলটি ডাউনলোড করুন। - ফায়ারবেস দিয়ে একটি রিয়েলটাইম ডেটাবেস তৈরি করুন।
- অ্যান্ড্রয়েড স্টুডিওতে, আপনার প্রজেক্টের
appডিরেক্টরিতেgoogle-services.jsonফাইলটি যুক্ত করুন।
ARCore API কল অনুমোদন করুন
আপনার অ্যাপের জন্য ক্লাউড অ্যাঙ্কর হোস্ট ও রিজলভ করতে ARCore API-তে কল করার অনুমোদন দিন। Google Cloud-এ ARCore API ব্যবহার করার জন্য দেওয়া ধাপগুলো অনুসরণ করুন এবং পার্সিস্টেন্ট ক্লাউড অ্যাঙ্করের জন্য কী-লেস অথরাইজেশন অথবা ক্লাউড অ্যাঙ্করের জন্য এপিআই কী অথরাইজেশন ব্যবহার করুন।
নমুনা অ্যাপটি তৈরি করুন এবং চালান
স্থায়ী ক্লাউড অ্যাঙ্কর
অ্যাপটি চালান
- নিশ্চিত করুন যে আপনার ডিভাইসে ডেভেলপার অপশন এবং ইউএসবি ডিবাগিং চালু করা আছে।
- আপনার ডিভাইসটি ইউএসবি-র মাধ্যমে আপনার ডেভেলপমেন্ট মেশিনের সাথে সংযুক্ত করুন।
- অ্যান্ড্রয়েড স্টুডিওতে, আপনার ডিভাইসটিকে ডেপ্লয়মেন্ট টার্গেট হিসেবে নির্বাচন করুন এবং রান-এ ক্লিক করুন।
আপনার ডিভাইসে persistent_cloud_anchor_java চালু হওয়া উচিত, যা ARCore-কে ডিভাইসের ক্যামেরার সামনে থাকা প্লেনগুলো শনাক্ত করতে উৎসাহিত করবে।
যদি গুগল ক্লাউড অনুমোদন ব্যর্থ হয়, তাহলে সমস্যা সমাধানের ধাপগুলো দেখুন।
একটি নোঙর রাখুন
- অ্যাপটি প্লেন শনাক্ত করা শুরু করলে, শনাক্ত হওয়া প্লেনগুলোর কোনো একটিতে অ্যাঙ্কর স্থাপন করতে আপনার স্ক্রিনে ট্যাপ করুন।
- স্থাপন করা অ্যাঙ্করটি হোস্ট করতে হোস্ট বোতামটি ট্যাপ করুন। এটি ARCore API-তে একটি হোস্ট অনুরোধ পাঠায়, যাতে এর কাছাকাছি থাকা ভিজ্যুয়াল ফিচারগুলোর সাপেক্ষে অ্যাঙ্করটির অবস্থান নির্দেশকারী ডেটা অন্তর্ভুক্ত থাকে।
একটি সফল হোস্ট অনুরোধ নির্দিষ্ট স্থানে একটি অ্যাঙ্কর স্থাপন করে এবং এটিকে একটি ক্লাউড অ্যাঙ্কর আইডি প্রদান করে। হোস্ট অনুরোধটি সফল হলে, অ্যাপটি একটি রুম কোড প্রদর্শন করবে। আপনি যেকোনো ডিভাইসে এই রুমের জন্য পূর্বে হোস্ট করা অ্যাঙ্করগুলো অ্যাক্সেস করতে এই কোডটি ব্যবহার করতে পারেন।
একটি অ্যাঙ্কর সমাধান করুন
- এই রুমে হোস্ট করা অ্যাঙ্করগুলো অ্যাক্সেস করতে RESOLVE-এ ট্যাপ করুন এবং পূর্বে প্রাপ্ত একটি রুম কোড প্রবেশ করান। এটি ARCore API-তে একটি রিজলভ রিকোয়েস্ট পাঠায়, যা রুমে বর্তমানে হোস্ট করা সমস্ত অ্যাঙ্করের আইডিগুলো ফেরত দেয়।
persistent_cloud_anchor_javaএই আইডিগুলো ব্যবহার করে হোস্ট করা অ্যাঙ্করগুলোর সাথে সংযুক্ত 3D অবজেক্টগুলো রেন্ডার করবে।
ক্লাউড অ্যাঙ্কর
অ্যাপটি চালান
- নিশ্চিত করুন যে আপনার ডিভাইসে ডেভেলপার অপশন এবং ইউএসবি ডিবাগিং চালু করা আছে।
- আপনার ডিভাইসটি ইউএসবি-র মাধ্যমে আপনার ডেভেলপমেন্ট মেশিনের সাথে সংযুক্ত করুন।
- অ্যান্ড্রয়েড স্টুডিওতে, আপনার ডিভাইসটিকে ডেপ্লয়মেন্ট টার্গেট হিসেবে নির্বাচন করুন এবং রান-এ ক্লিক করুন।
আপনার ডিভাইসে 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 ফাইলটি ডাউনলোড করার মাধ্যমে আপনি এই প্রপার্টির সঠিক মান পেতে পারেন।
একটি নোঙর রাখুন
- অ্যাপটি প্লেন শনাক্ত করা শুরু করলে, শনাক্ত হওয়া প্লেনগুলোর কোনো একটিতে অ্যাঙ্কর স্থাপন করতে আপনার স্ক্রিনে ট্যাপ করুন।
- স্থাপন করা অ্যাঙ্করটি হোস্ট করতে হোস্ট বোতামটি ট্যাপ করুন। এটি ARCore API-তে একটি হোস্ট অনুরোধ পাঠায়, যাতে এর কাছাকাছি থাকা ভিজ্যুয়াল ফিচারগুলোর সাপেক্ষে অ্যাঙ্করটির অবস্থান নির্দেশকারী ডেটা অন্তর্ভুক্ত থাকে।
একটি সফল হোস্ট অনুরোধ নির্দিষ্ট স্থানে একটি অ্যাঙ্কর স্থাপন করে এবং এটিকে একটি ক্লাউড অ্যাঙ্করস আইডি প্রদান করে। হোস্ট অনুরোধটি সফল হলে, অ্যাপটি একটি রুম কোড প্রদর্শন করবে। আপনি যেকোনো ডিভাইসে এই রুমের জন্য পূর্বে হোস্ট করা অ্যাঙ্করগুলো অ্যাক্সেস করতে এই কোডটি ব্যবহার করতে পারেন।
একটি অ্যাঙ্কর সমাধান করুন
- এই রুমে হোস্ট করা অ্যাঙ্করগুলো অ্যাক্সেস করতে RESOLVE-এ ট্যাপ করুন এবং পূর্বে প্রাপ্ত একটি রুম কোড প্রবেশ করান। এটি ARCore API-তে একটি রিজলভ রিকোয়েস্ট পাঠায়, যা রুমে বর্তমানে হোস্ট করা সমস্ত অ্যাঙ্করের আইডি ফেরত দেয়।
cloud_anchor_javaএই আইডিগুলো ব্যবহার করে হোস্ট করা অ্যাঙ্করগুলোর সাথে সংযুক্ত 3D অবজেক্টগুলো রেন্ডার করবে।
এরপর কী?
- ARCore ক্লাউড অ্যাঙ্করস উইথ পারসিস্টেন্ট ক্লাউড অ্যাঙ্করস কোডল্যাব ব্যবহার করে একটি ক্লাউড অ্যাঙ্করস অ্যাপ তৈরি করুন।
- ক্লাউড অ্যাঙ্করস ডেভেলপার গাইডের মাধ্যমে আপনার অ্যাপে কীভাবে ক্লাউড অ্যাঙ্করস অন্তর্ভুক্ত করবেন তা জানুন।
- Cloud Anchors Management API ব্যবহার করে আপনার ARCore অ্যাপের বাইরে থেকে Cloud Anchors পরিচালনা করুন।