环境

环境由预期具有性能和其他行为特征且不太可能经常变化的数据组成。

对大多数这些数据点的更改(在可能和合理的情况下)都会被检测到,并会导致 “main” Ping 中的会话拆分。环境数据也可能由其他 Ping 类型提交。

注意:由于隐私问题,并非所有 Ping 类型都会提交这些数据。此数据和其他数据在 数据收集策略 下进行检查。

环境的某些部分必须在启动时异步获取。我们不希望其他遥测组件阻塞等待环境,因此某些项目可能在异步获取完成之前缺失。这目前影响以下部分

  • 配置文件

  • 附加组件

  • 服务

结构

{
  build: {
    applicationId: <string>, // nsIXULAppInfo.ID
    applicationName: <string>, // "Firefox"
    architecture: <string>, // e.g. "x86", build architecture for the active build
    buildId: <string>, // e.g. "20141126041045"
    version: <string>, // e.g. "35.0"
    vendor: <string>, // e.g. "Mozilla"
    displayVersion: <string>, // e.g. "35.0b1"
    platformVersion: <string>, // e.g. "35.0"
    xpcomAbi: <string>, // e.g. "x86-msvc"
    updaterAvailable: <bool>, // Whether the app was built with app update available (MOZ_UPDATER)
  },
  settings: {
    addonCompatibilityCheckEnabled: <bool>, // Whether application compatibility is respected for add-ons
    blocklistEnabled: <bool>, // true on failure
    isDefaultBrowser: <bool>, // whether Firefox is the default browser. On Windows, this is operationalized as whether Firefox is the default HTTP protocol handler and the default HTML file handler.
    defaultSearchEngine: <string>, // e.g. "yahoo"
    defaultSearchEngineData: {, // data about the current default engine
      name: <string>, // engine name, e.g. "Yahoo"; or "NONE" if no default
      loadPath: <string>, // where the engine line is located; missing if no default
      origin: <string>, // 'default', 'verified', 'unverified', or 'invalid'; based on the presence and validity of the engine's loadPath verification hash.
      submissionURL: <string> // set for default engines or well known search domains
    },
    defaultPrivateSearchEngine: <string>, // e.g. "duckduckgo"
    defaultPrivateSearchEngine: {,
      // data about the current default engine for private browsing mode. Same as defaultSearchEngineData.
    },
    launcherProcessState: <integer>, // optional, values correspond to values of mozilla::LauncherRegistryInfo::EnabledState enum
    e10sEnabled: <bool>, // whether e10s is on, i.e. browser tabs open by default in a different process
    e10sMultiProcesses: <integer>, // Maximum number of processes that will be launched for regular web content
    fissionEnabled: <bool>, // whether fission is enabled this session, and subframes can load in a different process
    telemetryEnabled: <bool>, // false on failure
    locale: <string>, // e.g. "it", null on failure
    intl: {
      requestedLocales: [ <string>, ... ], // The locales that are being requested.
      availableLocales: [ <string>, ... ], // The locales that are available for use.
      appLocales: [ <string>, ... ], // The negotiated locales that are being used.
      systemLocales: [ <string>, ... ], // The locales for the OS.
      regionalPrefsLocales: [ <string>, ... ], // The regional preferences for the OS.
      acceptLanguages: [ <string>, ... ], // The languages for the Accept-Languages header.
    },
    update: {
      channel: <string>, // e.g. "release", null on failure
      enabled: <bool>, // true on failure
      autoDownload: <bool>, // true on failure
      background: <bool>, // Indicates whether updates may be installed when Firefox is not running.
    },
    userPrefs: {
      // Only prefs which are changed are listed in this block
      "pref.name.value": value // some prefs send the value
      "pref.name.url": "<user-set>" // For some privacy-sensitive prefs
        // only the fact that the value has been changed is recorded
    },
    attribution: { // optional, only present if the installation has attribution data
      // all of these values are optional.
      source: <string>, // referring partner domain, when install happens via a known partner
      medium: <string>, // category of the source, such as "organic" for a search engine
      campaign: <string>, // identifier of the particular campaign that led to the download of the product
      content: <string>, // identifier to indicate the particular link within a campaign
      variation: <string>, // name/id of the variation cohort used in the enrolled funnel experiment
      experiment: <string>, // name/id of the enrolled funnel experiment
      ua: <string>, // identifier derived from the user agent downloading the installer, e.g., chrome, Google Chrome 123
      dltoken: <string>, // Unique token created at Firefox download time. ex: c18f86a3-f228-4d98-91bb-f90135c0aa9c
      msstoresignedin: <boolean>, // optional, only present if the installation was done through the Microsoft Store, and was able to retrieve the "campaign ID" it was first installed with. this value is "true" if the user was signed into the Microsoft Store when they first installed, and false otherwise
      dlsource: <string>, // identifier that indicate where installations of Firefox originate
    },
    sandbox: {
      effectiveContentProcessLevel: <integer>,
      contentWin32kLockdownState: <integer>,
    }
  },
  // Optional, missing if fetching the information failed or had not yet completed.
  services: {
    // True if the user has a firefox account
    accountEnabled: <bool>,
    // True if the user has sync enabled.
    syncEnabled: <bool>
  },
  profile: {
    creationDate: <integer>, // integer days since UNIX epoch, e.g. 16446
    resetDate: <integer>, // integer days since UNIX epoch, e.g. 16446 - optional
    firstUseDate: <integer>, // integer days since UNIX epoch, e.g. 16446 - optional
    recoveredFromBackup: <integer>, // integer days since UNIX epoch, e.g. 16446 - optional
  },
  partner: { // This section may not be immediately available on startup
    distributionId: <string>, // pref "distribution.id", null on failure
    distributionVersion: <string>, // pref "distribution.version", null on failure
    partnerId: <string>, // pref mozilla.partner.id, null on failure
    distributor: <string>, // pref app.distributor, null on failure
    distributorChannel: <string>, // pref app.distributor.channel, null on failure
    partnerNames: [
      // list from prefs app.partner.<name>=<name>
    ],
  },
  system: {
    memoryMB: <number>,
    virtualMaxMB: <number>, // windows-only
    isWow64: <bool>, // windows-only
    isWowARM64: <bool>, // windows-only
    hasWinPackageId: <bool>, // windows-only
    winPackageFamilyName: <string>, // windows-only
    cpu: {
        count: <number>,  // desktop only, e.g. 8, or null on failure - logical cpus
        cores: <number>, // desktop only, e.g., 4, or null on failure - physical cores
        vendor: <string>, // desktop only, e.g. "GenuineIntel", or null on failure
        name: <string>, // desktop only, e.g. "Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz",
                        // or null on failure
        family: <number>, // desktop only, null on failure
        model: <number, // desktop only, null on failure
        stepping: <number>, // desktop only, null on failure
        l2cacheKB: <number>, // L2 cache size in KB, only on windows & mac
        l3cacheKB: <number>, // desktop only, L3 cache size in KB
        speedMHz: <number>, // desktop only, cpu clock speed in MHz
        extensions: [
          <string>,
          ...
          // as applicable:
          // "hasMMX", "hasSSE", "hasSSE2", "hasSSE3", "hasSSSE3",
          // "hasSSE4A", "hasSSE4_1", "hasSSE4_2", "hasAVX", "hasAVX2",
          // "hasAES", "hasEDSP", "hasARMv6", "hasARMv7", "hasNEON"
        ],
    },
    device: { // This section is only available on mobile devices.
      model: <string>, // the "device" from FHR, null on failure
      manufacturer: <string>, // null on failure
      hardware: <string>, // null on failure
      isTablet: <bool>, // null on failure
    },
    os: {
        name: <string>, // "Windows_NT" or null on failure
        version: <string>, // e.g. "6.1", null on failure
        kernelVersion: <string>, // android only or null on failure
        servicePackMajor: <number>, // windows only or null on failure
        servicePackMinor: <number>, // windows only or null on failure
        windowsBuildNumber: <number>, // windows only or null on failure
        windowsUBR: <number>, // windows 10 only or null on failure
        installYear: <number>, // windows only or null on failure
        locale: <string>, // "en" or null on failure
        hasPrefetch: <bool>, // windows only, or null on failure
        hasSuperfetch: <bool>, // windows only, or null on failure
        distro: <string>, // linux only, or null on failure
        distroVersion: <string>, // linux only, or null on failure
    },
    hdd: {
      profile: { // hdd where the profile folder is located
          model: <string>, // windows only or null on failure
          revision: <string>, // windows only or null on failure
          type: <string>, // "SSD" or "HDD" windows only or null on failure
      },
      binary:  { // hdd where the application binary is located
          model: <string>, // windows only or null on failure
          revision: <string>, // windows only or null on failure
          type: <string>, // "SSD" or "HDD" windows only or null on failure
      },
      system:  { // hdd where the system files are located
          model: <string>, // windows only or null on failure
          revision: <string>, // windows only or null on failure
          type: <string>, // "SSD" or "HDD" windows only or null on failure
      },
    },
    gfx: {
        D2DEnabled: <bool>, // null on failure
        DWriteEnabled: <bool>, // null on failure
        ContentBackend: <string> // One of "Cairo", "Skia", or "Direct2D 1.1"
        Headless: <bool>, // null on failure
        TargetFrameRate: <number>, // frame rate in Hz, typically 60 or more
        //DWriteVersion: <string>, // temporarily removed, pending bug 1154500
        adapters: [
          {
            description: <string>, // e.g. "Intel(R) HD Graphics 4600", null on failure
            vendorID: <string>, // null on failure
            deviceID: <string>, // null on failure
            subsysID: <string>, // null on failure
            RAM: <number>, // in MB, null on failure
            driver: <string>, // null on failure
            driverVendor: <string>, // null on failure
            driverVersion: <string>, // null on failure
            driverDate: <string>, // null on failure
            GPUActive: <bool>, // currently always true for the first adapter
          },
          ...
        ],
        // Note: currently only added on Desktop. On Linux, only a single
        // monitor is returned for the primary screen.
        monitors: [
          {
            screenWidth: <number>,  // screen width in pixels
            screenHeight: <number>, // screen height in pixels
            refreshRate: <number>,  // refresh rate in hertz (present on Windows only).
                                    //  (values <= 1 indicate an unknown value)
            pseudoDisplay: <bool>,  // networked screen (present on Windows only)
            scale: <number>,        // backing scale factor (present on Mac only)
          },
          ...
        ],
        features: {
          compositor: <string>,     // Layers backend for compositing (e.g. "d3d11", "none", "opengl", "webrender")

          // Each the following features can have one of the following statuses:
          //   "unused"      - This feature has not been requested.
          //   "unavailable" - Safe Mode or OS restriction prevents use.
          //   "blocked"     - Blocked due to an internal condition such as safe mode.
          //   "blacklisted" - Blocked due to a blacklist restriction.
          //   "denied"      - Blocked due to allowlist restrictions.
          //   "disabled"    - User explicitly disabled this default feature.
          //   "failed"      - This feature was attempted but failed to initialize.
          //   "available"   - User has this feature available.
          // The status can also include a ":" followed by a reason
          // e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973"
          d3d11: { // This feature is Windows-only.
            status: <string>,
            warp: <bool>,           // Software rendering (WARP) mode was chosen.
            textureSharing: <bool>  // Whether or not texture sharing works.
            version: <number>,      // The D3D11 device feature level.
            blacklisted: <bool>,    // Whether D3D11 is blacklisted; use to see whether WARP
                                    // was blacklist induced or driver-failure induced.
          },
          d2d: { // This feature is Windows-only.
            status: <string>,
            version: <string>,      // Either "1.0" or "1.1".
          },
          gpuProcess: { // Out-of-process compositing ("GPU process") feature
            status: <string>, // "Available" means currently in use
          },
          hwCompositing: { // hardware acceleration. i.e. whether we try using the GPU
            status: <string>
          },
          wrCompositor: { // native OS compositor (CA, DComp, etc.)
            status: <string>
          }
          wrSoftware: { // Software backend for WebRender, only computed when 'compositor' is 'webrender'
            status: <string>
          }
          openglCompositing: { // OpenGL compositing.
            status: <string>
          }
        },
      },
    appleModelId: <string>, // Mac only or null on failure
    sec: { // This feature is Windows 8+ only
      antivirus: [ <string>, ... ],    // null if unavailable on platform: Product name(s) of registered antivirus programs
      antispyware: [ <string>, ... ],  // null if unavailable on platform: Product name(s) of registered antispyware programs
      firewall: [ <string>, ... ],     // null if unavailable on platform: Product name(s) of registered firewall programs
    },
  },
  addons: {
    activeAddons: { // the currently enabled add-ons
      <addon id>: {
        blocklisted: <bool>,
        description: <string>, // null if not available
        name: <string>,
        userDisabled: <bool>,
        appDisabled: <bool>,
        version: <string>,
        scope: <integer>,
        type: <string>, // "extension", "locale", ...
        foreignInstall: <bool>,
        hasBinaryComponents: <bool>,
        installDay: <number>, // days since UNIX epoch, 0 on failure
        updateDay: <number>, // days since UNIX epoch, 0 on failure
        signedState: <integer>, // whether the add-on is signed by AMO
        signedTypes: <string>, // JSON-stringified array of signature types found (see nsIAppSignatureInfo's SignatureAlgorithm enum)
        isSystem: <bool>, // true if this is a System Add-on
        isWebExtension: <bool>, // true if this is a WebExtension
        multiprocessCompatible: <bool>, // true if this add-on does *not* require e10s shims
      },
      ...
    },
    theme: { // the active theme
      id: <string>,
      blocklisted: <bool>,
      description: <string>,
      name: <string>,
      userDisabled: <bool>,
      appDisabled: <bool>,
      version: <string>,
      scope: <integer>,
      foreignInstall: <bool>,
      hasBinaryComponents: <bool>
      installDay: <number>, // days since UNIX epoch, 0 on failure
      updateDay: <number>, // days since UNIX epoch, 0 on failure
      signedState: <integer>, // whether the add-on is signed by AMO
      signedTypes: <string>, // JSON-stringified array of signature types found (see nsIAppSignatureInfo's SignatureAlgorithm enum)
    },
    activeGMPlugins: {
        <gmp id>: {
            version: <string>,
            userDisabled: <bool>,
            applyBackgroundUpdates: <integer>,
        },
        ...
    },
  },
  experiments: {
    "<experiment id>": { branch: "<branch>", type: "<type>", enrollmentId: "<id>" },
    // ...
  }
}

