নিমজ্জনমূলক অভিজ্ঞতা তৈরি করা শুরু করুন

প্রযোজ্য XR ডিভাইস
এই নির্দেশিকা আপনাকে এই ধরণের XR ডিভাইসের অভিজ্ঞতা তৈরি করতে সাহায্য করবে।
XR হেডসেট
তারযুক্ত XR চশমা

অ্যান্ড্রয়েড স্টুডিও ইনস্টল এবং কনফিগার করার পরে, একটি প্রকল্প তৈরি করার পরে এবং জেটপ্যাক এক্সআর এসডিকে সেট আপ করার পরে , আপনি নিমজ্জনকারী অভিজ্ঞতা তৈরি শুরু করতে প্রস্তুত।

আপনার অ্যাপটি তৈরির সমস্ত উপায় অন্বেষণ শুরু করার আগে, তথ্য পর্যালোচনা করুন এবং নিম্নলিখিত বিভাগগুলিতে যেকোনো কাজ সম্পন্ন করুন যাতে নিশ্চিত হন যে আপনার অ্যাপটি নিমজ্জিত XR ডেভেলপমেন্টের জন্য কনফিগার করা আছে।

আপনার অ্যাপের ম্যানিফেস্ট ফাইল কনফিগার করুন

অন্যান্য অ্যান্ড্রয়েড অ্যাপ প্রোজেক্টের মতো, আপনার অ্যান্ড্রয়েড এক্সআর অ্যাপেও নির্দিষ্ট ম্যানিফেস্ট সেটিংস সহ একটি AndroidManifest.xml ফাইল থাকতে হবে। ম্যানিফেস্ট ফাইলটি অ্যান্ড্রয়েড বিল্ড টুল, অ্যান্ড্রয়েড অপারেটিং সিস্টেম এবং গুগল প্লেতে আপনার অ্যাপ সম্পর্কে প্রয়োজনীয় তথ্য বর্ণনা করে। আরও তথ্যের জন্য অ্যাপ ম্যানিফেস্ট ওভারভিউ গাইড দেখুন।

XR ডিফারেনশিয়াল অ্যাপের জন্য, আপনার ম্যানিফেস্ট ফাইলে নিম্নলিখিত উপাদান এবং বৈশিষ্ট্য থাকতে হবে:

PROPERTY_XR_ACTIVITY_START_MODE বৈশিষ্ট্য

android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE" প্রপার্টি সিস্টেমকে জানায় যে কোনও অ্যাক্টিভিটি শুরু হওয়ার সময় একটি নির্দিষ্ট মোডে চালু করা উচিত।

এই সম্পত্তির নিম্নলিখিত মান রয়েছে:

  • XR_ACTIVITY_START_MODE_HOME_SPACE (শুধুমাত্র Jetpack XR SDK)
  • XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED (শুধুমাত্র Jetpack XR SDK)

XR_ACTIVITY_START_MODE_HOME_SPACE সম্পর্কে

হোম স্পেসে আপনার অ্যাপ চালু করতে এই স্টার্ট মোডটি ব্যবহার করুন। হোম স্পেসে, একাধিক অ্যাপ পাশাপাশি চলতে পারে, যাতে ব্যবহারকারীরা একাধিক কাজ করতে পারেন। যেকোনো মোবাইল বা বড় স্ক্রিনের অ্যান্ড্রয়েড অ্যাপ হোম স্পেসে কাজ করতে পারে, পাশাপাশি জেটপ্যাক এক্সআর এসডিকে ব্যবহার করে তৈরি এক্সআর অ্যাপও।

<manifest ... >

   <application ... >
       <property
           android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
           android:value="XR_ACTIVITY_START_MODE_HOME_SPACE" />
       <activity
           android:name="com.example.myapp.MainActivity" ... >

           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>
</manifest>

XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED সম্পর্কে

