我有一个可渲染MapView和折线的android应用,如果我使用IP受限的API密钥,但在我使用android受限的API时,它甚至无法显示地图,而且绝对不会显示折线,因此在Android模拟器上可以正常工作与运行在手机上的expo构建的应用程序匹配。
我的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 build:android
然后我从expo.io下载apk。
该键仅限于GCP控制台中的android应用。我已经验证了我的app.json中的包名称与限制中的名称匹配,并且从“ expo fetch:android:hashes”命令中获得了SHA-1指纹。
正如我说的,这在仿真器中(使用IP受限密钥)可以正常工作,但在手机上运行时则不能。我想念什么吗?
检查像这样使用清单文件中的元数据。。