Packaging e pubblicazione su più store
Imparate a creare il bundle di un’unica codebase dell’estensione e a inviarla sia al Chrome Web Store sia allo store Microsoft Edge Add-ons.
Packaging e pubblicazione su più store è una lezione Browser Extensions Development (Chrome & Edge) gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Browser Extensions Development (Chrome & Edge), e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Browser Extensions Development (Chrome & Edge) include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
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
Impara JavaScript con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 12
- Lezioni
- 48
Domande Frequenti
La lezione «Packaging e pubblicazione su più store» è gratuita?
Sì — il testo completo di «Packaging e pubblicazione su più store» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Browser Extensions Development (Chrome & Edge), passa a CoddyKit PRO. Il corso Browser Extensions Development (Chrome & Edge) include 4 lezioni in totale.
Cosa imparerò in «Packaging e pubblicazione su più store»?
Imparate a creare il bundle di un’unica codebase dell’estensione e a inviarla sia al Chrome Web Store sia allo store Microsoft Edge Add-ons. Eserciti Browser Extensions Development (Chrome & Edge) con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Browser Extensions Development (Chrome & Edge)?
Non è richiesta alcuna esperienza precedente. Browser Extensions Development (Chrome & Edge) su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Packaging e pubblicazione su più store»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Browser Extensions Development (Chrome & Edge)?
Sì. Ogni lezione Browser Extensions Development (Chrome & Edge) include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Adattamenti del manifest tra browser diversi
- Utilizzo dei polyfill WebExtension
- Esplorazione dei framework per lo sviluppo di estensioni
- Packaging e pubblicazione su più store