本主题介绍了如何为 Maps SDK for Android 创建 API 密钥、如何将 API 密钥添加到您的应用,以及如何通过限制密钥来保护应用。您必须向使用 SDK 的任何应用添加 API 密钥。
准备工作
在开始使用 Maps SDK for Android 之前,您的项目需要与结算帐号相关联,且启用了 Maps SDK for Android。如需了解详情,请参阅在 Cloud 控制台中进行设置。
创建 API 密钥
API 密钥是唯一标识符,用于对与您的项目相关联的请求进行身份验证,以便您使用相关产品和执行结算。您必须至少有一个与您的项目相关联的 API 密钥。
如需创建 API 密钥,请执行以下操作:
控制台
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:
限制 API 密钥
Google 强烈建议您限制 API 密钥,仅将其用于您的应用所需要的 API。通过限制 API 密钥,可防止您的应用收到无保证的请求,从而提高应用安全性。如需了解详情,请参阅 API 安全性最佳实践。
当您限制 API 密钥时,必须提供用于为应用签名的签名密钥的 SHA-1 证书指纹。证书有两种:
- 调试证书:此类证书只能用于要测试的应用和其他非生产代码。请勿尝试发布使用调试证书签名的应用。Android SDK 工具会在您运行调试 build 时自动生成此证书。
- 发布证书:如果您已准备好将应用发布到应用商店,请使用此证书。Android SDK 工具会在您运行发布 build 时生成此证书。
如需详细了解数字证书,请参阅为应用签名指南。
如需了解如何获取证书指纹,请参阅对客户端进行身份验证。如果您使用的是 Play 应用签名,则必须转到 Play 管理中心的“应用签名”页面才能获取证书指纹。
如需限制 API 密钥,请执行以下操作:
控制台
-
前往 Google Maps Platform > 凭据页面。
- 选择需要设置限制的 API 密钥。系统随即会显示 API 密钥属性页面。
- 在密钥限制下,设置以下限制:
- 应用限制:
- 选择 Android 应用。
- 点击 + 添加软件包名称和指纹。
- 输入您的软件包名称和 SHA-1 证书指纹。例如:
com.example.android.mapexample
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
- API 限制:
- 点击限制密钥。
- 从选择 API 下拉列表中选择 Maps SDK for Android。 如果 Maps SDK for Android 未列出,您需要启用它。
- 点击保存以完成更改。
Cloud SDK
列出现有密钥。
gcloud services api-keys list --project="PROJECT"
清除对现有密钥的现有限制。
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
为现有密钥设置新限制。
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api_target="maps-android-backend.googleapis.com" --allowed-application="sha1_fingerprint=SHA1_FINGERPRINT,package_name=ANDROID_PACKAGE_NAME"
详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令: