feat: report which player is showing quotes - #16
Merged
Conversation
Adopts the kit's player telemetry, so the app catalogue can be planned against the devices that actually run it. GA cannot answer that today: its own device dimensions put the overwhelming majority of signage traffic into a single "Safari / Linux / smart tv" bucket, because a QtWebEngine player looks like Safari to GA's user-agent parser. Sends the profile as GA4 user properties plus a player_detected event. No configuration is sent: this app takes no URL settings, so there is nothing about the screen's setup to report, and inventing a dimension for it would just cost a registration for a constant. Pins signage-kit 2026.8.2. Verified: typecheck, lint, test and build all clean, and the built bundle carries player_detected, user_properties and the vendor signatures.
This file contains hidden or 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
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.
Adopts the kit's player telemetry (
Screenly-Labs/signage-kit#18,#21). Same shape as the reference static adoption inScreenly-Labs/timer#16.Sends the player profile as GA4 user properties plus a
player_detectedevent. User scope is the point: on an unattended screen one GA4 user is one device, so the vendor attaches to every event that screen sends andtotalUsersbyplayer_vendoris a device census directly.No configuration sent, deliberately
This app takes no URL settings — its content is fixed. So there is nothing about the screen's setup worth reporting, and adding a dimension for it would spend a registration on a constant. The five URL-configured apps (birthday, menu-board, opening-hours, team-milestone, world-clock) do send config; these five do not.
Why this is needed
On the one property already receiving telemetry, 380,999 of 401,790 devices report as
Safari / Linux / smart tvwithdeviceModel"(not set)". Nothing in GA's standard dimensions separates a BrightSign from an Anthias.Verification
typecheck,lint,testandbuildall clean. I checked the built bundle rather than trusting the import: it carriesplayer_detected,user_propertiesand the vendor signatures. No build artefacts crept into the diff.