当前位置: 首页 > 知识库问答 >
问题:

如何使多个应用风格使用相同的谷歌服务.json文件?

糜宜民
2023-03-14

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

我的口味有不同的品牌,但它们的工作原理非常相同,我希望所有这些口味的分析数据最终都能在Firebase中的同一位置。然而,它们(当然)都有不同后缀的Android应用程序ID/包名称,并且这些风格的包名称都与谷歌服务中的名称不匹配。json,它根本没有后缀。

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

有没有办法用Firebase做到这一点,或者我应该去别的地方看看?

谢谢,丹·韦伯

共有2个答案

王泓
2023-03-14

根据文档,您需要在google-services.json中有一个默认项目,但是除了默认项目之外,您还可以添加您的分析项目。

如果某个应用除了默认项目之外还需要访问另一个 Firebase 项目,则必须使用初始化应用(上下文、Firebase选项、字符串)以编程方式创建该关系。

因此,您希望签出< code > firebase app # initialize app(Context上下文,FirebaseOptions选项,字符串名称)以添加您的分析项目。如何初始化的文件可以在这里找到。

宰父衡
2023-03-14

事实上,我之前的回答不足以回答您的问题,所以我创建了一个逐步指南。

>

  • 以您想要的产品风格作为默认风格构建应用程序。

    从您的应用程序/build.gradle中删除应用程序插件:com.google.gms.google服务。该插件读取google-services.json中的值,并在编译时将它们复制到xml值文件中。我们将在步骤4中手动执行此操作。

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

    转到应用/构建/生成/分辨率/谷歌服务/{产品Flavor}/调试/值/值.xml并将这些值复制到步骤3中创建的值xml中。将 {产品Flavor} 替换为在步骤 1 中选择的产品变种。

    删除谷歌服务.

    现在,将使用您默认应用程序的凭证,您不需要按照我在之前的回答中提到的方式进行初始化

  •  类似资料:
    • 我有一个android sdk,需要使用它的应用程序在其项目目录中google-services.json文件。 我想知道如果应用程序已经有了文件,并从其自己的google开发者控制台接收FCMs。 一个应用程序可以有多个文件用于相同的风格。一个应用程序可以从两个不同的谷歌开发者控制台帐户接收FCM吗?或者一个应用程序如何从两个不同的谷歌开发者控制台接收FCM? 我只是在尝试探索如何将FCM从我的

    • 我有一个在谷歌应用程序引擎上运行的Django应用程序。 我希望所有对静态内容的请求将不是由Django应用程序服务,而是一个谷歌云存储桶,我已经在上面上传了应用程序需要的所有内容。 存储桶具有公共访问权限,我可以通过浏览器查看静态内容,其URL如下所示: https://www.mydjangoapp.com/static/image.jpg 将由存储提供服务:https://storage.g

    • 我知道这个问题已经被问过了,但是问题仍然存在于任何版本的com.google.gms:google-services 4.2.0以上:我的google-services.json文件的搜索位置不再考虑风味植物学。 上面只写着: 文件谷歌服务。缺少json。没有它,谷歌服务插件就无法运行。 搜索位置:~/app/google-services.json 而不是~/app/src/TopfavorSu

    • 我想使用谷歌驱动器作为一个网站的准CMS工作,我正在使内容所有者可以编辑他们的内容使用谷歌驱动器。我希望使用一个可以访问Google Drive的特定用户帐户(在写这篇文章时,服务帐户不能直接访问Google Drive),并且能够与内容所有者共享文档。 在阅读了API和教程之后,我在委托中找到了答案:https://developers.google.com/drive/development

    • 我想同步两个谷歌日历自动每当有一个更新到其中之一。请注意,这两个日历并不相同。我认为设置一个由日历触发的触发器就足够了。但谷歌文档称 这些触发器不会告诉您哪个事件发生了变化或它是如何变化的。相反,它们表示您的代码需要执行增量同步操作,以获取日历的最新更改。 所以我从谷歌找到了一个完全和增量同步的实现 我使用了上面链接中的函数LogSynceEvents()和getRelativeDate(),没有

    • 我有两个服务运行在谷歌计算引擎。这些服务是用GO编写的。每个服务都有单独的GCP服务帐户。在调用另一个服务时,我可以使用此服务帐户对一个服务进行身份验证吗?有没有适合它的API? 我不知道如何验证访问令牌的身份?正如其中一个答案所指出的,我无法向GCP IAM添加自定义权限(角色+资源)。 有大量关于验证Google云平台API调用的文档,但没有任何关于使用服务帐户来保护自己的endpoint的文