android - 具有受限密钥的应用程序中的谷歌地图不起作用
问题描述
我有一个渲染 MapView 和折线的 android 应用程序,如果我使用 IP 受限 API 密钥,它可以在 Android 模拟器上正常工作,但当我使用 android 受限密钥时,它甚至不显示地图,而且绝对没有折线世博会构建的应用程序在我的手机上运行。
我的 app.json 中有以下内容:
{
"expo": {
"android": {
"package": "com.company.project",
"permissions": [ "CAMERA" ],
"config": {
"googleMaps": {
"apiKey": "ACTUAL_API_KEY_HERE"
}
}
},
...
代码的方向部分如下:
const key = Constants.manifest.android.config.googleMaps.apiKey;
const resp = await fetch(`https://maps.googleapis.com/maps/api/directions/json?origin=${ startLoc }&destination=${ destinationLoc }&key=${ key }`);
const respJson = await resp.json();
我正在使用以下命令构建我的应用程序:
世博会构建:安卓
然后我从 expo.io 下载 apk。
该密钥仅限于 GCP 控制台中的 android 应用程序。我已验证我的 app.json 中的包名称与限制中的名称匹配,并且我从“expo fetch:android:hashes”命令中获取了 SHA-1 指纹。
正如我所说,这在模拟器中运行良好(使用 IP 受限密钥),但在我的手机上运行时却不行。我错过了什么吗?
解决方案
检查你在 Manifest 文件中使用元数据。
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
推荐阅读
- r - 将自动后缀添加到列名 R
- http2 - Https 与 Android
- python - 如何用 python celery 异步任务实现随机任务?
- ios - 在不相关的 ViewController 之间传递数据
- javascript - JQuery 3.3.1 --- 添加类到
- tsc - 存储对命名空间而不是类型的引用
- c++ - 使用 OpenGL 3+ 平移和缩放矩形
- python - python - html - 如何通过将标签外的文本转换为标签来修改代码
- reporting-services - 如何在 SQL Server 报告服务上显示图像?
- javascript - 请用javascript自动解释全局