构建

构建 ID

从 mozilla.org 下载的 Firefox 构建使用 14 位构建 ID。包含在其他发行版中的构建可能具有不同的格式(例如,只有 10 位数字)。

设置

默认搜索引擎

注意:已弃用,请改用 defaultSearchEngineData。

包含默认搜索引擎提供程序的字符串标识符或名称。这在搜索服务初始化之前收集的环境数据中不会出现。

如果不存在默认搜索引擎,则可能会出现特殊值 NONE

如果存在默认搜索引擎但无法确定其标识符,则可能会出现特殊值 UNDEFINED

此字段的内容为 Services.search.defaultEngine.identifier(如果已定义)或 "other-" + Services.search.defaultEngine.name(如果未定义)。换句话说,没有 .identifier 的搜索引擎以 other- 为前缀。

defaultSearchEngineData

包含识别当前设置为默认引擎的数据。

该对象包含

  • 一个 name 属性,包含引擎的名称,如果当前没有引擎设置为默认,则为 NONE

  • 一个 loadPath 属性:引擎 xml 文件的匿名路径,例如 jar:[app]/omni.ja!browser/engine.xml(其中“browser”是 chrome 包的名称,而不是文件夹)[profile]/searchplugins/engine.xml [distribution]/searchplugins/common/engine.xml [other]/engine.xml [other]/addEngineWithDetails [other]/addEngineWithDetails:extensionID [http/https]example.com/engine-name.xml [http/https]example.com/engine-name.xml:extensionID

  • 一个 origin 属性:对于内置或来自发行合作伙伴的引擎,该值将为 default,对于具有有效验证哈希的用户安装引擎,该值将为 verified,对于没有验证哈希的非默认引擎,该值将为 unverified,对于具有损坏验证哈希的引擎,该值将为 invalid

  • 一个 submissionURL 属性,包含我们将用于搜索的 HTTP URL。出于隐私考虑,我们不会为用户安装的引擎记录此属性。

