使用一个Google Maps API密钥用于不同的Android应用程序

时间:2013-06-25 11:36:03

标签: android google-maps google-maps-android-api-2

我刚生成了Google Maps API密钥,可以在我的Android应用中使用。我必须提供SHA-1指纹和应用程序的包名称。它看起来像这样:

BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample

如您所见,我必须提供应用程序的包名称。那么,这是否意味着我需要为不同的应用程序获取不同的API密钥?

PS:奇怪的是,谷歌为我输入的SHA-1和包名组合生成了两个API密钥。这是正常的吗?那么,我应该使用哪一个?

4 个答案:

答案 0 :(得分:7)

您可以为不同的应用程序使用相同的密钥库和API密钥。

  1. 使用相同的密钥对您的应用进行签名。
  2. 在控制台页面中为每个应用程序添加一行。
  3. 所以,像这样:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.anotherapp
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.temp.lastapp
    

    现在,您可以在所有这些应用中使用相同的API密钥。

答案 1 :(得分:1)

在Google Cloud控制台中使用SHA1和程序包添加项目。

对于不同的Android应用,您绝对可以使用相同的密钥。只需在Google Cloud Platform console处添加所有应用程序包名称和SHA键。它将100%起作用。

enter image description here

如何获取SHA1?

我注意到,当您使用Android Studio生成时,SHA1键是相同的。 您可以通过Gradle signingReport Task来生成SHA1密钥

enter image description here

答案 2 :(得分:0)

您可以对不同的包使用相同的SHA-1打印,但您必须为不同的应用程序制作不同的API密钥。是的,Google会在您每次提出请求时生成一个新密钥。

答案 3 :(得分:0)

古老的问题,但是公认的答案违背了最佳实践。您可以 使用相同的API密钥,但是 最好不要使用。来自Best Practices Docs

  

为不同的应用程序使用独立的API密钥。这限制了每个密钥的范围。如果某个API密钥被盗用,则可以删除和撤消受影响的密钥,而无需更新其他API密钥。