如何让多个应用风格使用相同的 google-services.json 文件?
How can I make multiple app flavors use the same google-services.json file?
我想要一个 google-services.json 文件,具有一个应用程序 ID,在一个 Firebase "project," 中连接到一个 Firebase "app" 供多种使用我的 Android 应用程序的口味。
我的口味品牌不同,但它们的工作原理非常相似,我希望所有这些口味的分析数据最终都在 Firebase 中的同一个地方。但是,它们(当然)都有 Android application IDs/package 后缀不同的名称,并且 none 这些风味包名称与 google-services.json,根本没有后缀。
我见过很多方法可以将 Android 应用程序的不同风格连接到同一 Firebase "project," 中的不同 Firebase "apps" 但这不是我想要做的:我想要将不同的 Android 应用风格连接到 相同的 Firebase "app."
有没有办法用 Firebase 做到这一点,还是我应该看看其他地方?
谢谢,
丹·韦伯
根据documentation你需要一个默认项目在google-services.json但是除了默认你可以添加您的分析项目。
In the event that an app requires access to another Firebase project
in addition to the default project, initializeApp(Context,
FirebaseOptions, String) must be used to create that relationship
programmatically.
所以你想签出 FirebaseApp#initializeApp(Context context, FirebaseOptions options, String name)
来添加你的分析项目。可以找到如何初始化的文档 here.
事实上,我之前的回答不足以回答您的问题,因此我创建了一个分步指南。
循序渐进
使用您想要的默认产品风格构建应用程序。
从您的 app/build.gradle
中删除 apply plugin: 'com.google.gms.google-services
。该插件读取 google-services.json
中的值,并在编译时将它们复制到 xml 值文件中。我们将在步骤 4 中手动执行此操作。
在主文件夹中创建一个新的(或使用现有的)xml 值文件。
转到 app/build/generated/res/google-services/{productFlavor}/debug/values/values.xml
并将这些值复制到在步骤 3 中创建的值 xml 中。将 {productFlavor} 替换为在步骤 1 中选择的产品口味。
删除google-services.json
现在将使用您的默认应用程序的凭据,您无需按照我在之前的回答中提到的方式进行初始化
我想要一个 google-services.json 文件,具有一个应用程序 ID,在一个 Firebase "project," 中连接到一个 Firebase "app" 供多种使用我的 Android 应用程序的口味。
我的口味品牌不同,但它们的工作原理非常相似,我希望所有这些口味的分析数据最终都在 Firebase 中的同一个地方。但是,它们(当然)都有 Android application IDs/package 后缀不同的名称,并且 none 这些风味包名称与 google-services.json,根本没有后缀。
我见过很多方法可以将 Android 应用程序的不同风格连接到同一 Firebase "project," 中的不同 Firebase "apps" 但这不是我想要做的:我想要将不同的 Android 应用风格连接到 相同的 Firebase "app."
有没有办法用 Firebase 做到这一点,还是我应该看看其他地方?
谢谢, 丹·韦伯
根据documentation你需要一个默认项目在google-services.json但是除了默认你可以添加您的分析项目。
In the event that an app requires access to another Firebase project in addition to the default project, initializeApp(Context, FirebaseOptions, String) must be used to create that relationship programmatically.
所以你想签出 FirebaseApp#initializeApp(Context context, FirebaseOptions options, String name)
来添加你的分析项目。可以找到如何初始化的文档 here.
事实上,我之前的回答不足以回答您的问题,因此我创建了一个分步指南。
循序渐进
使用您想要的默认产品风格构建应用程序。
从您的
app/build.gradle
中删除apply plugin: 'com.google.gms.google-services
。该插件读取google-services.json
中的值,并在编译时将它们复制到 xml 值文件中。我们将在步骤 4 中手动执行此操作。在主文件夹中创建一个新的(或使用现有的)xml 值文件。
转到
app/build/generated/res/google-services/{productFlavor}/debug/values/values.xml
并将这些值复制到在步骤 3 中创建的值 xml 中。将 {productFlavor} 替换为在步骤 1 中选择的产品口味。删除
google-services.json
现在将使用您的默认应用程序的凭据,您无需按照我在之前的回答中提到的方式进行初始化