如何让多个应用程序风格使用相同的google-services.json文件?

时间:2017-08-14 19:59:46

标签: android firebase analytics google-play-services

我想有一个google-services.json文件,其中有一个应用程序ID,连接到一个Firebase“项目”中的一个Firebase“应用程序”,用于我的各种Android应用程序。

我的口味标注不同,但它们的工作方式非常相似,我希望所有这些产品的分析数据最终都位于Firebase中的相​​同位置。但是,它们(当然)都具有后缀不同的Android应用程序ID /包名称,并且这些flavor包名称中没有一个与google-services.json中的名称匹配,后者根本没有后缀。

我已经看到很多方法可以将不同风格的Android应用程序连接到同一个Firebase“项目”中的不同Firebase“应用程序”,但这不是我想要做的:我想将不同的Android应用程序风格连接到相同的 Firebase“app。”

有没有办法用Firebase执行此操作,还是应该查看其他地方?

谢谢, Dan Wiebe

2 个答案:

答案 0 :(得分:4)

确实我之前的回答还不足以回答你的问题所以我已经创建了一步一步的指南。

一步一步

  1. 使用您想要的产品风格构建应用程序。

  2. data.sort( (a, b) => (order === 'desc' ? b[key] > a[key] : a[key] > b[key]), ) 中删除apply plugin: 'com.google.gms.google-services。此插件读取app/build.gradle中的值,并在编译时将它们复制到xml值文件中。我们将在第4步手动执行此操作。

  3. 在主文件夹中创建一个新的(或使用现有的)xml值文件。

  4. 转到google-services.json并将这些值复制到步骤3中创建的值xml中。将{productFlavor}替换为步骤1中选择的产品风格。

  5. 删除app/build/generated/res/google-services/{productFlavor}/debug/values/values.xml

  6. 现在将使用默认应用程序中的凭据,您无需初始化我在上一个答案中提到的方式

答案 1 :(得分:0)

根据documentation,您需要 google-services.json 中的默认项目,但除了默认项目,您还可以添加分析项目。

  

如果应用需要访问其他Firebase项目   除了默认项目,initializeApp(Context,   必须使用FirebaseOptions,String)来创建该关系   编程。

因此,您希望结帐FirebaseApp#initializeApp(Context context, FirebaseOptions options, String name)以添加您的分析项目。可以找到文档如何初始化here