如果 nameNONE,则 loadPathsubmissionURL 不会出现。

defaultPrivateSearchEngineData

此属性包含识别当前设置为隐私浏览模式默认引擎的数据。这可能与为普通浏览模式设置的引擎相同。

此对象包含与 defaultSearchEngineData 相同的信息。仅当 browser.search.separatePrivateDefault 首选项设置为 true 时才会报告此对象。

用户首选项

此对象包含用户首选项。

对象中的每个键都是首选项的名称。键的值取决于收集首选项的策略。有三种这样的策略:“value”、“state”和“default value”。对于根据“value”策略收集的首选项,该值将是首选项的值。对于根据“state”策略收集的首选项,该值将是一个不透明的标记,仅表示首选项具有用户值。“state”策略因此在用户隐私受到关注时使用。对于根据“default value”策略收集的首选项,该值将是首选项的默认值(如果首选项存在)。如果首选项不存在,则没有键或值。

以下是 收集的首选项 的部分列表。

  • browser.migrate.interactions.bookmarks:如果用户之前从其他浏览器导入过书签,则为 True。此首选项在配置文件重置期间会被转移。

  • browser.migrate.interactions.csvpasswords:如果用户通过迁移向导从 CSV 文件导入过密码,则为 True。此首选项在配置文件重置期间会被转移。

  • browser.migrate.interactions.history:如果用户之前从其他浏览器导入过历史记录,则为 True。此首选项在配置文件重置期间会被转移。

  • browser.migrate.interactions.passwords:如果用户之前从其他浏览器导入过密码,则为 True。此首选项在配置文件重置期间会被转移。

  • browser.privatebrowsing.autostart:如果用户启用了永久隐私浏览模式,则为 True。默认为 false。

  • browser.search.suggest.enabled:Firefox 中所有位置(搜索栏、URL 栏等)的搜索建议的“主开关”。默认为 true。

  • browser.urlbar.autoFill:URL 栏中是否启用自动填充的全局首选项。如果为 false,则禁用所有类型的自动填充。

  • browser.urlbar.autoFill.adaptiveHistory.enabled:如果 URL 栏中启用了自适应历史记录自动填充,则为 True。

  • browser.urlbar.dnsResolveSingleWordsAfterSearch:控制何时在搜索单字搜索字符串后对其进行 DNS 解析。如果字符串被解析为有效的主机,则显示“您是否要转到‘主机’”提示。0:从不解析,1:使用启发式方法,2. 始终解析。默认为 0。

  • browser.urlbar.quicksuggest.onboardingDialogChoice:用户在 Firefox Suggest 入门对话框中的选择。如果对话框显示多次,则记录用户最近的选择。值如下所示。空字符串:用户尚未做出选择(例如,因为对话框尚未显示)。accept_2 在用户接受对话框并选择加入时记录,reject_2 在用户拒绝对话框并选择退出时记录,learn_more_1 在用户点击介绍部分的“了解更多”时记录(用户保持选择退出状态),learn_more_2 在用户点击主要部分的“了解更多”时记录(用户保持选择退出状态),close_1 在用户点击介绍部分的关闭按钮时记录(用户保持选择退出状态),not_now_2 在用户点击主要部分的“稍后”链接时记录(用户保持选择退出状态),dismiss_1 在用户关闭介绍部分的对话框时记录(用户保持选择退出状态),dismiss_2 在用户关闭主要部分的对话框时记录(用户保持选择退出状态)。

  • browser.urlbar.quicksuggest.dataCollection.enabled:用户是否选择加入 Firefox Suggest 的数据收集。当用户选择加入 Firefox Suggest 入门对话框模式时,此首选项设置为 true。用户还可以使用 Firefox Suggest 首选项 UI 中的切换开关切换此首选项。

  • browser.urlbar.showSearchTerms.enabled:如果在默认搜索引擎结果页面上显示 URL 栏中的搜索词,则为 True。

  • browser.urlbar.suggest.quicksuggest.nonsponsored:如果 URL 栏中启用了非赞助的 Firefox Suggest 建议,则为 True。

  • browser.urlbar.suggest.quicksuggest.sponsored:如果 URL 栏中启用了赞助的 Firefox Suggest 建议,则为 True。

  • browser.urlbar.suggest.searches:如果 URL 栏中启用了搜索建议,则为 True。默认为 false。

  • browser.zoom.full(已弃用):如果为文本和图像都启用了缩放,即如果未启用“仅缩放文本”,则为 True。默认为 true。此首选项在 Firefox 50 到 52 中收集 (Bug 979323)。

  • security.tls.version.enable-deprecated:如果用户启用了已弃用的 TLS 版本(1.0 和 1.1),则为 True。默认为 false。

  • privacy.firstparty.isolate:如果用户更改了(不受支持的、隐藏的)第一方隔离首选项,则为 True。默认为 false。

  • privacy.resistFingerprinting:如果用户更改了(不受支持的、隐藏的)抗指纹识别首选项,则为 True。默认为 false。

  • app.normandy.test-prefs.bool:有助于解决实验中退订不均匀的测试首选项。默认为 false。

  • app.normandy.test-prefs.integer:有助于解决实验中退订不均匀的测试首选项。默认为 0。

  • app.normandy.test-prefs.string:有助于解决实验中退订不均匀的测试首选项。默认为“”。

  • network.trr.mode:用户设置的 DNS over HTTPS 模式。默认为 0。

  • network.trr.strict_native_fallback:是否为 DoH 模式 2 启用严格回退模式。在 Nightly 版本中默认为 true,其他版本默认为 false。

  • extensions.InstallTriggerImpl.enabled:是否应启用 InstallTrigger 实现(或隐藏并禁用其所有方法)。

  • extensions.InstallTrigger.enabled:是否应启用 InstallTrigger 实现(或完全隐藏),与 InstallTriggerImpl 分开,因为 InstallTrigger 也被错误地用于 UA 检测。

  • extensions.eventPages.enabled:是否应为“manifest_version”: 2 扩展启用非持久后台页面(也称为事件页面)。

  • extensions.quarantinedDomains.enabled:是否启用了“隔离域”。

  • extensions.manifestV3.enabled:是否允许“manifest_version”: 3 扩展成功安装。

  • media.gmp-gmpopenh264.enabled:是否启用了 OpenH264。

  • media.gmp-gmpopenh264.lastDownload:上次下载 OpenH264 的时间(自 1970 年 1 月 1 日以来的秒数)。

  • media.gmp-gmpopenh264.lastDownloadFailed:上次下载 OpenH264 失败的时间(自 1970 年 1 月 1 日以来的秒数)。

  • media.gmp-gmpopenh264.lastDownloadFailReason:上次下载 OpenH264 失败时的异常值。

  • media.gmp-gmpopenh264.lastInstallFailed:上次安装 OpenH264 失败的时间(自 1970 年 1 月 1 日以来的秒数)。

  • media.gmp-gmpopenh264.lastInstallStart:上次开始安装 OpenH264 的时间(自 1970 年 1 月 1 日以来的秒数)。

  • media.gmp-gmpopenh264.lastUpdate:上次更新 OpenH264 的时间(自 1970 年 1 月 1 日以来的秒数)。

  • media.gmp-gmpopenh264.visible:OpenH264 是否可见。

  • media.gmp-manager.lastCheck:gmp-manager 上次检查更新的时间(自 1970 年 1 月 1 日以来的秒数)。

  • media.gmp-manager.lastEmptyCheck:gmp-manager 上次检查更新时没有可安装内容的时间(自 1970 年 1 月 1 日以来的秒数)。

  • nimbus.qa.pref-1:用于监控首选项设置测试实验的结果。

  • nimbus.qa.pref-2:用于监控首选项设置测试实验的结果。

  • signon.firefoxRelay.feature:用户关于 Firefox Relay 与 Firefox 密码管理器集成的选择。可以是 undefined、“available”、“offered”、“enabled” 或“disabled” 之一。

  • dom.popup_allowed_events:哪些事件应允许弹出窗口。仅在 about:config 中公开。

  • intl.ime.use_composition_events_for_insert_text:当用户插入文本时,是否会触发一组合成事件,而无需键盘事件或合成状态的合成(仅在 Linux 和 macOS 上)。

  • xpinstall.signatures.required:是否正在验证和强制执行 XPI 文件的加密签名。

  • xpinstall.signatures.weakSignaturesTemporarilyAllowed:是否仍然允许安装仅使用弱签名算法签名的新的 XPI 文件。

