Jetpack SceneCore
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 25 בפברואר 2026 | - | - | - | 1.0.0-alpha12 |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-XR SceneCore, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
Groovy
dependencies { implementation "androidx.xr.scenecore:scenecore:1.0.0-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.scenecore:scenecore-guava:1.0.0-alpha12" // Use to write unit tests testImplementation "androidx.xr.scenecore:scenecore-testing:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.scenecore:scenecore:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.scenecore:scenecore-guava:1.0.0-alpha12") // Use to write unit tests testImplementation("androidx.xr.scenecore:scenecore-testing:1.0.0-alpha12") }
מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
גירסה 1.0
גרסה 1.0.0-alpha12
25 בפברואר 2026
androidx.xr.scenecore:scenecore-*:1.0.0-alpha12 מופץ. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.
בעיות מוכרות
- יכול להיות שיחלפו כמה שניות עד שהישות המעוגנת תעבור מהמיקום המעוגן שלה לנקודת האפס של מרחב הפעילות.
שינויים ב-API
- השמות של
ActivitySpace.addOnSpaceUpdatedListenerו-ActivitySpace.removeOnSpaceUpdatedListenerשונו ל-addOnOriginChangedListenerו-removeOnOriginChangedListener. השם שלAnchorEntity.setOnSpaceUpdatedListenerשונה ל-setOnOriginChangedListener. (I5d8fb) - הוספנו מאפיין של שם ציבורי ל-
FakeEntityוהגדרנו את התצוגה כציבורית ב-FakePanelEntity. (Ifa1f9)
תיקוני באגים
- תוקנו חישובים של צפיפות פיקסלים בתמונות מערכת חדשות יותר (I57d04)
גרסה 1.0.0-alpha11
28 בינואר 2026
androidx.xr.scenecore:scenecore-*:1.0.0-alpha11 מופץ. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.
שינויים ב-API
- השם
PerceivedResolutionResult.InvalidCameraViewמשתנה ל-PerceivedResolutionResult.InvalidRenderViewpointכי ממשקי ה-API שלgetPerceivedResolutionמסתמכים עכשיו על API של ARCoreRenderViewpointבמקום עלCameraViewScenePose. השם הזה משקף טוב יותר את ההטמעה החדשה. (I8c967, b/446989745, b/419311998) - השיטות
PanelEntity/SurfaceEntity.getPerceivedResolutionמקבלות עכשיו את הארגומנטRenderViewpointשהמפתח מספק. בעבר, זמן הריצה בחר באופן שרירותי אתRenderViewpointששימש לחישוב הרזולוציה הנתפסת. (I8c967, b/446989745, b/419311998) - הוסרו
SpatialUser,ScenePose.Headו-ScenePose.CameraView. הפונקציונליות של ממשקי ה-API האלה מכוסה על ידי ממשקי ה-APIArDeviceו-RenderViewpointב-ARCore ל-Jetpack XR. כדי לקבלScenePoseשמתאים לראש של המשתמש או לעין ימין או שמאל, מפתחים יכולים להשתמש ב-PerceptionSpace.getScenePoseFromPerceptionPoseעם התנוחה המתאימה שהתקבלה באמצעות ARCore APIs. (I2f69c, b/446989745)
גרסה 1.0.0-alpha10
3 בדצמבר 2025
androidx.xr.scenecore:scenecore-*:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 מכילה את השמירות האלה.
שינויים ב-API
- הוספת
transformPixelCoordinatesToPoseוtransformNormalizedCoordinatesToPoseאלPanelEntity(I462b3) - נוספה מחלקה מסייעת, Utils, ל-
SceneCoreRuntime על סמך הלוגיקה ב-SceneCore(I570b9)
תיקוני באגים
- תוקנה קריסה פוטנציאלית שיכולה להתרחש כשסשן נהרס ומתקבל
SpatialModeChangeEvent(If44e8) - תוקן באג שגרם להפעלת
IllegalStateExceptionכשיוצאים מפעילות או כשנכנסים אליה מחדש. (Ibff1c)
גרסה 1.0.0-alpha09
19 בנובמבר 2025
androidx.xr.scenecore:scenecore-*:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
תכונות חדשות
- נוסף API לאחזור
ScenePoseשמייצג את הקומפוזיציה של תנוחת המקור של מרחב התפיסה ותנוחה ביחס למקור של מרחב התפיסה. (I5b50a) - נוספה הפונקציה
getGravityAlignedPose. התנוחה שמתאימה לכוח הכבידה מתעלמת מהסיבובים סביב הציר האופקי (Pitch) והציר האנכי (Roll). (I5ae21) - סוגי הקבועים
AnchorEntity.Stateהשתנו מ-Ints לסוגי משנה של State. (Ib0c49) - הוספנו את
getChildren()לממשק Entity. עדכנו את מחזור החיים שלMainPanelEntity. (Ia69d6)
שינויים ב-API
- סוגי הקבועים
PointerCaptureComponent.PointerCaptureStateהשתנו מ-Ints לסוגי משנה שלPointerCaptureState. (Ic888a) - הערך של
Scene.spatialCapabilitiesהוא עכשיו מסוגSet<SpatialCapability>במקום שדה Int. השם של הקבועיםSpatialCapabilityהשתנה. (I9c109) - השמות של סוגי הקבועים
SurfaceEntityהשתנו, והם הוגדרו מחדש כסוגי משנה שלSurfaceEntityבמקום כ-Ints. (I419ed) - השמות של סוגי הקבועים
SpatializerConstantהשתנו, והם הוגדרו מחדש כסוגי משנה שלSpatializerConstantבמקום כ-Ints. (Ia0e18) - השמות של סוגי הקבועים
TextureSamplerהשתנו, והם הוגדרו מחדש כסוגי משנה שלTextureSamplerבמקום כ-Ints. (I44078) - סוגי הקבועים
SpatialVisibilityהשתנו מ-Ints לסוגי משנה שלSpatialVisibility. (I70739) - השמות של סוגי הקבועים
ResizeEvent.ResizeStateשונו, והם הוחלפו מסוגי Ints לסוגי משנה שלResizeState. (I384d5) - השמות של סוגי הקבועים
InputEventשונו, והם יורשים עכשיו מהסוגים התואמים שלהם במקום להיות מסוג Ints. (I82817) - סוגי הקבועים
GltfModelEntity.AnimationStateהשתנו מ-Ints לסוגי משנה שלAnimationState. (I24f4e) - השמות של סוגי הקבועים
AlphaModeהשתנו, והם הוגדרו מחדש כסוגי משנה שלAlphaModeבמקום כ-Ints. (I27b56) - הסוגים הקבועים
Spaceהשתנו מ-Ints לסוגי משנה של Space. (I9255b) - הפונקציה
ScenePose.hitTestושיטות קשורות מחזירות עכשיוnullאם לא נמצאה חפיפה, במקוםHitTestResultעם ערך null שלhitPosition. השדהHitTestResult.hitPositionכבר לא יכול להכיל ערך null. (I1400a) - ההפניות אל
ActivityPoseהשתנו ל-ScenePose. (I7fe43)
גרסה 1.0.0-alpha08
22 באוקטובר 2025
androidx.xr.scenecore:scenecore-*:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
שינויים ב-API
- שם הפריט
ActivityPanelEntity.moveActivityשונה לtransferActivity(I273c5, b/430332856)
תיקוני באגים
-
:xr:scenecore:scenecore-spatial-renderingו-:xr:scenecore:scenecore-spatial-coreנוספו כתלות בהטמעה של:xr:scenecore:scenecore(I6ab65, b/447000520) - מופעלת חריגה אם מתבצעת גישה אל
session.sceneאחרי השמדת הסשן. (I77e6f)
גרסה 1.0.0-alpha07
24 בספטמבר 2025
הגרסאות androidx.xr.scenecore:scenecore:1.0.0-alpha07, androidx.xr.scenecore:scenecore-guava:1.0.0-alpha07 וגם androidx.xr.scenecore:scenecore-testing:1.0.0-alpha07 יוצאות. גרסה 1.0.0-alpha07 מכילה את השמירות האלה.
שינויים ב-API
- השם
fixedAspectRatioשונה ל-isFixedAspectRatioEnabledוהוגדר כנכס בוליאני (I5c4e8, b/440588971) -
ScenecoreFakes נמצאים עכשיו במודולxr:scenecore:scenecore-testing. (Idd951) - שינוי השם של
shouldAutoHideContentלisAutoHideContentWhileResizingEnabledושלshouldAlwaysShowOverlayלisAlwaysShowOverlayEnabled(I97c36, b/432335421) - עדכנו את הקבועים
SceneCoreTextureSamplerכדי לשפר את הקריאוּת. לדוגמה,TextureSampler.MinFilter.LINEARהוא עכשיוTextureSampler.MIN_FILTER_LINEAR(Ib159c) - הפונקציה להגדרת המאפיין
setKeyEntityשל הסצנה מוזגה למשתנהkeyEntity. הגדרתkeyEntityלערך Entity שלא ניתן להעברה, כמוAnchorEntity, תגרום להחזרתIllegalArgumentExceptionבמקום ערך בוליאני false. (I62080, b/428721695, b/422215745) - המשתנה
SpatialModeChangeListenerשל הסצנה הוחלף ב-setSpatialModeChangedListener. הפונקציה מקבלתConsumer<SpatialModeChangeEvent>במקוםSpatialModeChangedListener. עכשיו אפשר להשתמש ב-Executor עםsetSpatialModeChangedListener. (I62080, b/428721695, b/422215745) - הוסר הפרמטר
bundleמ-ActivityPanelEntity.startActivity(I64344, b/430332856, b/430333040) - השם של
SpatializerConstants.SOURCE_TYPE_BYPASSשונה ל-SpatializerConstants.SOURCE_TYPE_DEFAULT. (Ifc7fe, b/422215565) - נוסף קבוע
SpatialSoundPool.PLAY_FAILED. (Ifc7fe, b/422215565) - הוספנו ארגומנטים שמוגדרים כברירת מחדל לשיטות
SpatialSoundPool.play. (Ifc7fe, b/422215565) - הוסר ערך ההחזרה של פונקציות setter ב-
SpatialAudioTrackBuilder. (Ifc7fe, b/422215565) - שינויים ב-SurfaceEntity
- השם של
SurfaceEntity.CanvasShapeשונה לShape - השם של
SurfaceEntity.CanvasShape.Vr180Hemisphereשונה לHemisphere - השם של
SurfaceEntity.CanvasShape.Vr360Sphereשונה לSphere - השם של
SurfaceEntity.EdgeFeatheringParams.SmoothFeatherשונה לRectangleFeather - השם של
SurfaceEntity.EdgeFeathingParams.SolidEdgeשונה לNoFeathering - השם של
SurfaceEntity.ContentSecurityLevelשונה לSurfaceProtection SurfaceEntity.ContentSecurityLevel.{values}הוסיף/ה קידומתSURFACE_PROTECTION_.SurfaceEntity.SuperSampling.{$values}הוסיף/ה את הקידומתSUPER_SAMPLING_SurfaceEntity.StereoMode.{values}הוסיף/ה את הקידומתSTEREO_MODE_- השם של
SurfaceEntity.ContentColorMetadata.maxCLLהשתנה ל-maxContentLightLevel(I7eb5f, b/422216050, b/427529950)
- השם של
- השם של
launchActivityשונה ל-startActivity(I7db90, b/430332856) - בוצעה הסרה של
Scene.activitySpaceRoot. במקום זאת, אתם צריכים להשתמש ב-Scene.activitySpace. (I05ee8, b/378706624, b/422215745) -
configureBundleForFullSpaceModeLaunchו-configureBundleForFullSpaceModeLaunchWithEnvironmentInheritedשונו לשמותcreateBundleForFullSpaceModeLaunchו-createBundleForFullSpaceModeLaunchWithEnvironmentInheritedבהתאמה, והועברו לקובץ LaunchUtils.kt כשיטות ברמה העליונה, והפרמטר הראשון שלהן הוא Session (I64a2c, b/437186050) - הפונקציה
GroupEntityfactory מחזירה עכשיו את הסוגGroupEntityבמקום Entity. (I66042)
תיקוני באגים
- הפעלת
IllegalStateExceptionכשמשתמשים במופע של ישות אחרי סגירה. (I90990, b/427314036, b/432063442)
גרסה 1.0.0-alpha06
13 באוגוסט 2025
הגרסאות androidx.xr.scenecore:scenecore:1.0.0-alpha06, androidx.xr.scenecore:scenecore-guava:1.0.0-alpha06 וגם androidx.xr.scenecore:scenecore-testing:1.0.0-alpha06 יוצאות. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
שינויים ב-API
- הסרת ההגבלה על ממשקי ה-API של
SceneCoreBaseEntityו-BaseScenePose(88c0ff6)
גרסה 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 מכילה את השמירות האלה.
תכונות חדשות
- נוסף API של רזולוציה נתפסת לישויות של חלוניות ול-
SurfaceEntities. (I118f6) PerceivedResolutionנוספו שיטות של קריאה חוזרת (callback) ל-Scene.kt כדי לעקוב אחרי הרזולוציה הנתפסת של החלונית הראשית של הפעילות ב-HSM. (I58084)-
SurfaceEntity– נוספה תמיכה באפליקציה כדי לבקש דגימת יתר בזמן היצירה. כך אפליקציות יכולות להשתמש במסנן דגימת-על להחלקת קצוות. (I06913) - נוספה מאפיין
recommendedContentBoxInFullSpaceאלActivitySpace. הפונקציה מחזירה תיבה מומלצת למיקום תוכן כשמפעילים את מצב המסך המלא. (I4cd6f) - נוסף constructor עמוס מדי עבור modifier שניתן להזזה, שמאפשר הצמדה. (Ic0c70)
שינויים ב-API
בוצעו שינויים נרחבים ב-API של SceneCore בגרסה הזו. השמות של כמה מחלקות השתנו או שהן הועברו למודולים אחרים, ורוב שיטות ה-getter/setter הוחלפו במאפייני Kotlin. אנחנו צופים שיהיו עוד שינויים משמעותיים ב-API עד לגרסת הבטא הראשונה שלנו, אבל הם לא יהיו משמעותיים או רבים כמו השינויים האלה.
- שינינו את השם של הכיתות והממשקים הבאים או העברנו אותם:
androidx.xr.scenecore.PixelDimensionsאלandroidx.xr.runtime.math.IntSize2d;androidx.xr.scenecore.Dimensionsאלandroidx.xr.runtime.math.FloatSize3d;androidx.xr.scenecore.ActivityPoseאלScenePose,androidx.xr.scenecore.ContentlessEntityאלGroupEntity,androidx.xr.scenecore.PlaneTypeאלPlaneOrientation;androidx.xr.scenecore.PlaneSemanticאלPlaneSemanticType. (Ifd405)(I3b622) (If534d) - מספר פונקציות setter של המאפיינים של
Sceneהוגדרו כפרטיות. לא הייתה כוונה שהן ישונו על ידי לקוחות שלSceneCore: activitySpace,activitySpaceRoot,mainPanelEntity,perceptionSpace,spatialCapabilities,spatialEnvironmentו-spatialUser. (I2f506) - ב-Entity: המאפיינים הבאים שונו:
get/setParent(),setContentDescription; המאפייןEntity.is/setHidden()הוצא משימוש, צריך להשתמש במאפייןEntity.is/setEnabledבמקומו. (Ibc4c6) - הוסרה המחלקה
androidx.xr.scenecore.BasePanelEntity. במקומה צריך להשתמש ישירות ב-PanelEntity. הוחלפו פונקציות getter ו-setter שלPanelEntityבמאפיינים. הנכסPanelEntity.sizeהשתנה מ-Float3dSizeל-Float2dSize. הוסרה השיטהandroidx.xr.scenecore.PanelEntity.getPixelDimensionsשהוצאה משימוש. במקומה צריך להשתמש ב-getSizeInPixels. (Icc174) - הטקסט
androidx.xr.scenecore.OnSpaceUpdatedListenerהוחלף בטקסטRunnable. (I19308) - החלפנו את
SpatialUser.getCameraViews()בנכס. (Ib0cc5) עבורExrImageו-GltfModel:שינינו את שיטותcreateכך שיהיו פונקציות השעיה. שינינו את פרמטרי היצירה כך שיקבלוUriאוPathבמקוםString. (Id8883) (I0d247), (I25706) - העברנו את
SpatialEnvironment.requestFullSpaceModeואתSpatialEnvironment.requestHomeSpaceModeאל Scene. לדוגמה, אפשר להשתמש ב-session.scene.requestFullSpaceMode()במקום ב-session.scene.spatialEnvironment.requestFullSpaceMode(). ל-addOnPassthroughOpacityChangedListenerול-addOnSpatialEnvironmentChangedListenerיש עכשיו שינויים שמאפשרים להשתמש ב-Executors אופציונליים. (I12fe0) (I6b21e) - הוסרו השיטות הבאות שהוצאו משימוש
SpatialEnvironment:togglePassthrough,setPassthrough,setPassthroughOpacity,getPassthroughMode,getPassthroughOpacity,setSkyboxו-setGeometry. בנוסף, הוסר סיווג שיצא משימושSpatialEnvironment.PassthroughMode(I927bd) (I927bd) (I927bd) - החלפנו את הפונקציות הבאות מסוג getter ו-setter במאפייני Kotlin:
getCurrentPassthroughOpacity(), get/setPassthroughOpacityPreference(), get/setSpatialEnvironmentPreference(), isSpatialEnvironmentPreferenceActive()(I33a7b) (Ie06e2) (Ie06e2)SpatialEnvironment - הסוג של
SpatialEnvironmentPreference.preferredPassthroughOpacityהשתנה מ-Float?ל-Float. הוא כבר לא מקבל ערכים ריקים (null). במקום זאת, נעשה שימוש ב-SpatialEnvironment.NO_PASSTHROUGH_OPACITY_PREFERENCEכדי לציין שאין העדפה לגבי אטימות. (I40107) - הפרמטר
windowBoundsPxעודכן ל-pixelDimensionsוהסוג שלו עודכן מ-Rect ל-IntSize2dבשיטת היצירה. (I1926e) - היצרן
SpatialEnvironmentהוא עכשיו פנימי (I75a51) - החלפנו את המחלקות
SpatialPointerIconNoneו-SpatialPointerIconCircleבאובייקטים נלוויםSpatialPointerIcon.NONEו-SpatialPointerIcon.CIRCLE(I416d2) - השדה
SpatialPointerIconבטבלהSpatialPointerComponentכבר לא יכול להיות ריק. כדי לציין שצריך להשתמש בסמל ברירת המחדל של המערכת לציון מיקום הסמן, צריך להשתמש ב-SpatialPointerIcon.DEFAULTבמקום ב-null. (I416d2) - המאפיין
androidx.xr.scenecore.AnchorEntity.getState()הוחלף במאפיין לקריאה בלבד. השמות של הפרמטרים במתודתAnchorEntity.create()שונו כדי שיהיו ברורים יותר. בשיטות שלAnchorEntityלהגדרת מאזינים ולהוספת מאזינים, המאזין הועבר לארגומנט האחרון כדי להפעיל למבדות נגררות. הטקסטandroidx.xr.scenecore.OnStateChangedListenerהוחלף בטקסטConsumer<AnchorEntity.State>עבורAnchorEntity. (I472e0) GltfModelEntity.getAnimationState()הוא עכשיו נכס. (I10b29)- החלפנו את
ActivitySpace.getBounds()בנכס. השם שלActivitySpace.addBoundsChangedListenerשונה ל-ActivitySpace.addOnBoundsChangedListener. הוחלףActivitySpace.setOnSpaceUpdatedListenerבשיטות להוספה או להסרה. (I4c956) - השם של
AnchorPlacement: planeTypeFilterשונה לanchorablePlaneOrientations, השם שלplaneSemanticFilterשונה לanchorablePlaneSemanticTypes. הוספה שלMovableComponentל-AnchorEntityאו ל-ActivitySpaceתחזיר את הערך false, השם שלMoveListenerשונה ל-EntityMoveListener shouldDisposeParentAnchor, השם שלEntityMoveListener shouldDisposeParentAnchorשונה ל-disposeParentOnReAnchor systemMovable, הפונקציהdisposeParentOnReAnchor systemMovableהוסרה מהפונקציהcreateלטובתcreeateCustomMovable,createSystemMovableו-createAnchorable(If11c4) - הוסר
SurfaceEntity.featherRadiusX/Yוהוסף קונספט של כיתהEdgeFeatheringParams. (Ic78fc) - השיטה
PanelEntity.enablePanelDepthTest()הוחלפה במאפייןpanelClippingConfig. מגדירים אתScene.panelClippingConfig = PanelClippingConfig(isDepthTestEnabled = true)כדי להפעיל את בדיקת העומק או מגדירים אתPanelClippingConfig(isDepthTestEnabled = false)כדי להשבית אותה. (I0cbe0) - הערך של
Scene.mainPanelEntityהוא עכשיוMainPanelEntityבמקוםPanelEntity(I7125a) - השם של השיטה
setFullSpaceModeשל Scene שונה ל-configureBundleForFullSpaceModeLaunch, והשם של השיטהsetFullSpaceModeWithEnvironmentInheritedשונה ל-configureBundleForFullSpaceModeLaunchWithEnvironmentInherited. (I0cbe0) (I0cbe0) - השמות של הערכים 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 - הסיווג
SpatialVisibilityהוחלף באובייקט ציבורי עם ערכי Int קבועים. הפרמטרsetSpatialVisibilityChangedListenerמקבל עכשיוConsumer<Int>במקוםConsumer<SpatialVisibility>(Ie7e8c) - הקבועים
PointerCaptureComponentשונו והועברו לאובייקטPointerCaptureComponent.PointerCaptureState(I9c7ac) - הטקסט
PointerCaptureComponents' StateListenerהוחלף בטקסטConsumer<Int>. (I9c7ac) - הטקסט
InputEventListenerהוחלף בטקסטConsumer<InputEvent>(I9c7ac) -
setPreferredAspectRatioעבר מ-Scene class לאובייקטSpatialWindow, והוא מקבל Session כפרמטר הראשון. (I7b717) -
Entity.setHidden()הוחלף ב-Entity.setEnabled()ו-Entity.isHidden()הוחלף ב-Entity.isEnabled(). setHidden(false)שווה ל-setEnabled(true)ול-isHidden() == !isEnabled(). (Icf0de) - הסוג של
Entity.contentDescriptionהשתנה מ-String ל-CharSequence. (Ie59be) -
Session.createו-Session.configureמחזירים עכשיוSecurityExceptionכשלא ניתנו הרשאות מספיקות, במקום להחזירSessionCreatePermissionsNotGrantedאוSessionConfigurePermissionsNotGranted. (I7c488) ResizableComponent.createnow requires aConsumer<ResizeEvent> ResizeEventListenerwas replaced withConsumer<ResizeEvent> ResizableComponent.sizewas renamed toResizableComponent.affordanceSize ResizableComponent.minimumSizewas renamed toResizableComponent.minimumEntitySize ResizableComponent.maximumSizewas renamed toResizableComponent.maximumEntitySize,ResizableComponent.autoHideContentwas renamed toResizableComponent.shouldAutoHideContentResizableComponent.forceShowResizeOverlaywas renamed toResizableComponent.shouldAlwaysShowOverlay(I97a2d)- הערך של
minSDKירד ל-24 עבורandroidx.xr.scenecoreו-androidx.xr.compose. עדיין נדרש API 34 בזמן הריצה לחבילות XR. (I17224) - הוסרה ההגבלה
RequiresApi(34)על כל חבילות Jetpack XR. המגבלה הזו הייתה מיותרת כי Jetpack XR זמין כרגע רק במכשירים עם רמת API 34 ומעלה. (Iae0f8) - ארטיפקט
SceneCoreהליבה (xr:scenecore:scenecore) יכיל רק ממשקי API אסינכרוניים בסגנון Kotlin. מפתחי Java יכולים להסתמך על הספרייהxr:scenecore:scenecore-guavaכדי לגשת לממשקי API תואמים. (If221b) - כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP 2.0.0 או גרסה חדשה יותר (Idb6b5)
- הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן אנוטציות של שימוש בטיפוסים. מפתחי Kotlin צריכים להשתמש בארגומנט הבא של הקומפיילר כדי לאכוף שימוש נכון:
-Xjspecify-annotations=strict(זו ברירת המחדל החל מגרסה 2.1.0 של Kotlin Compiler) (Ia8420) - כל השיטות האסינכרוניות שמחזירות
ListenableFutureהוחלפו בפונקציות השהיה של Kotlin. מפתחי Java שרוצים להשתמש בשיטות אסינכרוניות שמבוססות עלListenableFutureבמקום בפונקציות השהיה של Kotlin, צריכים עכשיו להשתמש בפונקציות הרחבה ב-:xr:scenecore-scenecore-guava. לדוגמה,GuavaExrImageמכיל את הפונקציות האסינכרוניות ExrImage ששקולות ל-Guava,GuavaScenePoseמכיל את הפונקציות האסינכרוניותScenePoseששקולות ל-Guava,GuavaGltfModelמכיל את הפונקציות האסינכרוניותGuava-equivalent GltfModelוכו'. (If7283) (I0af60) (If7283) (Ia8515) (I4efdf) (I54bbf) (I3467a) (I82a33)
תיקוני באגים
- העדכון של כלל
ProGuardב-Jetpack XR Scenecore נועד למנועAbstractMethodErrorבלקוחות שעברו מיניפיקציה. (I91a01) - תיקונים נוספים לתמיכה ב-Proguard minification ל-Jetpack XR
SceneCore(I4f47e) - תוקן באג שבו
InteractableComponentעלול לגרום לקריסה אםhitPositionב-HitInfo שלInputEventעלול לגרום לקריסה אםhitPositionשהוחזר מהמערכת היה null (I7a695) - השמות של ערכי המצב של ההגדרה שונו כדי לשקף את ההתנהגות שלהם. (I6d247)
- תוקנו בעיות שקשורות לשדה הראייה ול-
HitTestב-SceneCoreTestApp. (I2c51e) - תוקן באג בפונקציה
SpatialCapabilities.hasCapability()שגרם לה להחזיר true אם אחת מהיכולות שהועברו עם OR ברמת הביט הייתה true, במקום להחזיר true רק אם כולן היו true. (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"במניפסט של Android. -
StereoSurfaceEntityתומך עכשיו בהפעלה של MV-HEVC באמצעות שני ערכים חדשים שלStereoMode: MULTIVIEW_LEFT_PRIMARY ו-MULTIVIEW_RIGHT_PRIMARY. - הפונקציות
PanelEntity.setSizeו-PanelEntity.getSizeמחזירות עכשיו גדלים במרחב ההורה. - הפרמטר החדש
relativeToנוסף לפונקציותEntity.setPose,Entity.getPose,Entity.setScale,Entity.getScale,Entity.setAlphaו-Entity.getAlpha. הפרמטר הזה מאפשר לקבל או להגדיר ערכים ביחס למרחבים שונים. הערכים הנתמכים הם Parent, Activity ו-Real World spaces, וערך ברירת המחדל של הפרמטר הזה הוא Parent. - נוספו שיטות הרחבה של קריאה חוזרת (callback) לנראות מרחבית ל-
SessionExt.ktכדי לעקוב אחרי תנועת התוכן בסצנה בתוך שדה הראייה של המשתמש או מחוצה לו. - התוסף
setPointSourceParamsנוסף ל-SpatialAudioTrack, ועכשיו אפשר לעדכן את הפרמטרים אחרי שהמסלול נוצר. - נוספה מחלקה חדשה, Scene, עם הפניות לממשקי API של
Scenecore. הסצנה תהיה נגישה כמאפיין הרחבה של Session. פונקציות בתוךSessionExtהועברו ל-Scene, ולכן צריך לשנות את הייבוא. לדוגמה,SessionExt.getScene(session).addSpatialCapababilitiesChangedListenerלעומתSessionExt.addSpatialCapabilitiesChangedListener. -
ActivityPose.hitTestAsyncנוסף, והוא מאפשרhitTestנגד תוכן וירטואלי. - נוסף סוג רכיב חדש
SpatialPointerComponent, שמאפשר ללקוחות לציין את הסמל שמוצג עבור מצביע העכבר או להשבית את הסמל. נכון לעכשיו, אפשר לצרף את הרכיב הזה רק ל-PanelEntityמקרים. - השקנו מפעל חדש
PanelEntityשמקבל את המידות של הפאנל במטרים או בפיקסלים. הוסרה חלונית ישנה שלPanelEntityמפעל שמקבלת שני פרמטרים מסוג Dimension.
שינויים ב-API
- הוסרה ההגבלה
RequiresApi(34)על כל חבילות Jetpack XR. המגבלה הזו הייתה מיותרת כי 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). - הסשן ב-
SceneCoreנמחק לטובת הסשן ב-XR Runtime. - השם של
StereoSurfaceEntityשונה ל-SurfaceEntity. - ה-methods
Entity.setSizeו-Entity.getSizeהוסרו, ואותן ה-methods נוספו ל-PanelEntity. - השם של
PointSourceAttributesשונה ל-PointSourceParams. - השם של
SpatializerConstants.SOURCE\_TYPE\_BYPASSשונה ל-SpatializerConstants.SOURCE\_TYPE\_DEFAULT. - הגישה לישות
PointSourceParamsשונתה מגישה ציבורית לגישה פנימית. - מעכשיו צריך להגדיר את
PlaneTrackingModeב-Session.configure()כדי להשתמש ב-AnchorEntity.create. - עכשיו צריך להגדיר את
HeadTrackingModeב-Session.configure()כדי להשתמש בממשקי ה-API שלSpatialUser. - אם
ResizableComponentלא מצורף, יומן ברמת INFO יוצג במקום יומן ברמת ERROR. - מחלקת ה-FOV היא עכשיו מחלקת Kotlin רגילה.
- מפצלים את
Entity.ktכדי להציב כל סוג ישות קונקרטי בקובץ משלו. - כשיוצרים
PanelEntityחדשה, רוב התצוגות המפורטות משויכות מחדש לFrameLayout. כך קל יותר להשתמש ב-LayoutInspectorעם חלוניות מרחביות. - מופע
XrExtensionsשנעשה בו שימוש כרגע רשום עכשיו בפלטפורמה, בדרך הטובה ביותר האפשרית, כדי לעזור בניפוי באגים באפליקציה.
תיקוני באגים
- נוסף תיקון כדי למנוע קריסה שיכולה לקרות כשמעבירים
PanelEntityעםMovableComponentוAnchorPlacement - תוקנה בעיה שבה
ResizableComponentסיפק גדלים לא עדכניים בקריאה החוזרת (callback) של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 מכילה את השמירות האלה.
תכונות חדשות
- יש עכשיו תמיכה ב-Proguard minification לקוד Jetpack XR
תיקוני באגים
- תיקונים נוספים לתמיכה בהקטנה של Proguard עבור Jetpack XR SceneCore (I4f47e)
- העדכון של כלל
ProGuardב-Jetpack XR Scenecore נועד למנועAbstractMethodErrorבלקוחות שעברו מיניפיקציה. (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
- ה-factory methods הועברו מהמחלקה
Sessionל-companion method בכל סוג:- השדה
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)
- השדה
- ה-methods הבאות שהוצאו משימוש הוסרו:
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.setFullSpaceModeimport 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.getEntitiesOfTypeimport androidx.xr.scenecore.getEntityForRtEntity
- המרחב המשותף "
Session.unpersistAnchor(Anchor)" נמחק - המרחב המשותף "
Session.createPersistedAnchorEntity(UUID)" נמחק
בעיות מוכרות
- יכול להיות שהשינויים ב-
PanelEntity.setCornerRadius()וב-ActivityPanelEntity.setCornerRadius()ייכנסו לתוקף רק אחרי שתזיזו את החלונית. כדי לפתור את הבעיה, אפשר להזיז את החלונית למיקום הנוכחי שלה. - כשמתקשרים אל
BoundsChangedב-ActivitySpace, יכול להיות שחלק מה-ActivityPoseלא עודכנו בצורה נכונה. הוא יעודכן בשיחה הבאהOnSpaceUpdatedבתאריךActivitySpace
שינויים שעלולים לגרום לכשל ושינויים התנהגותיים
- לרכיבים
PanelEntityו-ActivityPanelEntityיהיה רדיוס פינות שמוגדר כברירת מחדל של 32dp או פחות, אם הרוחב או הגובה של החלונית קטנים מ-32dp
ממשקי API ויכולות חדשים
- השקנו את
StereoSurface.CanvasShape, שמאפשר ליצור לוחותSphericalו-Hemisphericalלעיבוד של מדיה סוחפת. - הפרמטר
StereoSurfaceEntity.create()מקבל עכשיו את הפרמטרCanvasShape. (הפרמטר הזה מתעלם כרגע, אבל ייעשה בו שימוש בגרסה עתידית) - הפרמטר
StereoSurfaceEntity.create()לא מקבל יותר את הפרמטרDimensions. האפליקציות צריכות לשלוט בגודל של אזור הציור באמצעות הגדרתCanvasShape -
StereoSurfaceEntityכולל חברCanvasShapeשאפשר להגדיר באופן דינמי. -
StereoSurfaceEntity.dimensionsהוא עכשיו מאפיין לקריאה בלבד. אפליקציות צריכות להגדיר אתCanvasShapeכדי לשנות את המאפיינים. - מעכשיו אפשר לאפס את
StereoModeב-StereoSurfaceEntityאחרי הבנייה.
שינויים אחרים
- הפחתנו את הערך של minSDK בזמן ההידור ל-24. כל ממשקי Jetpack XR API עדיין דורשים API ברמה 34 בזמן הריצה.
- מפעל הסשנים (Session factory) של
SceneCore(Session.create) כבר לא מפעיל כוונה לרכוש את ההרשאהSCENE_UNDERSTANDING. במקום זאת, אפליקציית הלקוח צריכה לבקש מהמשתמש את ההרשאות באופן מפורש, לפני שהיא מנסה ליצור את העוגנים. אם המשתמש לא יעניק את ההרשאה, יצירת העוגן תיכשל.
תיקוני באגים
- הפונקציה
getActivitySpacePose()תוקנה כך שהיא מתחשבת בסולםActivitySpaceומחזירה ערכי תרגום במטרים מותאמים, במקום להחזיר תמיד מטרים לא מותאמים. transformPoseToמשתמש עכשיו גם ביחידות הנכונות כדי לחשב שינויים בקואורדינטות כש-ActivitySpaceמעורב במקור או ביעד. - ה-skybox יוגדר עכשיו ל-skybox שחור לחלוטין בכל פעם שמועברת העדפה של skybox null באמצעות
setSpatialEnvironmentPreference(new SpatialEnvironmentPreference(null, geom)). כדי לחזור לברירת המחדל של המערכת לגבי תיבת השמיים והגיאומטריה, משתמשים ב-setSpatialEnvironmentPreference(null).
גרסה 1.0.0-alpha01
12 בדצמבר 2024
androidx.xr.scenecore:scenecore-* 1.0.0-alpha01 מופץ.
תכונות של הגרסה הראשונית השקנו גרסה ראשונית של Jetpack SceneCore למפתחים, שכוללת ספריית גרפים של סצנות תלת-ממדיות ליצירה ולעריכה של סצנות וסביבות מרתקות. הספרייה הזו מאפשרת לכם למקם ולסדר מודלים תלת-ממדיים ולוחות תוכן ביחס אחד לשני וביחס לסביבות הווירטואליות או לסביבות בעולם האמיתי.
- SpatialEnvironment: יצירת חוויות סוחפות לחלוטין באמצעות תמונת skybox או גיאומטריית מודל תלת-ממדי כרקע לסצנת ה-XR של הסביבה. אפשר גם להפעיל את התכונה 'העברה' כדי שהסצנה הווירטואלית תשתלב עם הסביבה האמיתית של המשתמש.
- PanelEntity: אפשר להוסיף תוכן דו-ממדי לסצנות תלת-ממדיות על ידי הטמעה של פריסות ופעילויות רגילות של Android בחלוניות מרחביות שיכולות לצוף או להיות מעוגנות למשטחים בעולם האמיתי.
- GltfModelEntity: אפשר למקם מודלים תלת-ממדיים בסצנה, להנפיש אותם ולבצע איתם אינטראקציה. SceneCore תומך בפורמט הקובץ glTF כדי להקל על השילוב עם מודלים קיימים.
- SpatialAudio: מוסיפים מקורות אודיו סביבתיים ונקודתיים לסצנה תלת-ממדית כדי ליצור צליל מרחבי סוחף.
- StereoSurfaceEntity: SceneCore תומך בהעברת תוכן שמעובד ל-Android Surface לעין ימין או לעין שמאל. אפשר להשתמש בזה כדי להציג תוכן סטריאוסקופי בפורמט של תמונה לצד תמונה או תמונה מעל תמונה, כמו תמונות סטריאו, סרטוני תלת-ממד או ממשקי משתמש אחרים שמוצגים באופן דינמי. אפליקציות צריכות להשתמש ב-MediaPlayer או ב-ExoPlayer לפענוח סרטונים.
- מערכת רכיבים: SceneCore מציעה מערכת רכיבים חזקה וגמישה להוספת יכולות לתוכן ה-XR שלכם, כולל אפשרויות למשתמשים להזיז מודלים ולוחות, לשנות את הגודל שלהם ולקיים איתם אינטראקציה.
- הצמדה: כשמפעילים את התכונה 'העברה', אפשר להצמיד חלוניות ומודלים למשטחים אמיתיים, וכך המשתמשים יכולים לשלב תוכן וירטואלי בצורה חלקה בסביבה שלהם בעולם האמיתי.
- תנוחת המשתמש: גישה למיקום המשתמש בסצנה הווירטואלית, כדי להתאים את התוכן למיקום המשתמש.
- SpatialCapabilities: אפשר ליצור אפליקציות שמותאמות באופן מלא ומנצלות את היכולות המרחביות כשהן זמינות, כמו מיקום תלת-ממדי של תוכן ממשק המשתמש. בנוסף, האפליקציה יכולה לעקוב אחרי שינויים ביכולות בזמן שהיא פועלת, כדי לשנות את חוויית השימוש בהתאם לאופן שבו המשתמש משתמש במכשיר Android XR.
בעיות מוכרות
- נכון לעכשיו, נדרשת גרסת minSDK של 30 כדי להשתמש ב-Jetpack SceneCore. כפתרון עקיף, מוסיפים את רשומת המניפסט הבאה
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>כדי שיהיה אפשר לבנות ולהפעיל עם minSDK בערך 23. - סשן יכול להיות לא תקף במצבים שונים שבהם הפעילות נוצרת מחדש באופן אוטומטי, כולל שינוי הגודל של חלונית ראשית, חיבור ציוד היקפי ומעבר בין מצב בהיר למצב כהה. אם נתקלתם בבעיות שקשורות לביטול תוקף של סשנים, יש כמה פתרונות אפשריים: אפשר להגדיר את החלונית הראשית ככזו שלא ניתן לשנות את הגודל שלה, להשתמש בישות של חלונית דינמית, להשבית את יצירת הפעילות מחדש לשינויים ספציפיים בהגדרות או להשבית את השינויים של ערכות הנושא במצב בהיר או במצב כהה.
- אין תמיכה ברכיבים שאפשר להזיז ולשנות את הגודל שלהם ב-GltfEntity.
- אין תמיכה ב-Entity.getSize() ב-GltfEntity.
- אפליקציות Jetpack XR צריכות לבקש הרשאת
android.permission.SCENE_UNDERSTANDINGב-AndroidManifest. - אפשר ליצור סשן רק במכשיר Android XR. בשלב הזה, אם תיצרו סשן ותנסו להשתמש בו במכשיר שאינו Android XR, תקבלו RuntimeException.
- הגדרת ה-skybox כ-null באמצעות `SpatialEnvironment.setSpatialEnvironmentPreference() לא יוצרת skybox שחור מלא כמו שמתואר במסמכים. יכול להיות שהתוצאה תהיה ברירת המחדל של ה-skybox במערכת או שלא יחול שינוי ב-skybox הנוכחי.
- לקוחות SceneCore צריכים להוסיף את
implementation(“com.google.guava:listenablefuture-1.0”)להגדרת Gradle של התלויות של האפליקציה שלהם. בגרסה עתידית, scenecore תכלול את הספרייה הזו כapiתלות, כך שהלקוחות לא יצטרכו להצהיר עליה באופן מפורש. - SceneCore כולל בטעות את
com.google.guava:guava-31.1-androidו-com.google.protobuf:protobuf-javaliteכתלויות טרנזיטיביות. אם זה גורם לשגיאות כפולות בכיתה ב-build, אפשר להחריג את שתי התלויות האלה בבטחה. - אם האפליקציה שלכם משתמשת ב-SceneCore ומופעל בה ProGuard, היא תקרוס כשתיצרו Session. כפתרון עקיף, אפשר להשבית את ProGuard. מידע נוסף על הפעלת ProGuard זמין במדריך הזה.