您的应用包含公开的 Google Cloud Platform (GCP) API key ,即类:
MainActivity->onCreate
请参阅以下文章了解如何解决该问题: https://support.google.com/faqs/answer/9287711
在实现新的 Google Places API 后,我从我的 Google Play 商店控制台收到此警报。我还使用 SHA key 对 API key 添加了限制。我使用了演示项目中的同一行。
我的代码
String apiKey = getResources().getString(R.string.google_api_key);
if (!Places.isInitialized())
Places.initialize(getApplicationContext(), apiKey);
这些行在导致此问题的 Activity 中使用。我需要知道如何解决这个问题。因为 Google newplaces API 也是我的要求,所以我无法避免在代码中使用这些行。
最佳答案
问题是您直接将 google api key 保存在 strings.xml
中。因此,任何人都可以轻松获取您的 key 并使用它,如果他们提取了您的 apk 文件,即使您使用了 proguard,它也不会帮助您。
您可以采取以下步骤来帮助最大限度地减少 API key 的暴露
- 通过发出请求从服务器获取 Api key 。该 api 应该仅适用于您应用程序中的授权用户。当然,即使这不是 100% 安全,但它比直接将 api key 保留在应用程序中要好。
- 定期重新生成您的 API key 。您可以从 Credentials 重新生成 API key 单击每个 key 的重新生成 key 页面。然后,更新您的应用程序以使用新生成的 key 。生成替换 key 后,您的旧 key 将继续有效 24 小时
- 添加对 API key 的限制,请检查 this关于如何做到这一点的部分
关于java - Google New Places API - 您的应用程序包含公开的 Google Cloud Platform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57967507/