externally_connectable
매니페스트 속성은 어떤 확장 프로그램, 앱, 웹페이지를 선언할 수 있는지
runtime.connect
및 runtime.sendMessage
를 통해 앱에 연결합니다.
메시지 전달에 관한 가이드는 교차 확장 프로그램 및 앱 메시지 및 메시지 보내기를 참고하세요. 웹페이지를 확인하세요.
external_connectable 없이 연결
앱의 매니페스트에 externally_connectable
가 선언되지 않으면 모든 확장 프로그램 및 앱이
연결할 수 있지만 어떤 웹페이지도 연결할 수 없습니다. 따라서 매니페스트를 업데이트하여
externally_connectable
, "ids": ["*"]
를 지정하지 않으면 다른 확장 프로그램 및 앱에서
앱에 연결하지 못하게 될 수 있습니다. 이로 인해 의도하지 않은 결과가 발생할 수 있으므로 주의하시기 바랍니다.
샘플 manifest.json
{
"name": "My externally connectable app",
"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
},
...
}
참조
external_connectable 매니페스트 키에는 다음 속성이 포함될 수 있습니다.
ids
(문자열 배열) - 선택사항연결이 허용된 확장 프로그램 또는 앱의 ID입니다. 비워 두거나 지정하지 않으면 확장 프로그램 또는 앱을 연결할 수 있습니다.
와일드 카드
"*"
를 사용하면 모든 확장 프로그램 및 앱의 연결이 허용됩니다.matches
(문자열 배열) - 선택사항연결이 허용되는 웹페이지의 URL 패턴입니다. 이는 콘텐츠의 실행할 수 있습니다 비워 두거나 지정하지 않으면 웹페이지를 연결할 수 없습니다.
패턴에는 와일드 카드 도메인이나 (유효한) 최상위 도메인의 하위 도메인이 포함될 수 없습니다.
*://google.com/*
및https://*.chromium.org/*
는 유효하지만<all_urls>
,https://*/*
,*://*.com/*
와https://*.appspot.com/*
조차 아닙니다.accepts_tls_channel_id
(불리언) - 선택사항true
인 경우runtime.connect
또는runtime.sendMessage
을(를) 통해 전송되는 메시지가 다음과 같이 설정됩니다. 해당 메서드에서 요청하는 경우runtime.MessageSender.tlsChannelId
false
인 경우,runtime.MessageSender.tlsChannelId
는 어떠한 경우에도 설정되지 않습니다.