-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add VisionOS events and entities #857
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
matus-tomlein
changed the base branch from
release/6.0.0
to
issue/support_visionos
January 15, 2024 08:25
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice work!
matus-tomlein
force-pushed
the
issue/support_visionos
branch
3 times, most recently
from
January 16, 2024 09:34
fe21c0b
to
50594ed
Compare
mscwilson
force-pushed
the
issue/visionos_events_entities
branch
from
January 18, 2024 12:10
207b8f7
to
e8151d5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! I had a few comments about some small decisions, but otherwise it LGTM!
matus-tomlein
pushed a commit
that referenced
this pull request
Jan 19, 2024
* Add new VisionOS classes * Add tests * Update demo * Standardise ID capitalisation * Automatically track window group entity with OpenWindow and DismissWindow events * Make string IDs the main property * Add ImmersiveSpaceStateMachine * Update demo app * Update following merge * Add immersive space entity to open event when autotracking is off * Small review changes * Always update state on open event * Correct visionOS capitalisation * Add immersive space entity by default * Generate viewId UUID for immersive space
matus-tomlein
pushed a commit
that referenced
this pull request
Jan 19, 2024
* Add new VisionOS classes * Add tests * Update demo * Standardise ID capitalisation * Automatically track window group entity with OpenWindow and DismissWindow events * Make string IDs the main property * Add ImmersiveSpaceStateMachine * Update demo app * Update following merge * Add immersive space entity to open event when autotracking is off * Small review changes * Always update state on open event * Correct visionOS capitalisation * Add immersive space entity by default * Generate viewId UUID for immersive space
matus-tomlein
pushed a commit
that referenced
this pull request
Feb 1, 2024
* Add new VisionOS classes * Add tests * Update demo * Standardise ID capitalisation * Automatically track window group entity with OpenWindow and DismissWindow events * Make string IDs the main property * Add ImmersiveSpaceStateMachine * Update demo app * Update following merge * Add immersive space entity to open event when autotracking is off * Small review changes * Always update state on open event * Correct visionOS capitalisation * Add immersive space entity by default * Generate viewId UUID for immersive space
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This work follows PR #830 that added support for VisionOS as a platform.
In this PR, four new event types are added to use in a VisionOS app:
OpenWindowEvent
,DismissWindowEvent
,OpenImmersiveSpaceEvent
, andDismissImmersiveSpaceEvent
.The open and dismiss window events are based around the window group context entity. The events themselves don't contain any data. The window group entity is automatically added to open and dismiss window events, but can also be manually added to any other Snowplow event type.
For immersive spaces, since only one immersive space can be active at one time, we were able to include automatic immersive space tracking. When an
OpenImmersiveSpaceEvent
is tracked, that event and all subsequent events have an immersive space context entity attached. This stops after aDismissImmersiveSpaceEvent
is tracked. There's a new tracker configuration option,immersiveSpaceContext
, for this behaviour (it's off by default).We've added Apple's Hello World VisionOS demo app to the Examples, and tracked user activity based on the new events, plus ScreenViews.