Skip to content

feat: report which player is showing quotes - #16

Merged
vpetersson-bot merged 1 commit into
masterfrom
feat/player-telemetry
Aug 12, 2026
Merged

feat: report which player is showing quotes#16
vpetersson-bot merged 1 commit into
masterfrom
feat/player-telemetry

Conversation

@vpetersson-bot

Copy link
Copy Markdown
Contributor

Adopts the kit's player telemetry (Screenly-Labs/signage-kit#18, #21). Same shape as the reference static adoption in Screenly-Labs/timer#16.

trackPlayer(detectPlayer(), { app: 'quotes' })

Sends the player profile as GA4 user properties plus a player_detected event. 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 and totalUsers by player_vendor is 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 tv with deviceModel "(not set)". Nothing in GA's standard dimensions separates a BrightSign from an Anthias.

Verification

typecheck, lint, test and build all clean. I checked the built bundle rather than trusting the import: it carries player_detected, user_properties and the vendor signatures. No build artefacts crept into the diff.

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.
@vpetersson-bot
vpetersson-bot merged commit 4daa1f4 into master Aug 12, 2026
1 check passed
@vpetersson-bot
vpetersson-bot deleted the feat/player-telemetry branch August 12, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant