所以这是我的情况,我已连接到firebase控制台上的 ApplicationA 项目来处理通知。但我也希望从 ApplicationB 项目中收听数据库。
问题是我只能有一个google-services.json
,我必须在一个或另一个之间做出选择,但不能两者兼而有之。所以,我的问题是,我如何指定从另一个应用程序中监听来自google-services.json
的数据库。
自更新以来,项目链接由json在内部处理。在更新之前,我能够粘贴我想要收听的数据库的整个链接。
以下是我正在侦听某些数据库路径的方式:
FirebaseDatabase database = FirebaseDatabase.getInstance();
fireActionUpdate = database.getReference("org/" + nameId + "/action");
fireRuleResponse = database.getReference("org/" + nameId + "/notify");
之前:
fireActionUpdate = new Firebase("https://yellow.firebaseio.com/org/" + nameId + "/action");
fireRuleResponse = new Firebase("https://yellow.firebaseio.com/org/" + nameId + "/notify");
答案 0 :(得分:2)
此解决方案是,如果您要将两个应用程序绑定到同一个Firebase Database
,但又想使用FCM
等所有功能。
请按以下步骤操作
google-services.json
两个项目。转到文件1 并复制除project_number
&之外的标题。两个应用的project_id.
Basically keep the
Firebase_url &&
storage_bucket`相同。
同时保持两个项目的client id
和api key
相同。
现在你已经准备好了。
要像之前一样连接Firebase database
,请按照以下代码
DatabaseReference baseRef = FirebaseDatabase.getInstance().getReferenceFromUrl("https://<APP_NAME>.firebaseio.com/");
照常执行其余操作。
希望他们不会推动另一次更新来打破这个规则:D
注意:这些更改已经过测试,我将其用于我的2个单独的应用程序,用于集成FCM的消息传递
对于我最终遇到的一些已知问题,您可以查看我发布的代码Android not receiving Firebase Push Notification - MismatchSenderId
快乐编码!!