extension-publish

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

extension-publishing

扩展发布

Workflow

工作流程

prepare → package → submit → review → publish
  1. Prepare: assets, privacy policy, permission justifications, manifest
  2. Package:
    zip
    source (exclude dev files), validate manifest
  3. Submit: Chrome Web Store Developer Dashboard
  4. Review: 1–3 days typical; up to 7 days for new publishers
  5. Publish: auto or manual rollout

prepare → package → submit → review → publish
  1. 准备:资源文件、隐私政策、权限说明、manifest文件
  2. 打包:将源码压缩为
    zip
    (排除开发文件),验证manifest文件
  3. 提交:通过Chrome Web Store开发者控制台提交
  4. 审核:通常1-3天;新开发者最长可能需要7天
  5. 发布:自动或手动推送

Pre-Submission Checklist (Quick)

提交前快速检查清单

  • Manifest v3 only (MV2 deprecated)
  • name
    ,
    version
    ,
    description
    set in manifest
  • Icons: 16×16, 48×48, 128×128 PNG
  • Screenshots: min 1, 1280×800 or 640×400
  • Single purpose clearly defined
  • Only permissions actually used
  • Privacy policy URL (required if collecting data)
  • Permission justification field filled for sensitive perms
  • No remote code execution (
    eval
    , remote scripts)
  • All features functional in review build
Full checklist: references/submission-checklist.md

  • 仅使用Manifest v3(MV2已弃用)
  • manifest文件中已设置
    name
    version
    description
  • 图标:16×16、48×48、128×128尺寸的PNG图片
  • 截图:至少1张,尺寸为1280×800或640×400
  • 明确定义单一用途
  • 仅申请实际需要的权限
  • 隐私政策URL(若收集用户数据则必填)
  • 敏感权限已填写权限说明字段
  • 无远程代码执行(
    eval
    、远程脚本)
  • 审核版本中所有功能均可正常使用
完整检查清单:references/submission-checklist.md

Top 10 Rejection Reasons

十大被拒绝原因

  1. Single purpose violation — does too many unrelated things
  2. Excessive/unnecessary permissions
  3. Missing privacy policy (required when user data collected)
  4. Missing permission justification in submission form
  5. Description doesn't match functionality
  6. Keyword spam in title/description
  7. Remote code execution (
    eval
    , external scripts)
  8. Improper user data handling or disclosure
  9. Extension non-functional or crashes
  10. Broken features / inaccessible links
Full details + fixes: references/common-rejections.md

  1. 违反单一用途原则——包含过多不相关功能
  2. 权限过度/不必要
  3. 缺少隐私政策(收集用户数据时必填)
  4. 提交表单中缺少权限说明
  5. 描述与实际功能不符
  6. 标题/描述中存在关键词堆砌
  7. 远程代码执行(
    eval
    、外部脚本)
  8. 用户数据处理或披露不当
  9. 扩展无法正常使用或崩溃
  10. 功能损坏/链接不可用
详细说明及修复方案:references/common-rejections.md

Listing Optimization Essentials

应用列表优化要点

  • Title:
    <Action verb> + <Benefit>
    , max 45 chars, no keyword stuffing
  • Description first 150 chars: shown in search — make them count
  • Structure: problem → solution → key benefits → CTA
  • Screenshots: annotate features, show real UI, 1280×800
  • Category: choose most specific fit
Full guide: references/store-listing-optimization.md

  • 标题
    <动作动词> + <核心价值>
    ,最多45字符,禁止关键词堆砌
  • 描述前150字符:会在搜索结果中展示——务必重视
  • 结构:问题→解决方案→核心优势→行动号召
  • 截图:标注功能,展示真实UI,尺寸1280×800
  • 分类:选择最贴合的具体分类
完整指南:references/store-listing-optimization.md

CI/CD with chrome-webstore-upload

使用chrome-webstore-upload实现CI/CD

Install

安装

bash
npm install -g chrome-webstore-upload-cli
bash
npm install -g chrome-webstore-upload-cli

Upload & Publish

上传与发布

bash
undefined
bash
undefined

Upload new version

上传新版本

chrome-webstore-upload upload
--source extension.zip
--extension-id $EXT_ID
--client-id $CLIENT_ID
--client-secret $CLIENT_SECRET
--refresh-token $REFRESH_TOKEN
chrome-webstore-upload upload
--source extension.zip
--extension-id $EXT_ID
--client-id $CLIENT_ID
--client-secret $CLIENT_SECRET
--refresh-token $REFRESH_TOKEN

Publish

发布

chrome-webstore-upload publish
--extension-id $EXT_ID
--client-id $CLIENT_ID
--client-secret $CLIENT_SECRET
--refresh-token $REFRESH_TOKEN
undefined
chrome-webstore-upload publish
--extension-id $EXT_ID
--client-id $CLIENT_ID
--client-secret $CLIENT_SECRET
--refresh-token $REFRESH_TOKEN
undefined

Required Env Vars

所需环境变量

VarSource
EXT_ID
Dashboard URL
CLIENT_ID
GCP OAuth client
CLIENT_SECRET
GCP OAuth client
REFRESH_TOKEN
Run OAuth flow once
Full GitHub Actions pipeline: references/ci-cd-automation.md
VarSource
EXT_ID
开发者控制台URL
CLIENT_ID
GCP OAuth客户端
CLIENT_SECRET
GCP OAuth客户端
REFRESH_TOKEN
运行一次OAuth流程获取
完整GitHub Actions流水线:references/ci-cd-automation.md

Plasmo Built-in Publishing

Plasmo内置发布功能

Plasmo has integrated browser store submission (https://docs.plasmo.com/):
bash
plasmo build           # Build for production
plasmo package         # Create store-ready zip

Plasmo集成了浏览器应用商店提交功能(https://docs.plasmo.com/):
bash
plasmo build           # 构建生产版本
plasmo package         # 创建符合商店要求的压缩包

Reference Files

参考文件

FileContent
submission-checklist.mdComplete pre-submission checklist with assets, manifest, privacy
store-listing-optimization.mdTitle, description, screenshots, keywords, localization
common-rejections.mdTop rejections with fixes, appeal process
ci-cd-automation.mdGitHub Actions, versioning, build pipeline
FileContent
submission-checklist.md包含资源文件、manifest、隐私政策的完整提交前检查清单
store-listing-optimization.md标题、描述、截图、关键词、本地化相关内容
common-rejections.md常见拒绝原因及修复方案、申诉流程
ci-cd-automation.mdGitHub Actions、版本管理、构建流水线