它在网上有很多答案,但我还是笨到自己破解它:(。
我有一个 Ionic 混合应用程序(Ionic、angular 和 Visual Studio)。开发几乎完成并且工作正常。我已经使用 .keystore 证书签署了我的应用程序。我还在 Google 控制台中生成了一个 API key ,并对 HTTP Referrers (Web Site)
进行了限制。
在我的本地(开发环境)上,它停止工作了。所以我添加了 http://localhost:4000/index.html#find
(甚至 localhost
)作为 API key 的引荐来源网址。这解决了问题,现在它工作正常。
但是我的应用程序无法在 Android 设备上运行。我不确定那里的引荐网址应该是什么。作为试验,我使用 visual studio 调试了我的设备。以下是我跟踪的错误。
Google Maps API error: RefererNotAllowedMapError https://developers.google.com/maps/documentation/javascript/error-messages#referer-not-allowed-map-error
Your site URL to be authorized: file:///android_asset/www/index.html#find
但是将 file:///android_asset/www/index.html#find
添加为 referrer 并不能解决问题。对我来说,这看起来很正常,因为它们将原始文件指向我的系统(因为我正在调试)。那么,在我将我的应用程序添加到 Play 商店后,要使所有设备都正常工作,这应该有什么值(value)?
它必须来自 manifest.xml
还是我的应用项目?还是我需要在 Google Play Console
的某处提及这一点?谁能指导我?
最佳答案
Cloud 开发者控制台目前不支持 file:/referrers。
您可以考虑两种选择:
- 使用没有 HTTP 引用限制的不同 API key
- 购买高级计划,其中 file:/referrers 支持客户端 ID。
有一个issue 9996在关于使用 file:///协议(protocol)的引用的公共(public)问题跟踪器中。我建议给这个问题加注星标以表达您的兴趣并接收进一步的更新。
更新
好消息,Google 添加了对 file:/referrers 的支持。在文档中可以看到如下文字
file://referers 需要在 Key 限制中添加特殊表示。在添加到 Key 限制之前,“file:/”部分应替换为“__file_url__”。例如,“file://path/to/”应该被格式化为“__file_url__/path/to/*”。启用 file://referers 后,建议您定期检查您的使用情况,以确保它符合您的期望
https://developers.google.com/maps/documentation/javascript/get-api-key#key-restrictions
关于android - 谷歌地图 API 错误 : RefererNotAllowedMapError on play store,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41087892/