매니페스트

확장앱의 이름, 버전 및 사용하는 권한 등의 정보는 일정 규칙을 가진 JSON 형식으로 작성해야 하며 이것을 이를 매니페스트라고 합니다. 모든 확장앱은 확장앱 최상위 경로에 매니페스트를 기록한 manifest.json 파일을 가집니다. 아래는 설정할 수 있는 매니페스트 예시입니다. 각각의 키 이름을 클릭하면 자세한 정보를 확인할 수 있습니다.

일부 네이버 웨일 전용 매니페스트 키를 제외하면 Chrome 브라우저 확장 프로그램의 매니페스트와 같습니다.

{
  // 필수
  "manifest_version": 2,
  "name": "확장앱",
  "version": "versionString",

  // 추천
  "default_locale": "ko",
  "description": "확장앱 설명.",
  "icons": {...},

  // 셋 중 하나만 설정할 수 있음
  "browser_action": {...},
  "page_action": {...},
  "sidebar_action": {...},

  // 선택
  "action": ...,
  "author": ...,
  "automation": ...,
  "background": {
    // 추천
    "persistent": false
  },
  "background_page": ...,
  "chrome_settings_overrides": {...},
  "chrome_ui_overrides": {
    "bookmarks_ui": {
      "remove_bookmark_shortcut": true,
      "remove_button": true
    }
  },
  "chrome_url_overrides": {...},
  "commands": {...},
  "content_capabilities": ...,
  "content_scripts": [{...}],
  "content_security_policy": "policyString",
  "converted_from_user_script": ...,
  "current_locale": ...,
  "declarative_net_request": ...,
  "devtools_page": "devtools.html",
  "event_rules": [{...}],
  "externally_connectable": {
    "matches": ["*://*.example.com/*"]
  },
  "file_browser_handlers": [...],
  "file_system_provider_capabilities": {
    "configurable": true,
    "multiple_mounts": true,
    "source": "network"
  },
  "homepage_url": "http://path/to/homepage",
  "import": [{"id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}],
  "incognito": "spanning, split, or not_allowed",
  "input_components": ...,
  "key": "publicKey",
  "minimum_chrome_version": "versionString",
  "nacl_modules": [...],
  "oauth2": ...,
  "offline_enabled": true,
  "omnibox": {
    "keyword": "aString"
  },
  "optional_permissions": ["tabs"],
  "options_page": "options.html",
  "options_ui": {
    "chrome_style": true,
    "page": "options.html"
  },
  "permissions": ["tabs"],
  "platforms": ...,
  "requirements": {...},
  "sandbox": [...],
  "short_name": "Short Name",
  "signature": ...,
  "spellcheck": ...,
  "storage": {
    "managed_schema": "schema.json"
  },
  "system_indicator": ...,
  "tts_engine": {...},
  "update_url": "https://path/to/updateInfo.xml",
  "version_name": "aString",
  "web_accessible_resources": [...]
}

확장앱 API