browser\_specific\_settings
===========================

|  |  |
| --- | --- |
| Type | `Object` |
| Mandatory | 
 Usually, no (but see also
 When do you need an Add-on ID?). Mandatory if the extension ID cannot be determined, see
 `browser_specific_settings.gecko.id`.
  |
| Example | 
```json
"browser\_specific\_settings": {
  "gecko": {
    "id": "addon@example.com",
    "strict\_min\_version": "42.0"
  }
}
```

 |

Description
-----------

The `browser_specific_settings` key contains keys that are specific to a particular host application.

### Firefox (Gecko) properties

Firefox stores browser-specific settings in these sub-keys:

* `gecko` for the desktop version of Firefox.
* `gecko_android` for the Android version of Firefox.

The `gecko` subkey supports these properties:

`id`

The extension ID. When provided, this property must contain 80 characters or less. See Extensions and the Add-on ID to determine when to specify the ID.

`strict_min_version`

Minimum version of Gecko to support. If the Firefox version on which the extension is being installed or run is below this version, the extension is not installed or not run. If not provided, all versions earlier than `strict_max_version` are supported. "\*" is not valid in this field.

`strict_max_version`

Maximum version of Gecko to support. If the Firefox version on which the extension is being installed or run is above this version, the extension is not installed or not run. Defaults to "\*", which disables checking for a maximum version.

`update_url`

A link to an extension update manifest. Note that the link must begin with "https". This key is for managing extension updates yourself (i.e., not through AMO).

The `gecko_android` subkey supports these properties:

`strict_min_version`

Minimum version of Gecko to support on Android. If the Firefox for Android version on which the extension is being installed or run is below this version, the extension is not installed or not run. If not provided, defaults to the version determined by `gecko.strict_min_version`. "\*" is not valid in this field.

`strict_max_version`

Maximum version of Gecko to support on Android. If the Firefox version on which the extension is being installed or run is above this version, the extension is not installed or not run. Defaults to the version determined by `gecko.strict_max_version`.

See the list of valid Gecko versions.

#### Extension ID format

The extension ID must be one of the following:

* GUID
* A string formatted like an email address: `extensionname@example.org`

The latter format is easier to generate and manipulate. Be aware that using a real email address here may attract spam.

For example:


```json
"id": "extensionname@example.org"
```



```json
"id": "{daf44bf7-a45e-4450-979c-91cf07434c3d}"
```

### Safari properties

Safari stores its browser-specific settings in the `safari` subkey, which has these properties:

`strict_min_version`

Minimum version of Safari to support.

`strict_max_version`

Maximum version of Safari to support.

Examples
--------

Example with all possible keys. Note that most extensions omit `strict_max_version` and `update_url`.


```json
"browser\_specific\_settings": {
  "gecko": {
    "id": "addon@example.com",
    "strict\_min\_version": "42.0",
    "strict\_max\_version": "50.\*",
    "update\_url": "https://example.com/updates.json"
  },
  "safari": {
    "strict\_min\_version": "14",
    "strict\_max\_version": "20"
  }
}
```

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.