2016-07-31 231 views
2

我最近開始使用Firebase,但我無法完全理解它與Google Play服務的關係。我知道Firebase是一個移動平臺,在Android上它基於Google Play服務,但爲什麼有一些模塊與Google Play服務的名稱相同?Firebase和Google Play服務之間使用哪些依賴關係?

例如,在我的build.gradle我可以有:

com.google.android.gms:play-services-auth:9.4.0 
com.google.android.gms:play-services-ads:9.4.0 

也:

com.google.firebase:firebase-auth:9.4.0 
com.google.firebase:firebase-ads:9.4.0 

我看到,Firebase documentation有可用的組件列表中(請注意,最後一個實際上是Google Play服務模塊):

com.google.android.gms:play-services-appindexing:9.4.0 

same list for Google Play Services要長得多,所以有些模塊不能僅使用Firebase依賴項。我應該使用哪些依賴性,爲什麼?我可以使用混合依賴關係嗎?

+0

您可以使用它們中的任意一個。 Firebase主要用於分析。 firebase-ads只會引用play-services-ads。 Google建議使用Firebase,以便將所有圖書館都放在一個大保護傘下。 – Nikhil

回答

0

在這個新的Firebase(從5月18日起),Google爲其添加了一些現有服務。 Google Play服務已具備以下功能:Google Analytics,AdMob,測試實驗室等,您可以從Google開發者控制檯使用它們。

但是,他們決定將這些功能中的一部分與Firebase合併。這樣,您可以在Firebase控制檯上將所有功能「結合在一起」。他們現在統一起來,爲用戶提供更好的體驗,並幫助您(作爲開發人員)輕鬆管理您的項目。

所以,如果你想使用firebase,你應該使用firebase的依賴關係。 Google Play依存關係適用於在Google Developer Console上創建的項目。

+0

我不這麼認爲:在[官方指南](https://firebase.google.com/docs/auth/android/google-signin)中添加了兩個。根據我的理解,Google Play服務僅僅是Firebase的另一個提供者(如Facebook或Twitter),但我不確定這是否適用於所有Firebase模塊。 – manfcas

+0

@manfcas,Auth與其他服務有點不同。他們之所以加上這兩個,是因爲Firebase應該保證Firebase Auth,而Play服務auth應該保證用Google登錄。如果您查看其他服務的指南,您會注意到它們不會同時添加這兩項。 –