attribution

此对象包含产品安装的归因数据。

归因数据用于将 Firefox 的安装与用户到达 Firefox 下载页面来源链接起来。例如,它会指示用户何时执行了 Firefox 的网络搜索并从那里到达下载页面,直接导航到该站点,点击某个特定社交媒体活动的链接等。

某些版本的 Windows 默认 Firefox 安装程序(“stub” 安装程序)中包含归因数据,并将其存储为安装的一部分。除 Windows 之外的所有平台以及未使用 stub 安装程序的 Windows 安装都没有此数据,并且不包含 attribution 对象。

sandbox

此对象包含有关 Firefox 沙盒状态的数据。

特定的键是

  • effectiveContentProcessLevel:值的含义取决于操作系统。可以在 Firefox 首选项文件 中找到含义的详细信息。此处的值为有效值,而不是原始值,某些平台会强制执行最低沙盒级别。如果计算此值时出错,则将为 null

  • contentWin32kLockdownState:内容进程的 Win32k 锁定状态。

    • LockdownEnabled = 1 - Firefox 98 之后,此值将不再出现在遥测数据中。

    • MissingWebRender = 2

    • OperatingSystemNotSupported = 3

    • PrefNotSet = 4 - Firefox 98 之后,此值将不再出现在遥测数据中。

    • MissingRemoteWebGL = 5

    • MissingNonNativeTheming = 6

    • DisabledByEnvVar = 7 - 设置了 MOZ_ENABLE_WIN32K

    • DisabledBySafeMode = 8

    • DisabledByE10S = 9 - 由于某种原因禁用了 E10S

    • DisabledByUserPref = 10 - 用户手动将 security.sandbox.content.win32k-disable 设置为 false

    • EnabledByUserPref = 11 - 用户手动将 security.sandbox.content.win32k-disable 设置为 true

    • DisabledByControlGroup = 12 - 用户位于控制组中,因此已禁用

    • EnabledByTreatmentGroup = 13 - 用户位于处理组中,因此已启用

    • DisabledByDefault = 14 - 首选项的默认值为 false

    • EnabledByDefault = 15 - 首选项的默认值为 true

    • DecodersArentRemote = 16 - 某些解码器未远程到 RDD 进程(检查 PDMFactory::AllDecodersAreRemote)

    • IncompatibleMitigationPolicy = 17 - 启用了某些不兼容的 Windows 利用缓解策略

