Firebase 从我的电话号码 ID 中删除“+”号

Firebase stripping the "+" sign from my phonenumber id

我有一个 firebase 集合,我在其中使用 phone以“+”号开头的数字作为 ID。

因此,当我创建 Firebase 引用以更新计数器时,创建的 Firebase 引用没有“+”号,这导致创建的新行没有 + 号。为什么 Firebase 去掉 + 号?

我创建的 firebase ref 是这样的:

String id = "+919920801121";
Firebase callCounterRef = new Firebase(FbDbHelper.FB_PROJECTS + projectId + "/leads/" + id + "/callCounter");

这将打印 ref 如下:

https://myapp.firebaseio.com/projects/-K0QiZGSCTobFLE8TItb/leads/%20919920801121/callCounter

这会导致创建一个新的潜在客户,phone 编号为 919920801121,而之前的潜在客户编号为 +919920801121

我怎样才能解决这个问题?

好的,我找到了解决方案。

我没有创建统一路径,而是使用 .child() 方法,它保留了 + 号,如下所示:

Firebase callCounterRef = new Firebase(FbDbHelper.FB_PROJECTS + projectId + "/leads/").child(id+ "/callCounter");

这尊重子密钥并且不对上面所做的结果进行编码。