2016-03-04 44 views
3

我們有多個服務器環境(例如開發,登臺和發佈),每個都在Google Developer Console中作爲他們自己的項目,並且希望能夠從我們的Android應用程序登錄其中任何一個環境,以進行測試。谷歌在多個服務器環境中登錄Android應用程序?

我得到了谷歌簽入的工作環境之一(以下教程here),但是當我試圖讓別人here,我得到以下錯誤:

The SHA-1 you specified is already used with the same package name for a different Android OAuth2 client.

好像我們不允許爲具有多個項目的相同包名/簽名證書哈希登錄。那麼,如何讓我們的應用程序能夠在我們的每個服務器環境中登錄Google?有沒有解決的辦法?

回答

2

似乎不可能如上所述;如錯誤消息所述,您只能爲每個簽名證書散列/程序包組合的一個後端項目啓用Google登錄。我最終做的是爲不同的productFlavors(每個端點一個)創建多個applicationIdshttp://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename)。

+0

這意味着您在Play商店中有多個應用程序。我只有一個應用程序,我需要登錄到3個不同的Firebase項目,但我不能這樣做,因爲Google只允許一個擁有指紋。我如何解決這個問題? – Herno

0

您必須解決這幾個選項..

您可以使用不同的證書籤收不同環境的應用程序,併爲每個環境的不同的項目。

其他選擇是對每個環境使用不同的包名稱,例如, com.mycompany.myapp.dev com.mycompany.myapp.staging和com.mycompany.myapp(用於生產)

您只能擁有一個客戶端ID,它們具有相同的軟件包名稱和證書散列組合。

2

在一個開發控制檯項目中,您可以添加多個OAuth 2.0客戶端,例如,

    Web服務器的
  1. 多個實例(如果你不希望共享客戶端ID和密碼)
  2. 多個Android客戶端(每一個Android客戶端是唯一通過包名+簽名證書SHA1哈希標識,而這包名+簽名證書對其他人來說不是祕密,你不會希望別人僞造你的Android客戶端並獲得相同的OAuth令牌,所以Google不允許在另一個dev控制檯項目中進行第二次登錄)