profile

creationDate

此客户端配置文件的假定创建日期。它从客户端配置文件目录中的文件存储的时间戳读取。

注意

如果时间戳文件不存在,则会扫描配置文件目录中的所有文件。然后将扫描到的文件的创建或修改日期中最旧的日期作为配置文件创建日期。这已被证明有时是不准确的(错误 1449739)。

resetDate

配置文件上次重置时间。如果配置文件从未重置过,则此字段将不存在。它从客户端配置文件目录中的文件存储的时间戳读取。

firstUseDate

配置文件首次使用时间。如果这是一个旧的配置文件,我们无法确定此时间,则此字段将不存在。它从客户端配置文件目录中的文件存储的时间戳读取。

recoveredFromBackup

此配置文件从备份中恢复的时间。如果配置文件从未从备份中恢复过,则此字段将不存在。它从客户端配置文件目录中的文件存储的时间戳读取。

partner

如果用户使用的是合作伙伴重新打包,则其中包含识别正在使用的重新打包的信息,否则“partnerNames”将为空数组,其他条目将为 null。配置文件刚刚可用时,信息可能丢失。在桌面版 Firefox 中,此信息以及 distribution.ini 中定义的其他自定义项将在启动阶段的后期进行处理,并在发送“distribution-customization-complete”通知后完全应用。

