如何使用google-services.json和Google Maps API密钥?

9

一款应用程序使用Firebase和Google Maps Android SDK。

通过在Firebase控制台上下载的google-services.json文件,Firebase可以正常工作。

然而,Google Maps API密钥是在AndroidManifest.xml文件中提供的:

<meta-data
   android:name="com.google.android.geo.API_KEY"
   android:value="${google_maps_key}" />

根据构建变体,在build.gradle中提供了Google Maps密钥:

manifestPlaceholders.google_maps_key = "<REMOVED>";

谷歌地图功能在debug构建变体中可以使用,但在release中无法使用。Google Cloud控制台中的API已启用,凭据也正确(SHA1指纹,API限制)。Google Cloud控制台未显示发布项目的任何 API请求。

google-services.json包含一个API密钥,在Google Cloud控制台或Firebase中均未找到该密钥 ("api_key": [{ "current_key": <REMOVED> }])。

JSON文件是否与谷歌地图API密钥冲突?

1个回答

3

以下是可供使用的内容,注意如果您使用谷歌播放Gradle插件(即id("com.google.gms.google-services")),则google_api_key将自动通过google-services.json生成。

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="@string/google_api_key" />

1
如果您用于地图的 API 密钥和 google.json 文件中的密钥不同怎么办? - Harsha
如果它们不同,那么只需通过 Gradle 属性注入一个单独的项?android.productFlavors.<flavor>.resValue 'string','google_maps_api_key',getProperty('GOOGLE_API_KEY_<DEV|PROD>') - John Michelau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接