心得总结 🚨 插件差点被下架:我踩了 Chrome Web Store 的一条 “红线”

Jocs(Ran Luo) · January 09, 2026 · 31 hits

VidPilot 最近一直没有发布新的版本,因为在憋个大招,做积分系统和接入 Strip 平台。满怀欢喜 Coding 完之后,提交 Chrome Web Store 审核,早上打开邮件,发现被拒绝了

踩了 Chrome Web Store 红线

拒绝的理由:Manifest V3 产品包含远程托管代码。

包含远程托管代码,这是在各大应用平台(Chrome Web Store\App Store)都是明令禁止,相当于红线,昨天还和一个独立开发者朋友聊到,他的第一个产品就是因为包含远程代码,产品被下架,开发者账号也被封了

于是我赶紧排查问题,不敢有一丝懈怠

代码段: App.71f446dd.js: "https://" + this.region + "-assets." + r;

我在 bundle 文件中搜索上面关键词 this.region。后来发现这是 posthog 引入导致的,有查阅了 posthog 相关文档 Using PostHog for browser extensions。发现在浏览器插件中引入 posthog 不能照搬 web 端,需要一些特殊处理,最重要的是设置 disable_external_dependency_loading 为 true。

最初方案:Using PostHog for browser extensions

找到问题原因后,开始 Vibe Coding,让 GitHub Copilot 完全按照 Using PostHog for browser extensions 文档来接入 posthog,完成后也不忘提醒 Copilot 校验下是否还有 this.regin 等⚠危险代码️

结果发现依然存在,思考下,应该不再包含动态加载代码了,但是 Chrome Web Store 审核很有可能是做静态文件匹配,依然后被拒风险,担心产品被下架,于是尝试更加稳妥的方案

最终方案:服务端上报事件

服务端提供 track 接口,然后浏览器插件通过 track 接口,在服务端进行 posthog 上报,虽然麻烦一点,因为还要防止重复 identify 和 align(align 不是幂等)。所以有搞了一个 Cloudflare KV 来防止重复 identify

最终完成后,又提审了,希望这次能过~ 🙏

BTW,如果大家对 Stripe 账号注册、接入感兴趣,欢迎留言,下次分享 Stripe 个人账号注册和接入流程

No Reply at the moment.
You need to Sign in before reply, if you don't have an account, please Sign up first.