/pioneer-v2-core-example

An example core data add-on for Pioneer v2.

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

Pioneer patch

An example web extension for Pioneer v2 core data add-on.

This requires Firefox 80.0 or newer, which supports the new browser.telemetry.submitEncryptedPing WebExtension API.

NOTE - Only unbranded Firefox builds such as Nightly will be able to load privileged APIs without a special signing key.

web-ext run --pref=extensions.experiments.enabled=true \
            --pref=toolkit.telemetry.pioneerId="${PIONEER_ID}" \
            --browser-console \
            --firefox-binary "${FIREFOX_BINARY}"

To see extra details on what Firefox Telemetry is doing, enable Trace log level with --pref=toolkit.telemetry.log.level=Trace.

After the browser window appears, a toolbar button for Pioneer should be present which when pressed will log this to the Browser Console: Telemetry submitted, check about:telemetry. To see the submitted ping, open about:telemetry then in the upper-left press on "current data", then select "Archived ping data", which will allow selection of ping type and should include the "pioneer-study" type. The "Raw JSON" link at the bottom of the page will show the entire ping as sent to the Mozilla Telemetry servers.

The schema for encrypted payloads sent via browser.telemetry.submitEncryptedPing is defined in the Mozilla pipeline schema repository. In this case pioneer-debug is the schema namespace and debug is the schema name. These are defined in manifest.json.

The schema for the new manifest.json entries for the telemetry key is defined here.