可以通过 distributionId 字段最可靠地识别分发版。可以在 合作伙伴重新打包旧版本 已弃用)中找到合作伙伴信息:它包含每个合作伙伴一个私有存储库。 distributionId 的重要值包括

  • “MozillaOnline”,用于 Mozilla 中国重新打包。

  • “canonical”,用于 Ubuntu Firefox 重新打包

  • “yandex”,用于 Yandex 版 Firefox。

system

os

此对象包含操作系统信息。

  • name:操作系统的名称。

  • version:表示操作系统版本的字符串。

  • kernelVersion:仅限 Android 的字符串,表示内核版本。

  • servicePackMajor:仅限 Windows 的已安装 Service Pack 的主要版本号。

  • servicePackMinor:仅限 Windows 的已安装 Service Pack 的次要版本号。

  • windowsBuildNumber:Windows 版本号。

  • windowsUBR:Windows UBR 号码,仅适用于 Windows >= 10。此值由 Windows 累积更新补丁递增。

  • installYear:仅限 Windows 的整数,表示操作系统安装的年份。

  • locale:表示操作系统区域设置的字符串。

  • hasPrefetch:仅限 Windows 的布尔值,表示是否将基于操作系统的预取应用程序启动优化设置为使用默认设置。

  • hasSuperfetch:仅限 Windows 的布尔值,表示基于操作系统的 superfetch 应用程序启动优化服务是否正在运行并使用默认设置。

addons

activeAddons

从 Firefox 44 开始,以下字符串字段的长度:namedescriptionversion 限于 100 个字符。相同的限制适用于 theme 中的相同字段。

每个附加组件的记录中的一些字段在启动时不可用。始终存在的字段是 idversiontypeupdateDatescopeisSystemisWebExtensionmultiprocessCompatible。所有其他上述文档记录的字段在 sessionstore-windows-restored 观察者主题被通知后不久就会出现。

activeGMPPlugins

启动时无法立即获得最新信息。该字段将填充虚拟信息,直到加载黑名单。最迟在 sessionstore-windows-restored 观察者主题被通知后,就会发生这种情况。

experiments

对于每个实验,我们都会收集

  • id(如 hotfix-reset-xpi-verification-timestamp-1548973,最大长度为 100 个字符)

  • branch(如 control,最大长度为 100 个字符)

  • type(可选。如 normandy-exp,最大长度为 20 个字符)

  • enrollmentId(可选。如 5bae2134-e121-46c2-aa00-232f3f5855c5,最大长度为 40 个字符)

如果这些字段中的任何一个被截断,则会向控制台打印警告。

请注意,此列表包括其他类型的交付,包括诺曼底部署和 Nimbus 功能默认值。

版本历史

  • Firefox 88

    • 删除了 addons.activePlugins,作为删除 NPAPI 插件支持的一部分。(错误 1682030

  • Firefox 70

    • 添加了 experiments.<experiment id>.enrollmentId。(错误 1555172

  • Firefox 67

    • 已移除 persona。应改用 addons.activeAddons 列表。(bug 1525511

  • Firefox 61

    • 已移除空的 addons.activeExperimentbug 1452935)。