এই স্টার্ট মোড ব্যবহার করে আপনার অ্যাপটি ফুল স্পেসে চালু করুন। ফুল স্পেসে, একবারে শুধুমাত্র একটি অ্যাপ চলে, কোনও স্পেস সীমানা ছাড়াই, এবং অন্যান্য সমস্ত অ্যাপ লুকানো থাকে।


<manifest ... >

   <application ... >
       <property
           android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
           android:value="XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED" />
       <activity
           android:name="com.example.myapp.MainActivity" ... >

           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>
</manifest>

android:name="android.window.PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED" বৈশিষ্ট্যটি নির্দেশ করে যে অ্যাপ্লিকেশনটি একটি নির্দিষ্ট ধরণের সীমানা দিয়ে চালু করা উচিত। আপনার অ্যাপটি যদি ব্যবহারকারীদের তাদের ভৌত স্থানের চারপাশে ঘোরাফেরা করার জন্য ডিজাইন করা হয় তবে XR_BOUNDARY_TYPE_LARGE নির্দিষ্ট করতে হবে। XR_BOUNDARY_TYPE_NO_RECOMMENDATION নির্দিষ্ট করার ফলে সুরক্ষা সীমানার ধরণের জন্য কোনও সুপারিশ পাওয়া যায় না, তাই সিস্টেমটি ইতিমধ্যে ব্যবহৃত প্রকারটি ব্যবহার করে।

<manifest ... >

   <application ... >
       <property
           android:name="android.window.PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED"
           android:value="XR_BOUNDARY_TYPE_LARGE" />
   </application>
</manifest>

XR অ্যাপের জন্য প্যাকেজম্যানেজার বৈশিষ্ট্য

যখন আপনি Google Play Store এর মাধ্যমে অ্যাপ বিতরণ করেন , তখন আপনি অ্যাপ ম্যানিফেস্টে প্রয়োজনীয় হার্ডওয়্যার বা সফ্টওয়্যার বৈশিষ্ট্যগুলি নির্দিষ্ট করতে পারেন। uses-feature উপাদানটি Play Store কে ব্যবহারকারীদের দেখানো অ্যাপগুলিকে যথাযথভাবে ফিল্টার করার অনুমতি দেয়।

নিম্নলিখিত বৈশিষ্ট্যগুলি XR-বিভাজিত অ্যাপগুলির জন্য নির্দিষ্ট।

android.software.xr.api.spatial সম্পর্কে

Jetpack XR SDK ব্যবহার করে তৈরি করা অ্যাপগুলিতে অ্যাপ ম্যানিফেস্টে এই বৈশিষ্ট্যটি অন্তর্ভুক্ত করা আবশ্যক। android:required অ্যাট্রিবিউটের জন্য আপনি যে মান সেট করবেন তা আপনার অ্যাপের রিলিজ ট্র্যাকের উপর নির্ভর করে।

যদি আপনার অ্যাপটি XR-ডিফারেনশিয়েটেড ফিচার বা কন্টেন্টকে একটি বিদ্যমান মোবাইল APK-তে বান্ডিল করে এবং মোবাইল রিলিজ ট্র্যাকে প্রকাশিত হয়, তাহলে android:required অ্যাট্রিবিউটটিকে false এ সেট করুন:

<!-- If you are publishing an existing mobile APK using the mobile release track, set android:required to false.-->
<uses-feature android:name="android.software.xr.api.spatial" android:required="false" />

যদি আপনার অ্যাপটি বিশেষভাবে XR-সক্ষম ডিভাইসগুলির জন্য তৈরি করা হয় এবং Android XR-এর জন্য ডেডিকেটেড রিলিজ ট্র্যাকে প্রকাশিত হয়, তাহলে android:required অ্যাট্রিবিউটটিকে true এ সেট করুন:

<!-- If you are publishing a separate APK for XR using the dedicated Android XR release track, set android:required to true.-->
<uses-feature android:name="android.software.xr.api.spatial" android:required="true" />

android.hardware.xr.input.controller সম্পর্কে

