2016-07-31 79 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登录。如果您查看其他服务的指南,您会注意到它们不会同时添加这两项。 –