Firebase SDK 代码之前扩展被拒绝

问题描述 投票:0回答:1

所以基本上我正在manifest v3中开发一个chrome扩展,它有一些不同的版本((某些版本即将开发)),现在在一个站点的第一个版本中,该扩展被接受并发布到Chrome扩展但当我推送第二个版本的更新并添加一些功能代码时,Chrome Store团队以使用“远程托管代码”为由拒绝了它,经询问,他们给出了以下答复。

We would like to let you know that the usage of remote hosted code was found in the service-worker.js file of your code package as it is fetching Google APIs in retrieveRecaptchaToken() function. Hence we request you to include all the remote hosted resources in the code package and re-submit it for review. Your submission will be approved if we find it to be compliant with all our policies.

我真的很困惑,因为我使用汇总扩展以便将 Firebase SDK V9 模块化代码使用到我的代码库中,并且当我运行“npm run dev”时它会自动放置该函数,在这种情况下有什么帮助吗?

我正在从我自己的网站检索自定义令牌,其权限在manifest.json中给出,然后通过该令牌对用户进行身份验证,并且我们还在后台使用firestore多个调用来存储数据、搜索数据和检索数据。

javascript firebase google-chrome-extension sdk extension-methods
1个回答
0
投票

解决方案: 经过彻底调查后,我找到了解决方案,后台有代码实际上使用了远程托管代码。

1- 在 webpack 或 rollup 中编译代码后,转到分发文件夹并打开 service-worker 文件,该文件将包含大量代码,现在您必须搜索它。

返回_loadJS(

https://apis.google.com/js/api.js?onload=${cbName}
) .catch(e => 拒绝(e));

PS:如果您没有找到上述代码,只需搜索

return _loadJS
,您很可能会找到该实例,它只会出现一次或两次,具体取决于您在 service-worker 文件中的函数使用情况。 一旦发现,

将该代码转换为,

返回真;

上面的解决方案因情况而异,在我的例子中,我没有使用这部分代码,所以这就是为什么将其转换为 return true,因为它从未被调用,但由于 .js 的存在,chrome 商店不会批准它.

如果您遇到任何问题,请告诉我,我们很乐意在评论中回复。

© www.soinside.com 2019 - 2024. All rights reserved.