এই বৈশিষ্ট্যটি নির্দেশ করে যে অ্যাপটিকে সঠিকভাবে কাজ করার জন্য একটি উচ্চ নির্ভুলতা, 6DoF (স্বাধীনতার ডিগ্রি) গতি নিয়ন্ত্রকের ইনপুট প্রয়োজন। যদি আপনার অ্যাপটি কন্ট্রোলার সমর্থন করে এবং সেগুলি ছাড়া কাজ করতে না পারে, তাহলে মানটি true এ সেট করুন। যদি আপনার অ্যাপটি কন্ট্রোলার সমর্থন করে কিন্তু সেগুলি ছাড়া কাজ করতে পারে, তাহলে এটিকে false এ সেট করুন।

<!-- Sets android:required to true, indicating that your app can't function on devices without controllers. -->
<uses-feature android:name="android.hardware.xr.input.controller" android:required="true" />

android.hardware.xr.input.hand_tracking সম্পর্কে

এই ফ্ল্যাগটি নির্দেশ করে যে অ্যাপটির সঠিকভাবে কাজ করার জন্য উচ্চ বিশ্বস্ততা হ্যান্ড ট্র্যাকিং প্রয়োজন, যার মধ্যে রয়েছে ব্যবহারকারীর হাতের জয়েন্টের অবস্থান, ওরিয়েন্টেশন এবং বেগ। যদি আপনার অ্যাপ হ্যান্ড ট্র্যাকিং সমর্থন করে এবং এটি ছাড়া কাজ করতে না পারে, তাহলে মানটি true এ সেট করুন। যদি আপনার অ্যাপ হ্যান্ড ট্র্যাকিং সমর্থন করে, কিন্তু এটি ছাড়া কাজ করতে পারে, তাহলে এটিকে false এ সেট করুন।

<!-- Sets android:required to true, indicating that your app can't function on devices without hand tracking. -->
<uses-feature android:name="android.hardware.xr.input.hand_tracking" android:required="true" />

android.hardware.xr.input.eye_tracking সম্পর্কে

এই ফ্ল্যাগটি নির্দেশ করে যে ইনপুট সঠিকভাবে কাজ করার জন্য অ্যাপটির হাই-ফিডেলিটি আই ট্র্যাকিং প্রয়োজন। যদি আপনার অ্যাপ ইনপুটের জন্য আই ট্র্যাকিং সমর্থন করে এবং এটি ছাড়া কাজ করতে না পারে, তাহলে মানটি true এ সেট করুন। যদি আপনার অ্যাপ ইনপুটের জন্য আই ট্র্যাকিং সমর্থন করে, কিন্তু এটি ছাড়া কাজ করতে পারে, তাহলে এটিকে false এ সেট করুন।

<!-- Sets android:required to true, indicating that your app can't function on devices without eye tracking. -->
<uses-feature android:name="android.hardware.xr.input.eye_tracking" android:required="true" />

মোবাইল এবং বড় স্ক্রিনের অ্যাপের জন্য অ্যাপ ম্যানিফেস্ট সামঞ্জস্যের বিবেচ্য বিষয়গুলি

XR অ্যাপসের জন্য প্যাকেজম্যানেজার বৈশিষ্ট্য বিভাগে বর্ণিত হিসাবে, অ্যাপগুলি অ্যাপ ম্যানিফেস্টে <uses-feature> উপাদানে ঘোষণা করে যে তারা একটি বৈশিষ্ট্য ব্যবহার করে তা ঘোষণা করে। টেলিফোনি বা GPS এর মতো কিছু বৈশিষ্ট্য সমস্ত ডিভাইসের সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে।

একটি ডিভাইসের জন্য সক্রিয় বৈশিষ্ট্যগুলির একটি তালিকা পেতে, adb shell pm list features চালান।

অসমর্থিত বৈশিষ্ট্যগুলি

গুগল প্লে স্টোর নিম্নলিখিত অ্যান্ড্রয়েড বৈশিষ্ট্য ঘোষণাগুলি ব্যবহার করে ডিভাইসে ইনস্টলেশনের জন্য উপলব্ধ অ্যাপ্লিকেশনগুলি ফিল্টার করে

ক্যামেরা হার্ডওয়্যার

android.hardware.camera.ar

android.hardware.camera.autofocus

android.hardware.camera.capability.manual_post_processing

android.hardware.camera.capability.manual_sensor

android.hardware.camera.capability.raw

android.hardware.camera.concurrent

android.hardware.camera.external

android.hardware.camera.flash

android.hardware.camera.level.full

সংযোগ

android.hardware.ethernet

android.hardware.uwb

android.hardware.ipsec_tunnel_migration

ডিভাইস কনফিগারেশন

android.hardware.ram.low

ফর্ম ফ্যাক্টর কনফিগারেশন

android.hardware.type.automotive

android.hardware.type.embedded

android.hardware.type.pc

android.hardware.type.television

android.hardware.type.watch

android.software.leanback

android.software.leanback_only

android.software.live_tv

ইনপুট

android.hardware.consumerir

android.software.input_methods

স্থান

android.hardware.location.gps

নিয়ার ফিল্ড কমিউনিকেশন

android.hardware.nfc

android.hardware.nfc.ese

android.hardware.nfc.hce

android.hardware.nfc.hcef

android.hardware.nfc.uicc

android.hardware.nfc.beam

নিরাপত্তা কনফিগারেশন এবং হার্ডওয়্যার

android.hardware.se.omapi.ese

android.hardware.se.omapi.sd

android.hardware.se.omapi.uicc

android.hardware.biometrics.face

android.hardware.fingerprint

android.hardware.identity_credential

android.hardware.identity_credential_direct_access

android.hardware.keystore.limited_use_key

android.hardware.keystore.single_use_key

android.hardware.strongbox_keystore

সেন্সর

android.hardware.sensor.accelerometer_limited_axes

android.hardware.sensor.accelerometer_limited_axes_uncalibrated

android.hardware.sensor.ambient_temperature

android.hardware.sensor.barometer

android.hardware.sensor.gyroscope_limited_axes

android.hardware.sensor.gyroscope_limited_axes_uncalibrated

android.hardware.sensor.heading

android.hardware.sensor.heartrate

android.hardware.sensor.heartrate.ecg

android.hardware.sensor.hinge_angle

android.hardware.sensor.light

android.hardware.sensor.relative_humidity

android.hardware.sensor.stepcounter

android.hardware.sensor.stepdetector

সফ্টওয়্যার কনফিগারেশন

android.software.backup

android.software.connectionservice

android.software.expanded_picture_in_picture

android.software.live_wallpaper

android.software.picture_in_picture

android.software.telecom

android.software.wallet_location_based_suggestions

টেলিফোনি

android.hardware.telephony

android.hardware.telephony.calling

android.hardware.telephony.cdma

android.hardware.telephony.data

android.hardware.telephony.euicc

android.hardware.telephony.euicc.mep

android.hardware.telephony.gsm

android.hardware.telephony.ims

android.hardware.telephony.mbms

android.hardware.telephony.messaging

android.hardware.telephony.radio.access

android.hardware.telephony.subscription

android.software.sip

android.software.sip.voip

ভার্চুয়াল রিয়েলিটি (উত্তরাধিকার)

android.hardware.vr.headtracking

android.hardware.vr.high_performance

android.software.vr.mode

উইজেট

android.software.app_widgets

পরবর্তী পদক্ষেপ

এখন আপনি আপনার অ্যাপের ম্যানিফেস্ট কনফিগার করা এবং গুরুত্বপূর্ণ তথ্য পর্যালোচনা করা শেষ করেছেন, তাহলে নিমজ্জিত অভিজ্ঞতা তৈরি করার উপায়গুলি অন্বেষণ করুন: