구글 크롬 확장 프로그램 출시

Rael·2022년 8월 4일
0

프로젝트

목록 보기
1/4

Manifest version 문제

업로드 당시 발생한 문제 사항의 스크린 샷이다.
2번째 문제 사항을 보면 버전 문제임을 확인할 수 있었다.

개발 당시에는 이런 문제가 발생하지 않았는데, 기능 추가 등을 목적으로 확장 프로그램 출시일을 미루니 이런 문제가 새로 발생하게 되었다.

서치해보니, 개발 당시 구글 확장 프로그램에서 사용했던 manifest version2였으나, 2021년 10월 이후로 version 3만을 지원하게 되었다.

기존 코드

manifest version 2의 menifest.json 파일은 다음과 같다.

{
	"manifest_version": 2,
	"name": "----", 
	"version": "1.0",
	"description":"----",
	"permissions": [ 
		"identity",
		"tabs", 
		"storage", 
		"activeTab",
		"<all_urls>"
		], 
	"icons": {
		"32": "img/icon.png"
	},
	"browser_action": {
		"default_icon": "img/icon.png",
		"default_title": "----",      
		"default_popup": "popup.html"
		
		},
	"content_scripts": [
    {
		"matches": ["<all_urls>"], 
		"js": ["js/fontsize.js"], 
		"css": [],
		"all_frames": true, 
		"run_at": "document_start" 
	} ]
}

팀 프로젝트이므로 자세한 정보는 ---- 처리하였다.
위의 menifest.json 파일을 version 3으로 변경해보겠다.

해결 방식

  1. 첫줄의 menifest_version: 2를 3으로 변경한다.
  2. browser_action(및 page_action)을 action으로 통합한다.
  3. background의 사용은 service_worker로 대체하고, persistent 속성은 제거한다.
  4. <all_ulrs> 등의 호스트 권한은 host_permissions로 옮겨준다.
  5. 꼭 필요한 권한이 아니면 제외한다. (엄격한 심사기준이 적용되기 때문)
  6. permissions 속성에 scripting 권한을 추가한다. 이는 executeScript()를 실행하기 위해 필수적인 권한이 되었다.

위를 바탕으로 새롭게 작성한 menifest.json 파일은 다음과 같다.

{
	"manifest_version": 3,
	"name": "----", 
	"version": "1.0",
	"description":"----",
	"permissions": [ 
		"identity",
		"tabs", 
		"storage", 
		"activeTab",
		"scripting"
		], 
	"host_permissions": [
	],
	"icons": {
		"32": "img/icon.png"
	},
	"browser_action": {
		"default_icon": "img/icon.png",
		"default_title": "----",      
		"default_popup": "popup.html"
		
		},
	"content_scripts": [
    {
		"matches": ["<all_urls>"], 
		"js": ["js/fontsize.js"], 
		"css": [],
		"all_frames": true, 
		"run_at": "document_start" 
	} ]
}

수정 후에 다시 문제 사항을 알려주는 탭에 들어가자 menifest version 문제해결하게 되었다.
나머지 문제들은 설명 기입 및 스크린샷 업로드 이므로 쉽게 해결할 것이다.

문제 해결을 위해 아래 홈페이지들을 참고하였다.

0개의 댓글