জেটপ্যাক সিনকোর
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
30 জুলাই, 2025 | - | - | - | 1.0.0-আলফা05 |
নির্ভরতা ঘোষণা করা
XR SceneCore-এ নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:
Groovy
dependencies { implementation "androidx.xr.scenecore:scenecore:1.0.0-alpha05" // Required for Java implementation "com.google.guava:listenablefuture:1.0" // Required for Kotlin implementation "org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0" // Use to write unit tests testImplementation "androidx.xr.scenecore:scenecore-testing:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.xr.scenecore:scenecore:1.0.0-alpha05") // Required for Java implementation("com.google.guava:listenablefuture:1.0") // Required for Kotlin implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0") // Use to write unit tests testImplementation("androidx.xr.scenecore:scenecore-testing:1.0.0-alpha05") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে দয়া করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি একবার দেখুন। আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 1.0
সংস্করণ 1.0.0-alpha05
30 জুলাই, 2025
androidx.xr.scenecore:scenecore-guava:1.0.0-alpha05
, androidx.xr.scenecore:scenecore-testing:1.0.0-alpha05
, এবং androidx.xr.scenecore:scenecore:1.0.0-alpha05
প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha05-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- অনুভূত রেজোলিউশন এপিআই প্যানেল সত্তা এবং
SurfaceEntities
যোগ করা হয়েছে। ( I118f6 ) - HSM-এ কার্যকলাপের প্রধান প্যানেলের অনুভূত রেজোলিউশন নিরীক্ষণ করতে Scene.kt-তে
PerceivedResolution
কলব্যাক পদ্ধতি যোগ করা হয়েছে। ( I58084 ) -
SurfaceEntity
- তৈরির সময় সুপার স্যাম্পলিং অনুরোধ করার জন্য অ্যাপ্লিকেশনের জন্য সমর্থন যোগ করা হয়েছে। এটি অ্যান্টি-অ্যালিয়াসিংয়ের জন্য অ্যাপ্লিকেশানগুলিকে সুপার স্যাম্পলিং ফিল্টার ব্যবহার করার অনুমতি দেয়। ( I06913 ) -
ActivitySpace
এrecommendedContentBoxInFullSpace
প্রপার্টি যোগ করা হয়েছে। এটি সম্পূর্ণ স্পেস মোডে থাকা অবস্থায় সামগ্রী রাখার জন্য একটি প্রস্তাবিত বাক্স প্রদান করে। ( I4cd6f ) - চলমান সংশোধকের জন্য ওভারলোডেড কনস্ট্রাক্টর সরবরাহ করা হয়েছে যা অ্যাঙ্করিংয়ের অনুমতি দেয়। ( IC0c70 )
এপিআই পরিবর্তন
এই রিলিজের জন্য SceneCore
এ ব্যাপক API পরিবর্তন করা হয়েছে। বেশ কয়েকটি ক্লাসের নাম পরিবর্তন করা হয়েছে এবং/অথবা বিভিন্ন মডিউলে স্থানান্তরিত করা হয়েছে, এবং বেশিরভাগ গেটার/সেটার পদ্ধতিগুলিকে কোটলিন বৈশিষ্ট্য দিয়ে প্রতিস্থাপিত করা হয়েছে। যদিও আমরা আমাদের প্রথম বিটা রিলিজ না হওয়া পর্যন্ত ভবিষ্যত ব্রেকিং API পরিবর্তনগুলি আশা করি, সেগুলি ততটা বিঘ্নিত বা অসংখ্য হবে না।
- নাম পরিবর্তন করা হয়েছে এবং/অথবা নিম্নলিখিত ক্লাস এবং ইন্টারফেসগুলি সরানো হয়েছে:
androidx.xr.scenecore.PixelDimensions
androidx.xr.runtime.math.IntSize2d
;androidx.xr.scenecore.Dimensions
androidx.xr.runtime.math.FloatSize3d
এর মাত্রা;androidx.xr.scenecore.ActivityPose
toScenePose
,androidx.xr.scenecore.ContentlessEntity
toGroupEntity
,androidx.xr.scenecore.PlaneType
থেকেPlaneOrientation
;androidx.xr.scenecore.PlaneSemantic
থেকেPlaneSemanticType
। ( আইএফডি 405 ) ( আই 3 বি 622 ) ( আইএফ 534 ডি ) -
Scene
বৈশিষ্ট্যগুলির জন্য বেশ কয়েকটি সেটার ব্যক্তিগত করা হয়েছে; সেগুলিSceneCore
ক্লায়েন্টদের দ্বারা পরিবর্তিত হওয়ার উদ্দেশ্যে ছিল না:activitySpace
,activitySpaceRoot
,mainPanelEntity
,perceptionSpace
,spatialCapabilities
,spatialEnvironment
, এবংspatialUser
. ( I2f506 ) - সত্তায়: নিম্নলিখিতগুলিকে বৈশিষ্ট্যগুলিতে পরিবর্তন করা হয়েছে:
get/setParent()
,setContentDescription
; DeprecatedEntity.is/setHidden()
, পরিবর্তেEntity.is/setEnabled
ব্যবহার করুন। ( Ibc4c6 ) -
androidx.xr.scenecore.BasePanelEntity
ক্লাস সরানো হয়েছে, পরিবর্তে সরাসরিPanelEntity
ব্যবহার করুন। বৈশিষ্ট্য সহPanelEntity
জন্য গেটার এবং সেটার প্রতিস্থাপন করা হয়েছে।PanelEntity.size
প্রপার্টিFloat3dSize
থেকেFloat2dSize
এ পরিবর্তন করা হয়েছে। অপসারিত পদ্ধতিandroidx.xr.scenecore.PanelEntity.getPixelDimensions
সরানো হয়েছে, পরিবর্তেgetSizeInPixels
ব্যবহার করুন। ( আইসিসি 174 ) -
androidx.xr.scenecore.OnSpaceUpdatedListener
Runnable
দিয়ে প্রতিস্থাপিত হয়েছে। ( I19308 ) -
SpatialUser.getCameraViews()
একটি সম্পত্তির সাথে প্রতিস্থাপিত হয়েছে। ( Ib0cc5 )ExrImage
এবংGltfModel:
সাসপেন্ড ফাংশন হতেcreate
পদ্ধতি পরিবর্তন করা হয়েছে; একটিString
এর পরিবর্তে একটিUri
বাPath
গ্রহণ করার জন্য পরিবর্তিত প্যারামিটার তৈরি করুন। ( Id8883 ) ( I0d247 ), ( I25706 ) -
SpatialEnvironment.requestFullSpaceMode
এবংSpatialEnvironment.requestHomeSpaceMode
দৃশ্যে সরানো হয়েছে, উদাহরণস্বরূপsession.scene.requestFullSpaceMode()
এর পরিবর্তেsession.scene.spatialEnvironment.requestFullSpaceMode()
ব্যবহার করুন।addOnPassthroughOpacityChangedListener
এবংaddOnSpatialEnvironmentChangedListener
এখন ওভাররাইড আছে যা ঐচ্ছিক এক্সিকিউটরদের গ্রহণ করে। ( I12fe0 ) ( I6b21e ) - নিম্নলিখিত অবচয়িত
SpatialEnvironment
পদ্ধতিগুলি সরানো হয়েছে:togglePassthrough
,setPassthrough
,setPassthroughOpacity
,getPassthroughMode
,getPassthroughOpacity
,setSkybox
, এবংsetGeometry
৷ এছাড়াও অপসারিত শ্রেণীSpatialEnvironment.PassthroughMode
সরানো হয়েছে। পাসথ্রু মোড ( I927bd ) ( I927bd ) ( I927bd ) - নিম্নলিখিত
SpatialEnvironment
গেটার এবং সেটারগুলিকে কোটলিন বৈশিষ্ট্যগুলির সাথে প্রতিস্থাপন করা হয়েছে:getCurrentPassthroughOpacity()
,get/setPassthroughOpacityPreference()
,get/setSpatialEnvironmentPreference()
,isSpatialEnvironmentPreferenceActive()
(e36 () i36 ( ) IE06e2 ) -
SpatialEnvironmentPreference.preferredPassthroughOpacity
প্রকারFloat?
Float
এটি আর নাল মান গ্রহণ করে না। পরিবর্তে,SpatialEnvironment.NO_PASSTHROUGH_OPACITY_PREFERENCE
কোন অস্বচ্ছতা পছন্দ নেই তা সংকেত দিতে ব্যবহৃত হয়। ( I40107 ) -
windowBoundsPx
প্যারামিটারটিকেpixelDimensions
এ আপডেট করা হয়েছে এবং এর প্রকার Rect থেকেIntSize2d
এ তৈরি করা পদ্ধতিতে। ( I1926e ) -
SpatialEnvironment
নির্মাণকারী এখন অভ্যন্তরীণ ( I75a51 ) -
SpatialPointerIconNone
এবংSpatialPointerIconCircle
ক্লাসSpatialPointerIcon.NONE
এবংSpatialPointerIcon.CIRCLE
( I416d2 ) সহ প্রতিস্থাপিত -
SpatialPointerComponent
এSpatialPointerIcon
আর বাতিলযোগ্য নয়। সিস্টেম ডিফল্ট পয়েন্টার আইকন ব্যবহার করা উচিত তা নির্দেশ করতে নাল এর পরিবর্তেSpatialPointerIcon.DEFAULT
ব্যবহার করুন। ( I416d2 ) -
androidx.xr.scenecore.AnchorEntity.getState()
শুধুমাত্র পঠনযোগ্য সম্পত্তি দিয়ে প্রতিস্থাপিত হয়েছে। স্বচ্ছতার জন্যAnchorEntity.create()
পদ্ধতিতে পরামিতিগুলির নাম পরিবর্তন করা হয়েছে। শ্রোতাদের সেট করার এবং যোগ করার জন্যAnchorEntity
এর পদ্ধতিতে, শ্রোতাকে চূড়ান্ত যুক্তিতে সরানো হয়েছে ট্রেলিং ল্যাম্বডাস সক্ষম করার জন্য।AnchorEntity
জন্যandroidx.xr.scenecore.OnStateChangedListener
Consumer<AnchorEntity.State>
দিয়ে প্রতিস্থাপন করা হয়েছে। ( I472e0 ) -
GltfModelEntity.getAnimationState()
এখন একটি সম্পত্তি। ( I10b29 ) -
ActivitySpace.getBounds()
একটি সম্পত্তি দিয়ে প্রতিস্থাপিত হয়েছে।ActivitySpace.addBoundsChangedListener
ActivitySpace.addOnBoundsChangedListener
এ নামকরণ করা হয়েছে।ActivitySpace.setOnSpaceUpdatedListener
যোগ/অপসারণ পদ্ধতি দিয়ে প্রতিস্থাপিত হয়েছে। ( I4c956 ) -
AnchorPlacement: planeTypeFilter
নাম পরিবর্তন করেanchorablePlaneOrientations
প্লেনঅরিয়েন্টেশন করা হয়েছিল,planeSemanticFilter
নাম পরিবর্তন করেanchorablePlaneSemanticTypes
টাইপ করা হয়েছিল। একটিAnchorEntity
এ একটিMovableComponent
যোগ করুন বাActivitySpace
মিথ্যা ফেরত দেবে,MoveListener
এর নাম পরিবর্তন করেEntityMoveListener shouldDisposeParentAnchor
নাম পরিবর্তন করেdisposeParentOnReAnchor systemMovable
করা হয়েছিলcreeateCustomMovable
(createSystemMovable
, এবংcreateAnchorable
) এর পক্ষেcreate
ফাংশন থেকে সরিয়ে দেওয়া হয়েছিল ) -
SurfaceEntity.featherRadiusX/Y
সরানো হয়েছে এবং একটিEdgeFeatheringParams
ক্লাস ধারণা যোগ করেছে। ( আইসি৭৮এফসি ) -
PanelEntity.enablePanelDepthTest()
পদ্ধতিpanelClippingConfig
বৈশিষ্ট্য দিয়ে প্রতিস্থাপিত হয়েছে। ডেপথ-টেস্টিং সক্ষম করতেScene.panelClippingConfig = PanelClippingConfig(isDepthTestEnabled = true)
সেট করুন বা এটি নিষ্ক্রিয় করতেPanelClippingConfig(isDepthTestEnabled = false)
সেট করুন। ( I0cbe0 ) -
Scene.mainPanelEntity
এখনPanelEntity
( I7125a ) এর পরিবর্তেMainPanelEntity
টাইপের - BundleForFullSpaceModeLaunch এবং BundleForFullSpaceModeLaunchWithEnvironmentInherited
configureBundleForFullSpaceModeLaunch
জন্য BundleForFullSpaceModeLaunch এবংsetFullSpaceModeWithEnvironmentInherited
পদ্ধতিconfigureBundleForFullSpaceModeLaunchWithEnvironmentInherited
জন্য দৃশ্যেরsetFullSpaceMode
পদ্ধতির নামকরণ করা হয়েছে। ( I0cbe0 ) ( I0cbe0 ) -
SpatialVisibility
UNKNOWN, OUTSIDE_FOV, PARTIALLY_WITHIN_FOV, এবং WITHIN_FOV মানগুলিকে SPATIAL_VISIBILITY_UNKNOWN, SPATIAL_VISIBILITY_OUTSIDE_FIELD_OF_VIEW, নামকরণ করা হয়েছে, SPATIAL_VISIBILITY_PARTIALLY_WITHIN_FIELD_OF_VIEW, এবং SPATIAL_VISIBILITY_WITHIN_FIELD_OF_VIEW, যথাক্রমে ( Ie7e8c ) -
SpatialVisibility
ক্লাস const Int মান সহ পাবলিক অবজেক্ট দিয়ে প্রতিস্থাপিত হয়েছে।setSpatialVisibilityChangedListener
এখনConsumer<Int>
এর পরিবর্তেConsumer<SpatialVisibility>
( Ie7e8c ) গ্রহণ করে -
PointerCaptureComponent
ধ্রুবকের নাম পরিবর্তন করা হয়েছে এবংPointerCaptureComponent.PointerCaptureState
অবজেক্ট ( I9c7ac ) এ সরানো হয়েছে -
PointerCaptureComponents' StateListener
Consumer<Int>
দিয়ে প্রতিস্থাপিত করা হয়েছে। ( I9c7ac ) -
Consumer<InputEvent>
( I9c7ac ) দিয়েInputEventListener
প্রতিস্থাপিত -
setPreferredAspectRatio
Scene ক্লাস থেকেSpatialWindow
অবজেক্টে স্থানান্তরিত হয়েছে এবং প্রথম প্যারামিটার হিসাবে সেশন গ্রহণ করেছে। ( I7b717 ) -
Entity.setHidden()
দ্বারা প্রতিস্থাপিতEntity.setEnabled()
এবংEntity.isHidden()
দ্বারা প্রতিস্থাপিতEntity.isEnabled()
।setHidden(false)
setEnabled(true)
এবংisHidden() == !isEnabled()
এর সমান। ( ICf0de ) -
Entity.contentDescription
প্রকার String থেকেCharSequence
এ পরিবর্তিত হয়েছে। ( e59be ) -
Session.create
এবংSession.configure
এখনSecurityException
নিক্ষেপ করুন যখনSessionCreatePermissionsNotGranted
বাSessionConfigurePermissionsNotGranted
ফেরত দেওয়ার পরিবর্তে পর্যাপ্ত অনুমতি দেওয়া হয়নি। ( I7c488 ) -
ResizableComponent.create
এখন একজনConsumer<ResizeEvent> ResizeEventListener
এর পরিবর্তেConsumer<ResizeEvent> ResizableComponent.size
এর নাম পরিবর্তন করেResizableComponent.affordanceSize ResizableComponent.minimumSize
এর নাম পরিবর্তন করেResizableComponent.minimumEntitySize ResizableComponent.maximumSize
এর নাম পরিবর্তন করেResizableComponent.maximumEntitySize
করা হয়েছে ,ResizableComponent.autoHideContent
এর নাম পরিবর্তন করেResizableComponent.shouldAutoHideContent
ResizableComponent.forceShowResizeOverlay
এর নাম পরিবর্তন করা হয়েছেResizableComponent.shouldAlwaysShowOverlay
I97a2d ) -
androidx.xr.scenecore
এবংandroidx.xr.compose
জন্যminSDK
কমিয়ে 24 করা হয়েছে। এক্সআর প্যাকেজগুলির এখনও রানটাইমে এপিআই 34 প্রয়োজন। ( I17224 ) - সমস্ত Jetpack XR প্যাকেজের উপর
RequiresApi(34)
সীমাবদ্ধতা সরানো হয়েছে। এই বিধিনিষেধটি অপ্রয়োজনীয় ছিল কারণ Jetpack XR বর্তমানে শুধুমাত্র API স্তর 34+ সহ ডিভাইসগুলিতে উপলব্ধ। ( Iae0f8 ) - প্রধান
SceneCore
আর্টিফ্যাক্ট (xr:scenecore:scenecore
) শুধুমাত্র Kotlin-শৈলী async API গুলি ধারণ করবে। জাভা বিকাশকারীরা সামঞ্জস্যপূর্ণ API অ্যাক্সেস করতেxr:scenecore:scenecore-guava
লাইব্রেরির উপর নির্ভর করতে পারে। ( If221b ) - Kotlin 2.0 এর সাথে রিলিজ করা প্রজেক্টের জন্য KGP 2.0.0 বা নতুন ব্যবহার করতে হবে ( Idb6b5 )
- এই লাইব্রেরিটি এখন JSpecify nullness টীকা ব্যবহার করে, যা টাইপ-ব্যবহার। Kotlin ডেভেলপারদের সঠিক ব্যবহার কার্যকর করতে নিম্নলিখিত কম্পাইলার আর্গুমেন্ট ব্যবহার করা উচিত:
-Xjspecify-annotations=strict
(এটি Kotlin কম্পাইলারের সংস্করণ 2.1.0 দিয়ে শুরু হওয়া ডিফল্ট) ( Ia8420 ) -
ListenableFuture
প্রদানকারী সমস্ত async পদ্ধতি Kotlin সাসপেন্ড ফাংশন দিয়ে প্রতিস্থাপিত হয়েছে। জাভা ডেভেলপাররা যারা Kotlin সাসপেন্ড ফাংশনের পরিবর্তেListenableFuture
ভিত্তিক অ্যাসিঙ্ক পদ্ধতি ব্যবহার করতে চান তাদের এখন:xr:scenecore-scenecore-guava
এ এক্সটেনশন ফাংশন ব্যবহার করতে হবে। উদাহরণস্বরূপ ,GuavaExrImage
Guava-সমতুল্য ExrImage অ্যাসিঙ্ক ফাংশন রয়েছে,GuavaScenePose
Guava-সমতুলScenePose
অ্যাসিঙ্ক ফাংশন রয়েছে,GuavaGltfModel
Guava-Guava-equivalent GltfModel
অ্যাসিঙ্ক ফাংশন রয়েছে, ইত্যাদি Ia8515 ) ( I4efdf ) ( I54bbf ) ( I3467a ) ( I82a33 )
বাগ ফিক্স
- সংক্ষিপ্ত ক্লায়েন্টদের জন্য
AbstractMethodError
প্রতিরোধ করতে Jetpack XR ScenecoreProGuard
নিয়ম আপডেট করা হয়েছে। ( I91a01 ) - Jetpack XR
SceneCore
( I4f47e ) এর জন্য প্রোগার্ড মিনিফিকেশন সমর্থন করার জন্য অতিরিক্ত সংশোধন - একটি বাগ সংশোধন করা হয়েছে যেখানে একটি
InteractableComponent
ক্র্যাশের কারণ হতে পারে যদিInputEvent
হিটইনফোতেhitPosition
ক্র্যাশ হতে পারে যদি সিস্টেম থেকে ফিরে আসাhitPosition
নাল থাকে ( I7a695 ) - Config *মোড ভাল তাদের আচরণ প্রতিফলিত করার জন্য নতুন নামকরণ করা হয়েছে। ( I6d247 )
-
SceneCore
TestApp-এ FOV এবংHitTest
এর সমস্যা সমাধান করা হয়েছে। ( I2c51e ) -
SpatialCapabilities.hasCapability()
তে বাগ সংশোধন করা হয়েছে যেখানে এটি সত্যি হবে যদি কোন ক্ষমতা বিটওয়াইজ দিয়ে পাস করা হয় বা সত্য হয় তবে শুধুমাত্র সত্য ফেরত দেওয়ার পরিবর্তে যদি সেগুলি সত্য হয়। ( I2cd40 ) -
SurfaceEntity.StereoMode.TOP_BOTTOM
আপডেট করা হয়েছে বাম চোখের উপরের মানচিত্র এবং ডান চোখের নীচের মানচিত্র। ( I4ae68 )
সংস্করণ 1.0.0-alpha04
7 মে, 2025
androidx.xr.scenecore:scenecore:1.0.0-alpha04
এবং androidx.xr.scenecore:scenecore-testing:1.0.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- ব্যাকহ্যান্ডলিং এখন এম্বেড করা ক্রিয়াকলাপ ছাড়াই প্যানেল সংস্থাগুলিতে কাজ করবে। ব্যাকহ্যান্ডলিং কাজ করার জন্য আপনাকে অ্যান্ড্রয়েড ম্যানিফেস্টে
android:enableOnBackInvokedCallback= "true"
নির্দিষ্ট করতে হবে। -
StereoSurfaceEntity
এখন দুটি নতুনStereoMode
মানগুলির মাধ্যমে MV-HEVC প্লেব্যাক সমর্থন করে: MULTIVIEW_LEFT_PRIMARY এবং MULTIVIEW_RIGHT_PRIMARY৷ -
PanelEntity.setSize
এবংPanelEntity.getSize
এখন প্যারেন্ট স্পেসে মাপ প্রদান করুন। -
Entity.setPose
,Entity.getPose
,Entity.setScale
,Entity.getScale
,Entity.setAlpha
এবংEntity.getAlpha
এখন একটি নতুন প্যারামrelativeTo
গ্রহণ করে, যা বিভিন্ন স্থানের সাপেক্ষে মান পেতে/সেট করার অনুমতি দেয়। সমর্থিত মানগুলি হল অভিভাবক, কার্যকলাপ এবং বাস্তব বিশ্বের স্থান, এবং এই প্যারামের জন্য ডিফল্ট মান হল অভিভাবক৷ - স্থানিক দৃশ্যমানতা কলব্যাক এক্সটেনশন পদ্ধতিগুলি
SessionExt.kt
এ যুক্ত করা হয়েছে যখন দৃশ্যের বিষয়বস্তু ব্যবহারকারীর দেখার ক্ষেত্রের ভিতরে বা বাইরে চলে যায় তখন নিরীক্ষণ করতে। -
SpatialAudioTrack
এsetPointSourceParams
যোগ করা হয়েছে, ট্র্যাক তৈরি হওয়ার পর প্যারামগুলি আপডেট করার অনুমতি দেয়। -
Scenecore
এপিআই-এর রেফারেন্স সহ একটি নতুন ক্লাস, সিন যোগ করা হয়েছে। সেশনের এক্সটেনশন প্রপার্টি হিসেবে দৃশ্য অ্যাক্সেসযোগ্য হবে।SessionExt
এর ভিতরের ফাংশনগুলিকে দৃশ্যে সরানো হয়েছে তাই আমদানি সামঞ্জস্য করতে হবে; উদাহরণস্বরূপ,SessionExt.getScene(session)
।addSpatialCapababilitiesChangedListener
বনামSessionExt.addSpatialCapabilitiesChangedListener
। -
ActivityPose.hitTestAsync
যোগ করা হয়েছে, ভার্চুয়াল সামগ্রীর বিরুদ্ধে একটিhitTest
সক্ষম করে৷ - নতুন কম্পোনেন্ট টাইপ
SpatialPointerComponent
যোগ করা হয়েছে, ক্লায়েন্টদের পয়েন্টারের জন্য রেন্ডার করা আইকন নির্দিষ্ট করতে বা আইকনটি নিষ্ক্রিয় করার অনুমতি দেয়। এই উপাদানটি বর্তমানে শুধুমাত্রPanelEntity
দৃষ্টান্তে সংযুক্ত করা যেতে পারে। - নতুন
PanelEntity
ফ্যাক্টরি পেশ করা হচ্ছে, যা মিটার বা পিক্সেলে প্যানেলের মাত্রা নেয়। পুরোনোPanelEntity
ফ্যাক্টরি প্যানেল অপসারণের জন্য দুটি মাত্রা ধরনের প্যারাম গ্রহণ করছে।
এপিআই পরিবর্তন
- সমস্ত Jetpack XR প্যাকেজের উপর
RequiresApi(34)
সীমাবদ্ধতা সরানো হয়েছে। এই বিধিনিষেধটি অপ্রয়োজনীয় ছিল কারণ Jetpack XR বর্তমানে শুধুমাত্র API স্তর 34+ সহ ডিভাইসগুলিতে উপলব্ধ। ( Iae0f8 ) - Kotlin 2.0 এর সাথে রিলিজ করা প্রজেক্টের জন্য KGP 2.0.0 বা নতুন ব্যবহার করতে হবে ( Idb6b5 )
-
PermissionHelper
ক্লাস সরানো হয়েছে। -
PanelEntity.getPixelDensity
বাতিল করা হয়েছে। -
PanelEntity.setPixelDimensions
এবংPanelEntity.getPixelDimension
সরানো হয়েছে,setSizeInPixels
এবংgetSizeInPixels
দ্বারা প্রতিস্থাপিত হয়েছে। -
Entity.getActivitySpaceAlpha
সরানো হয়েছে।Entity.getAlpha(Space.Activity)
দিয়ে প্রতিস্থাপন করা যেতে পারে। -
Entity.getWorldSpaceScale
সরানো হয়েছে।Entity.getScale(Space.REAL\_WORLD)
দিয়ে প্রতিস্থাপন করা যেতে পারে। - XR রানটাইমে সেশনের পক্ষে
SceneCore
এ সেশন ক্লাস মুছে ফেলা হয়েছে। -
StereoSurfaceEntity
নাম পরিবর্তন করেSurfaceEntity
করা হয়েছে। -
Entity.setSize
এবংEntity.getSize
সরানো হয়েছে, এবং একই পদ্ধতিগুলিPanelEntity
এ যোগ করা হয়েছে। -
PointSourceAttributes
নাম পরিবর্তন করেPointSourceParams
করা হয়েছে। -
SpatializerConstants.SOURCE\_TYPE\_BYPASS
নাম পরিবর্তন করেSpatializerConstants.SOURCE\_TYPE\_DEFAULT
করা হয়েছে। -
PointSourceParams
সত্তা সর্বজনীন থেকে অভ্যন্তরীণ অ্যাক্সেসে পরিবর্তন করা হয়েছে৷ -
AnchorEntity.create
এখন প্রয়োজনPlaneTrackingMode
Session.configure()
-এ কনফিগার করা। -
SpatialUser
API-এর এখনHeadTrackingMode
প্রয়োজনSession.configure()
-এ কনফিগার করা। - যখন
ResizableComponent
সংযুক্ত করা হয় না, তখন এটি ERROR-স্তরের লগের পরিবর্তে INFO-স্তরের লগ দেবে। - Fov ক্লাস এখন একটি নিয়মিত কোটলিন ক্লাস।
- বিভক্ত
Entity.kt
প্রতিটি কংক্রিট সত্তা টাইপ তার নিজস্ব ফাইলে স্থাপন করুন। - একটি নতুন
PanelEntity
তৈরি করার সময়, বেশিরভাগ ভিউ একটিFrameLayout
এ পুনরায় সাজানো হবে। এটি স্থানিক প্যানেলের সাথেLayoutInspector
এর ব্যবহার সহজতর করে। - বর্তমানে ব্যবহৃত
XrExtensions
উদাহরণটি এখন প্ল্যাটফর্মের সাথে নিবন্ধিত হয়েছে, একটি সর্বোত্তম প্রচেষ্টার উপায়ে, অ্যাপ ডিবাগিংয়ে সহায়তা করার জন্য।
বাগ ফিক্স
-
MovableComponent
এবংAnchorPlacement
সহ একটিPanelEntity
সরানো হলে ক্র্যাশ প্রতিরোধ করার জন্য একটি ফিক্স যোগ করা হয়েছিল - একটি সমস্যা সমাধান করা হয়েছে যেখানে
ResizableComponent
onResizeStart
কলব্যাকে বাসি মাপ প্রদান করছে। -
JxrPlatformAdapterAxr
এরdispose()
একাধিকবার কল করা হলে ক্র্যাশ স্থির করা হয়েছে।
সংস্করণ 1.0.0-alpha03
ফেব্রুয়ারী 26, 2025
androidx.xr.scenecore:scenecore:1.0.0-alpha03
এবং androidx.xr.scenecore:scenecore-testing:1.0.0-alpha03
প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-ALPHA03 এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- প্রোগার্ড মিনিফিকেশন এখন জেটপ্যাক এক্সআর কোডের জন্য সমর্থিত
বাগ ফিক্স
- Jetpack XR SceneCore ( I4f47e ) এর জন্য প্রোগার্ড মিনিফিকেশন সমর্থন করার জন্য অতিরিক্ত সংশোধন
- সংক্ষিপ্ত ক্লায়েন্টদের জন্য
AbstractMethodError
প্রতিরোধ করতে Jetpack XR ScenecoreProGuard
নিয়ম আপডেট করা হয়েছে। ( I91a01 )
সংস্করণ 1.0.0-alpha02
12 ফেব্রুয়ারি, 2025
androidx.xr.scenecore:scenecore:1.0.0-alpha02
এবং androidx.xr.scenecore:scenecore-testing:1.0.0-alpha02
প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha02-এ এই কমিট রয়েছে।
আসন্ন ব্রেকিং পরিবর্তন 1.0.0-alpha02 এর আগে তৈরি অ্যাপগুলিকে প্রভাবিত করে৷
- ফ্যাক্টরি পদ্ধতিগুলি
Session
ক্লাস থেকে প্রতিটি স্বতন্ত্র প্রকারের একটি সহচর পদ্ধতিতে সরানো হয়েছে:-
Session.createActivityPanelEntity(Dimensions, String, Activity, Pose)
মুছে ফেলা হয়েছে এবংActivityPanelEntity.create(Session, Dimensions, String, Pose)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createAnchorEntity(Anchor)
মুছে ফেলা হয়েছে এবংAnchorEntity.create(Session, Anchor)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createAnchorEntity(Dimensions, Int, Int, Duration)
মুছে ফেলা হয়েছে এবংAnchorEntity.create(Session, Dimensions, Int, Int, Duration)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createEntity(String, Pose)
মুছে ফেলা হয়েছে এবংContentlessEntity.create(Session, String, Pose)
-
Session.createExrImageResource(String)
মুছে ফেলা হয়েছে এবংExrImage.create(Session, String)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createGltfEntity(GltfModel, Pose)
মুছে ফেলা হয়েছে এবংGltfModelEntity.create(Session, GltfModel, Pose)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createGltfModelResource(String)
মুছে ফেলা হয়েছে এবংGltfModel.create(Session, String)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createInteractableComponent(Executor, InputEventListener)
মুছে ফেলা হয়েছে এবংInteractableComponent.create(Session, Executor, InputEventListener)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createMovableComponent(Boolean, Boolean, Set<AnchorPlacement>, Boolean)
মুছে ফেলা হয়েছে এবংMovableComponent.create(Session, Boolean, Boolean, Set<AnchorPlacement>, Boolean)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createPanelEntity(View, Dimensions, Dimensions, String, Pose)
মুছে ফেলা হয়েছে এবংPanelEntity.create(Session, View, Dimensions, Dimensions, String, Pose)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createResizableComponent(Dimensions, Dimensions)
মুছে ফেলা হয়েছে এবংResizableComponent.create(Session, Dimensions, Dimensions)
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.createStereoSurfaceEntity(Int, Dimensions, Pose)
মুছে ফেলা হয়েছে এবংStereoSurface.create(Session, Int, Dimensions, Pose)
দিয়ে প্রতিস্থাপিত হয়েছে
-
- নিম্নলিখিত অপপ্রচারিত পদ্ধতিগুলি সরানো হয়েছে:
-
Session.canEmbedActivityPanel(Activity)
মুছে ফেলা হয়েছে। পরিবর্তেgetSpatialCapabilities.hasCapabilility(SPATIAL_CAPABILITY_EMBED_ACTIVITY)
ব্যবহার করুন। -
Session.hasSpatialCapability(Int)
মুছে ফেলা হয়েছে। এটিকেgetSpatialCapabilities().hasCapability()
ব্যবহার করার পক্ষে স্থানান্তরিত ক্ষমতার উপস্থিতি পরীক্ষা করার জন্য একটি আরও বিভক্ত উপায় হিসাবে প্রতিস্থাপন করা হয়েছে যেহেতুgetSpatialCapabilities()
একটিSpatialCapabilities
অবজেক্ট প্রদান করে। -
Session.requestFullSpaceMode()
মুছে ফেলা হয়েছে এবংSpatialEnvironment.requestFullSpaceMode()
দিয়ে প্রতিস্থাপিত হয়েছে -
Session.requestHomeSpaceMode()
মুছে ফেলা হয়েছে এবংSpatialEnvironment.requestHomeSpaceMode()
দিয়ে প্রতিস্থাপিত হয়েছে
-
-
Session.setFullSpaceMode(Bundle)
এবংSession.setFullSpaceModeWithEnvironmentInherited(Bundle)
এক্সটেনশন ফাংশনে সরানো হয়েছে। বিকাশকারী ফাইলগুলিকে অ্যাক্সেসের জন্য নতুন আমদানি যোগ করতে হবে:-
import androidx.xr.scenecore.setFullSpaceMode
-
import androidx.xr.scenecore.setFullSpaceModeWithEnvironmentInherited
-
-
Session.setPreferredAspectRatio(Activity, Float)
একটি এক্সটেনশন ফাংশনে সরানো হয়েছে। বিকাশকারী ফাইলগুলিকে অ্যাক্সেসের জন্য নতুন আমদানি যোগ করতে হবে:-
import androidx.xr.scenecore.setPreferredAspectRatio
-
-
Session.getEntitiesOfType(Class<out T>)
এবংSession.getEntityForRtEntity(RtEntity)
এক্সটেনশন ফাংশনে সরানো হয়েছে। বিকাশকারী ফাইলগুলিকে অ্যাক্সেসের জন্য নতুন আমদানি যোগ করতে হবে:-
import androidx.xr.scenecore.getEntitiesOfType
-
import androidx.xr.scenecore.getEntityForRtEntity
-
-
Session.unpersistAnchor(Anchor)
মুছে ফেলা হয়েছে -
Session.createPersistedAnchorEntity(UUID)
মুছে ফেলা হয়েছে
পরিচিত সমস্যা
-
PanelEntity.setCornerRadius()
এবংActivityPanelEntity.setCornerRadius()
প্যানেলটি পরবর্তী স্থানান্তর না হওয়া পর্যন্ত কার্যকর নাও হতে পারে, প্যানেলটিকে তার বর্তমান অবস্থানে সরানোর মাধ্যমে এটি হ্রাস করা যেতে পারে - যখন
ActivitySpace
এBoundsChanged
কল করা হয়, তখন কিছুActivityPose
সঠিকভাবে আপডেট নাও হতে পারে।ActivitySpace
এ নিম্নলিখিতOnSpaceUpdated
কলে এটি আপডেট করা হবে
ব্রেকিং এবং আচরণগত পরিবর্তন
-
PanelEntity
এবংActivityPanelEntity
এর একটি ডিফল্ট কোণার ব্যাসার্ধ 32dp বা ছোট হবে যদি প্যানেলের প্রস্থ বা উচ্চতা 32dp-এর চেয়ে ছোট হয়
নতুন API এবং ক্ষমতা
-
StereoSurface.CanvasShape
প্রবর্তন করে, যা ইমারসিভ মিডিয়া রেন্ডার করার জন্যSpherical
এবংHemispherical
ক্যানভাস তৈরি করতে দেয়। -
StereoSurfaceEntity.create()
এখন একটিCanvasShape
প্যারামিটার গ্রহণ করে। (এই প্যারামিটারটি বর্তমানে উপেক্ষা করা হয়েছে, তবে ভবিষ্যতের রিলিজে ব্যবহার করা হবে) -
StereoSurfaceEntity.create()
আর একটিDimensions
প্যারামিটার নেয় না।CanvasShape
সেট করার মাধ্যমে অ্যাপ্লিকেশনগুলিকে ক্যানভাসের আকার নিয়ন্ত্রণ করা উচিত -
StereoSurfaceEntity
এর একটিCanvasShape
সদস্য রয়েছে যা গতিশীলভাবে সেট করা যেতে পারে। -
StereoSurfaceEntity.dimensions
এখন শুধুমাত্র পঠনযোগ্য সম্পত্তি; অ্যাপ্লিকেশনের মাত্রা পরিবর্তন করতেCanvasShape
সেট করা উচিত। -
StereoSurfaceEntity
এখনStereoMode
নির্মাণের পরে পুনরায় সেট করার অনুমতি দেয়।
অন্যান্য পরিবর্তন
- কম্পাইল-টাইম minSDK কমিয়ে 24 করা হয়েছে। সমস্ত Jetpack XR API-এর জন্য রানটাইমে API 34-এর প্রয়োজন অব্যাহত রয়েছে।
-
SceneCore
এর সেশন ফ্যাক্টরি (Session.create
) আরSCENE_UNDERSTANDING
অনুমতি অর্জনের কোনো উদ্দেশ্য চালু করে না৷ পরিবর্তে, অ্যাঙ্কর তৈরি করার চেষ্টা করার আগে ক্লায়েন্ট অ্যাপ্লিকেশনটিকে অবশ্যই ব্যবহারকারীর কাছ থেকে স্পষ্টভাবে অনুমতির অনুরোধ করতে হবে। ব্যবহারকারীর অনুমতি না দিলে অ্যাঙ্কর তৈরি ব্যর্থ হবে।
বাগ ফিক্স
-
getActivitySpacePose()
ActivitySpace
স্কেলের জন্য অ্যাকাউন্টে স্থির করা হয়েছে সবসময় অ-স্কেল করা মিটার ফেরত না দিয়ে স্কেল করা মিটারে অনুবাদের মান ফিরিয়ে দিয়ে। যখনActivitySpace
উৎস বা গন্তব্যের সাথে জড়িত থাকে তখনtransformPoseTo
এখন সমন্বয় পরিবর্তনের গণনা করার জন্য সঠিক ইউনিট ব্যবহার করে। - স্কাইবক্সটি এখন একটি সম্পূর্ণ-কালো স্কাইবক্সে সেট করা হবে যখনই
setSpatialEnvironmentPreference(new SpatialEnvironmentPreference(null, geom))
ব্যবহার করে একটি নাল স্কাইবক্স পছন্দ পাস করা হবে। সিস্টেম ডিফল্ট স্কাইবক্স এবং জ্যামিতিতে প্রত্যাবর্তন করতে,setSpatialEnvironmentPreference(null).
সংস্করণ 1.0.0-alpha01
ডিসেম্বর 12, 2024
androidx.xr.scenecore:scenecore-* 1.0.0-alpha01
প্রকাশিত হয়েছে।
প্রারম্ভিক রিলিজের বৈশিষ্ট্য জেটপ্যাক সিনকোরের প্রাথমিক বিকাশকারী রিলিজ, নিমজ্জিত দৃশ্য এবং পরিবেশ তৈরি এবং ম্যানিপুলেট করার জন্য একটি 3D দৃশ্য গ্রাফ লাইব্রেরি। এই লাইব্রেরি আপনাকে একে অপরের এবং আপনার ভার্চুয়াল বা বাস্তব-বিশ্বের পরিবেশের সাথে সম্পর্কিত 3D মডেল এবং সামগ্রী প্যানেল স্থাপন এবং সাজানোর অনুমতি দেয়।
- স্থানিক পরিবেশ : আপনার পরিবেশের XR দৃশ্যের পটভূমি হিসাবে একটি স্কাইবক্স ইমেজ এবং/অথবা 3D মডেল জ্যামিতির সাথে সম্পূর্ণ নিমগ্ন অভিজ্ঞতা তৈরি করুন। অথবা পাসথ্রু সক্ষম করুন, যাতে আপনার ভার্চুয়াল দৃশ্য ব্যবহারকারীর বাস্তব-বিশ্বের পরিবেশের সাথে একীভূত হতে পারে।
- PanelEntity : 2D কন্টেন্ট যোগ করুন আপনার 3D দৃশ্যে স্ট্যান্ডার্ড অ্যান্ড্রয়েড লেআউট এবং অ্যাক্টিভিটিগুলিকে স্থানিক প্যানেলে এম্বেড করে যা ভাসতে পারে বা বাস্তব-বিশ্বের পৃষ্ঠে নোঙ্গর করতে পারে।
- GltfModelEntity : আপনার দৃশ্যে 3D মডেল রাখুন, অ্যানিমেট করুন এবং ইন্টারঅ্যাক্ট করুন। SceneCore বিদ্যমান মডেলগুলির সাথে একীকরণের সহজতার জন্য glTF ফাইল বিন্যাস সমর্থন করে।
- স্থানিক অডিও : সম্পূর্ণ নিমজ্জিত, স্থানিক শব্দের জন্য আপনার 3D দৃশ্যে পরিবেষ্টিত এবং পয়েন্ট অডিও উত্স যোগ করুন।
- StereoSurfaceEntity : SceneCore একটি Android সারফেসে রেন্ডার করা বিষয়বস্তুর বাম/ডান চোখের রাউটিং সমর্থন করে। এটি স্টেরিওস্কোপিক বিষয়বস্তুকে পাশে-পাশে বা টপ-বটম ফরম্যাটে রেন্ডার করতে ব্যবহার করা যেতে পারে, যেমন স্টেরিও ফটো, 3D ভিডিও বা অন্যান্য গতিশীলভাবে রেন্ডার করা UI। অ্যাপ্লিকেশন ভিডিও ডিকোডিং জন্য MediaPlayer বা ExoPlayer ব্যবহার করা উচিত.
- কম্পোনেন্ট সিস্টেম: সিনকোর আপনার XR সামগ্রীতে সক্ষমতা যোগ করার জন্য একটি শক্তিশালী এবং নমনীয় উপাদান সিস্টেম অফার করে, যার মধ্যে ব্যবহারকারীদের মডেল এবং প্যানেলের সাথে সরানো, আকার পরিবর্তন করা এবং ইন্টারঅ্যাক্ট করার সুযোগ রয়েছে।
- অ্যাঙ্কর : পাসথ্রু সক্ষম করে, আপনি প্যানেল এবং মডেলগুলিকে প্রকৃত পৃষ্ঠের সাথে সংযুক্ত করতে পারেন, ব্যবহারকারীদের তাদের বাস্তব-বিশ্বের পরিবেশে ভার্চুয়াল সামগ্রীর বিরামহীন একীকরণ প্রদান করে৷
- ব্যবহারকারীর ভঙ্গি: ব্যবহারকারীর অবস্থানের চারপাশে আপনার বিষয়বস্তুকে অভিমুখী করতে ভার্চুয়াল দৃশ্যে ব্যবহারকারীর অবস্থান অ্যাক্সেস করুন।
- স্থানিক সক্ষমতা : সম্পূর্ণরূপে অভিযোজিত অ্যাপ্লিকেশনগুলি তৈরি করুন যা উপলব্ধ থাকলে স্থানিক ক্ষমতার সুবিধা নেয়, যেমন UI সামগ্রীর 3D অবস্থান। শুধু তাই নয়, ব্যবহারকারী কীভাবে তাদের অ্যান্ড্রয়েড এক্সআর ডিভাইস ব্যবহার করছেন তার উপর ভিত্তি করে অভিজ্ঞতা পরিবর্তন করতে আপনার অ্যাপটি অ্যাপটি চালানোর সময় ক্ষমতার পরিবর্তনের জন্য নিরীক্ষণ করতে পারে।
পরিচিত সমস্যা
- বর্তমানে Jetpack SceneCore ব্যবহার করার জন্য 30 এর একটি minSDK প্রয়োজন। একটি কার্যকারিতা হিসাবে নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি যুক্ত করুন
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
23 এর একটি মিনিটসডিকে দিয়ে চালাতে সক্ষম হতে। - সেশনটি বিভিন্ন পরিস্থিতিতে অবৈধ হয়ে যেতে পারে যা স্বয়ংক্রিয়ভাবে একটি প্রধান প্যানেলের আকার পরিবর্তন করা, পেরিফেরাল সংযোগ করা এবং আলো এবং অন্ধকার মোডের মধ্যে পরিবর্তন সহ কার্যকলাপ পুনরায় তৈরি করে। আপনি যদি সেশনের অবৈধকরণের সমস্যার সম্মুখীন হন, তাহলে সমাধানের মধ্যে রয়েছে আপনাকে প্রধান প্যানেল অ-আকারযোগ্য করে তোলা, একটি গতিশীল প্যানেল সত্তা ব্যবহার করে, নির্দিষ্ট কনফিগার পরিবর্তনের জন্য কার্যকলাপ বিনোদন অক্ষম করা বা আলো/অন্ধকার মোড থিম পরিবর্তনগুলি অক্ষম করা।
- GltfEntity-এ চলমান এবং পরিবর্তনযোগ্য উপাদান সমর্থিত নয়।
- Entity.getSize() GltfEntity-এ সমর্থিত নয়।
- Jetpack XR অ্যাপগুলিকে AndroidManifest-এ
android.permission.SCENE_UNDERSTANDING
অনুমতির অনুরোধ করতে হবে। - একটি সেশন তৈরি করা শুধুমাত্র একটি Android XR ডিভাইসে সমর্থিত। এই সময়ে, আপনি যদি একটি সেশন তৈরি করেন এবং এটি একটি নন-অ্যান্ড্রয়েড XR ডিভাইসে ব্যবহার করার চেষ্টা করেন, আপনি একটি RuntimeException পাবেন।
- `SpatialEnvironment.setSpatialEnvironmentPreference() এর মাধ্যমে স্কাইবক্সটিকে নাল সেট করার ফলে নথিভুক্ত হিসাবে একটি কঠিন কালো স্কাইবক্স তৈরি হয় না। এর ফলে সিস্টেম ডিফল্ট স্কাইবক্স বা বর্তমান স্কাইবক্সে কোনো পরিবর্তন নাও হতে পারে।
- SceneCore ক্লায়েন্টদের তাদের অ্যাপের নির্ভরতার জন্য তাদের Gradle কনফিগারেশনে
implementation(“com.google.guava:listenablefuture-1.0”)
যোগ করা উচিত। ভবিষ্যতের রিলিজে, সিনকোর এই লাইব্রেরিটিকে একটিapi
নির্ভরতা হিসাবে অন্তর্ভুক্ত করবে যাতে ক্লায়েন্টদের স্পষ্টভাবে এটি ঘোষণা করতে হবে না। - SceneCore ভুলভাবে
com.google.guava:guava-31.1-android
এবংcom.google.protobuf:protobuf-javalite
ট্রানজিটিভ নির্ভরতা হিসেবে অন্তর্ভুক্ত করে। যদি এর ফলে আপনার বিল্ডে ডুপ্লিকেট ক্লাস ত্রুটি হয়, তাহলে এই দুটি নির্ভরতা নিরাপদে বাদ দেওয়া যেতে পারে। - যদি আপনার অ্যাপ SceneCore ব্যবহার করে এবং ProGuard সক্ষম করে, আপনি একটি সেশন তৈরি করার সময় এটি ক্র্যাশ হয়ে যাবে। একটি সমাধান হিসাবে, ProGuard অক্ষম করুন। ProGuard কিভাবে সক্ষম করবেন সে সম্পর্কে আরও তথ্যের জন্য এই নির্দেশিকাটি দেখুন।