我在 Google Play 上发布了一个 Android 应用程序,它是我用 Expo 和
React Native
构建的。
我试图限制我的 Google API 密钥仅适用于 Android 应用程序本身,在这里:
我选择 “Android 应用程序”,然后我需要添加一个带有
package name
和 SHA-1 certificate fingerprint
的项目。
我添加了 2 项。一个用于
production release
,另一个用于 expo dev build
。
Expo 项目 使用我通过终端命令
eas credentials
为我的开发版本获取的 SHA-1 指纹(SHA-1 对于开发和产品来说是相同的)。
发布项目使用Google Play控制台在“App Signing”部分指定的SHA-1指纹,称为“SHA-1证书指纹”(Google控制台通过App自行提供)签名)
此后,我的应用程序中依赖 API 的功能将无法使用。
例如,我查询 google place api 和 maps SDK,它通常会返回地点和地图标记等。
有了这些限制,它就不起作用了。
如果我将限制恢复为“无”,它就会起作用。
谁能解释一下为什么 google 本身的 SHA-1 不允许我的应用程序在用户的终端设备上运行..?
感谢您的宝贵时间:)
我尝试设置 SHA-1 指纹来限制 API 密钥和对 Android 应用程序的访问。
将限制重置回“无”有效。
这里也一样。我还使用 Google Play 签名和 EAS 凭据,但都不起作用。你找到解决办法了吗?