Roku Tracker 0.1.0 released

We are very excited to announce the first release of our tracker for Roku devices. The BrightScript package is published on NPM as @snowplow/roku-tracker and can be used with ropm. It may also be included in BrightScript apps directly using releases published on Github.

Key features

The tracker brings the following functionality:

  • Manual tracking of self-describing, structured, and screen view events.
  • Support for multiple tracker namespaces.
  • Events are tracked asynchronously on background tracker threads.
  • Simple retry mechanism for failed requests.
  • Example app (video player) with tracking.
  • Tested using automated unit and integration tests (using Snowplow Micro).
  • Implemented using the latest stack from Roku developer community (BrighterScript language, roku package manager, rooibos testing suite, roku-log logging)

Quickstart

Install using ropm into your project (or download and copy package files to your project):

ropm install snowplow@npm:@snowplow/roku-tracker

Use the tracker from your BrightScript channel:

' Mount to global scope in the init method of your main scene
m.global.AddField("snowplow", "node", false)
m.global.snowplow = CreateObject("roSGNode", "snowplow_Snowplow")

' Initialize the tracker with a collector endpoint
m.global.snowplow.init = {
    network: {
        collector: "https://..."
    }
}

' Track an event
m.global.snowplow.screenView = {
    id: "screen23",
    name: "HUD > Save Game"
}

Check out the Snowplow Docs section for more information about setting up and using the tracker.

Feedback and contributing

We are very keen to hear your feedback to shape the future releases of this tracker! Please feel free to open discourse topics with ideas, and add issues and bug reports to the repo.

We also welcome contributions and PRs. If in doubt, open an issue or a discourse post to ask about your contribution - important contributions - especially bugfixes - will be prioritised.

7 Likes