Свойство манифеста externally_connectable определяет, какие расширения, приложения и веб-страницы могут подключаться к вашему расширению через runtime.connect и runtime.sendMessage .
Учебное пособие по передаче сообщений см. в разделах «Кросс-расширение», «Обмен сообщениями приложений и отправка сообщений с веб-страниц» .
Подключение без external_connectable
 Если externally_connectable не объявлен в манифесте вашего расширения, все расширения и приложения могут подключаться, но никакие веб-страницы не могут подключаться. Как следствие, при обновлении вашего манифеста для использования externally_connectable , если "ids": ["*"] не указан, другие расширения и приложения потеряют возможность подключаться к вашему расширению. Это может быть непредвиденным последствием, так что имейте это в виду.
Пример манифеста.json
{
  "name": "My externally connectable extension",
  "externally_connectable": {
    // Extension and app IDs. If this field is not specified, no
    // extensions or apps can connect.
    "ids": [
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      ...
      // Alternatively, to match all extensions and apps, specify only
      // "*".
      "*"
    ],
    // Match patterns for web pages. Does not affect content scripts.
    // If this field is not specified, no webpages can connect.
    "matches": [
      "https://*.google.com/*",
      "*://*.chromium.org/*",
      ...
    ],
    // Indicates that the extension would like to make use of the TLS
    // channel ID of the web page connecting to it. The web page must
    // also opt to send the TLS channel ID to the extension via setting
    // includeTlsChannelId to true in runtime.connect's connectInfo
    // or runtime.sendMessage's options.
    "accepts_tls_channel_id": false
  },
  ...
}
Ссылка
Ключ манифеста externally_connectable может иметь следующие свойства:
- ids(массив строк) – необязательно- Идентификаторы расширений или приложений, которым разрешено подключение. Если оставить пустым или не указать, никакие расширения или приложения не смогут подключиться. - Подстановочный знак - "*"разрешит подключение всех расширений и приложений.
- matches(массив строк) – необязательно- Шаблоны URL-адресов веб-страниц , к которым разрешено подключение. Это не влияет на сценарии контента. Если оставить пустым или не указать, ни одна веб-страница не сможет подключиться. - Шаблоны не могут включать домены с подстановочными знаками или поддомены (эффективных) доменов верхнего уровня ; - *://google.com/*и- http://*.chromium.org/*действительны, а- <all_urls>,- http://*/*,- *://*.com/*и даже- http://*.appspot.com/*нет.
- accepts_tls_channel_id(логическое значение) — необязательно- Если - true, сообщения, отправленные через runtime.connect или runtime.sendMessage, будут устанавливать runtime.MessageSender.tlsChannelId , если эти методы запрашивают это. Если- false, runtime.MessageSender.tlsChannelId никогда не будет установлен ни при каких обстоятельствах.