0Pricing
Browser Extensions Development (Chrome & Edge) · 강의

여러 스토어를 위한 패키징과 게시

하나의 확장 프로그램 코드베이스를 묶어 Chrome Web Store와 Microsoft Edge Add-ons 스토어에 모두 제출하는 방법을 배웁니다.

여러 스토어를 위한 패키징과 게시은(는) CoddyKit의 무료 Browser Extensions Development (Chrome & Edge) 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Browser Extensions Development (Chrome & Edge) 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Browser Extensions Development (Chrome & Edge) 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

Why Publish to Multiple Stores

Once your extension works across browsers, the next step is distribution. The two largest Chromium stores are the Chrome Web Store and the Microsoft Edge Add-ons store.

Publishing to both maximizes reach with almost no extra code, since both consume the same Manifest V3 package.

One Codebase, Two Packages

You usually ship the same ZIP to both stores. Small differences (like minimum versions or store-specific keys) can be handled with a build script.

  • Keep one source tree
  • Produce store-specific builds via scripts
  • Avoid maintaining forks
{
  "manifest_version": 3,
  "name": "My Extension",
  "version": "1.4.0",
  "minimum_chrome_version": "102"
}

Building the ZIP

Stores accept a ZIP archive of your extension root (the folder containing manifest.json). Never zip the parent folder.

A simple npm script keeps this repeatable.

node -e "const cp=require('child_process'); cp.execSync('cd dist && zip -r ../extension.zip .')"
console.log('Created extension.zip');

Version Numbers Matter

Both stores require the version in the manifest to be strictly higher than the currently published version for each update.

Use semantic-like dotted numbers: 1.4.0 then 1.4.1.

const fs = require('fs');
const m = JSON.parse(fs.readFileSync('manifest.json', 'utf8'));
const parts = m.version.split('.').map(Number);
parts[parts.length - 1] += 1;
m.version = parts.join('.');
fs.writeFileSync('manifest.json', JSON.stringify(m, null, 2));
console.log('Bumped to', m.version);

Chrome Web Store Submission

In the Chrome Developer Dashboard you upload the ZIP, fill listing details (description, screenshots, category) and submit for review.

  • One-time developer registration fee
  • Automated plus manual review
  • Permission justifications required

Edge Add-ons Submission

The Partner Center hosts Edge submissions. Registration is free. You upload the same ZIP and provide listing metadata.

Edge review tends to focus on policy compliance and accurate descriptions.

Store Listing Assets

Both stores need marketing assets:

  • Icon (128x128)
  • Screenshots (1280x800 recommended)
  • A small and large promo tile (optional)
  • Short and detailed descriptions

Prepare these once and reuse across stores.

Automating with the CWS API

The Chrome Web Store API lets you upload and publish from CI. You authenticate with OAuth and call the REST endpoints.

// Pseudocode using fetch in a CI script
const token = await getAccessToken();
await fetch('https://www.googleapis.com/upload/chromewebstore/v1.1/items/' + itemId, {
  method: 'PUT',
  headers: { Authorization: 'Bearer ' + token, 'x-goog-api-version': '2' },
  body: zipBuffer
});
console.log('Uploaded to CWS');

Automating Edge Submissions

Edge offers the Add-ons API for CI uploads. You obtain an access token, upload the package, then trigger publishing.

This mirrors the Chrome flow, so a shared deploy script can target both.

// Upload draft, then publish
await fetch(baseUrl + '/products/' + productId + '/submissions/draft/package', {
  method: 'POST',
  headers: { Authorization: 'Bearer ' + token },
  body: zipBuffer
});
console.log('Edge draft uploaded');

Handling Review Rejections

Common rejection causes:

  • Requesting permissions you do not use
  • Vague privacy disclosures
  • Mismatched description and behavior

Request only the minimum permissions and document why each is needed.

Keeping Both Stores in Sync

To avoid drift, publish from a single tagged release. Tag the commit, build the ZIP, then push to both stores in the same pipeline run.

This guarantees identical behavior for all your users.

Quick Check

Test your understanding of multi-store publishing.

Recap

You learned to package one codebase and ship it to both Chromium stores:

  • Zip the extension root, never the parent folder
  • Bump the version on every update
  • Reuse listing assets across stores
  • Automate uploads with the CWS and Edge APIs
  • Request minimal permissions to ease review

자주 묻는 질문

“여러 스토어를 위한 패키징과 게시” 강의는 무료인가요?

네 — “여러 스토어를 위한 패키징과 게시” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Browser Extensions Development (Chrome & Edge) 강의 전체를 잠금 해제할 수 있습니다. Browser Extensions Development (Chrome & Edge) 강의에는 총 4개의 강의가 포함되어 있습니다.

“여러 스토어를 위한 패키징과 게시”에서 뭘 배우나요?

하나의 확장 프로그램 코드베이스를 묶어 Chrome Web Store와 Microsoft Edge Add-ons 스토어에 모두 제출하는 방법을 배웁니다. 브라우저에서 직접 실행하는 실습 코드로 Browser Extensions Development (Chrome & Edge)을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Browser Extensions Development (Chrome & Edge)을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Browser Extensions Development (Chrome & Edge)은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“여러 스토어를 위한 패키징과 게시” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Browser Extensions Development (Chrome & Edge) 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Browser Extensions Development (Chrome & Edge) 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 브라우저 간 매니페스트 조정
  2. WebExtension 폴리필 사용
  3. 확장 프로그램 개발 프레임워크 살펴보기
  4. 여러 스토어를 위한 패키징과 게시
← Browser Extensions Development (Chrome & Edge)(으)로 돌아가기