我们在Android和iOS本机应用程序中使用两种Firebase服务-Firebase Analytics和FCM(Firebase Cloud Messaging)。这些服务由两个独立的团队拥有-分析团队拥有包含分析项目的Firebase帐户,而IT团队拥有FCM(包含FCM项目)的一个。对于内部使用FCM密钥(FCM项目中的API密钥)的PUSH消息,我们也使用UrbanAirship。应用程式目前使用的是从Analytics(分析)帐户下载的google-services.json,因此Analytics(分析)事件可以正常运作。
但是PUSH通知不起作用,因为UA(UrbanAirship)帐户包含来自其他帐户的FCM API密钥。作为临时解决方案,我们将UA配置为使用Analytics(分析)项目中的FCM密钥(因为应用仅使用来自Analytics(分析)帐户的JSON),我认为这不适合长期运行,这会导致两个团队之间的依赖性。在这种情况下,请分享您对最佳做法的专家意见,以便两个团队(Analytics,IT)都可以独立管理其(独立的)帐户。
请注意,我经历了下面复制的其他几个线程,但它们指的是处理多个项目,而不是单独的帐户。因此发布了这个问题。谢谢!
Can one single application connect with multiple Firebase Account?
Use multiple firebase accounts in single android app for google analytics
答案 0 :(得分:0)
最后,我们找到了上述问题的解决方案,并想到了与所有人共享,从而也对他人有所帮助。 “截止日期”(不确定将来的更新): Android项目中的 Firebase Analytics SDK (实际上还有许多其他Firebase功能)也取决于我们从Firebase控制台(相应项目)下载并在Android项目中使用的google-services.JSON文件。
相反,通过Urban Airship(UA)SDK进行的PUSH通知与google-services.JSON没有任何依赖关系,实际上,它仅取决于airshipconfig.properties文件设置。
因此,我们可以维护不同的Firebase帐户,例如在我们的案例中,一个由Analytics(分析)小组控制,另一个由IT小组控制,用于PUSH通知(与Urban Airship集成)。
请注意,UA服务器端设置(在控制台上)和Android App(airshipconfig.properties)可以按以下方式设置:
UA控制台-在 Settings-> Platforms-> Android-> API Key 部分中,使用从 Firebase控制台-> Settings-> Cloud复制的API密钥信息->服务器密钥。请参阅下面复制的示例屏幕截图。
Android应用(airshipconfig.properties)-使用上述Firebase控制台同一部分中的“发件人ID”。 API密钥和SenderID在客户端和服务器组件之间建立关联。
iOS App -由于iOS App依赖于APNS而不是Firebase FCM,因此不需要在Urban Airship控制台中为其设置任何特定密钥。但是,该证书需要在UA控制台中提供。