我不想登录或注册我的应用程序 . 我也在应用程序中实现了基于火灾的通知 .
我可以使用基于Fire的FCM ID(令牌)作为唯一用户标识符 . 我将创建一个FCM表(id(pk),FCMID),而不是在系统中创建用户,并根据该FCM id存储用户的所有信息 .
如果是,则在什么情况下更改FCM ID .
你可以,但你不应该
FCM令牌 can change 如果您看到用于获取FCM令牌的服务,那么必须扩展 FirebaseInsanceIdService 内部方法的那个称为 onTokenRefresh() ,因为每次刷新新的FCM令牌时都会触发它 . 在以前的谷歌 Cloud 消息传递(GCM)中,这对我来说是不稳定的,但在目前的FCM中似乎并不常见 .
FirebaseInsanceIdService
onTokenRefresh()
您可以通过以某种形式的本地持久性(共享首选项,数据库等)保存当前令牌来实现此目的 . 然后,当使用存储的FCM刷新FCM时,可以更新实时数据库中的节点 .
这将有一些不好的情况:如果用户通过重新安装或更改设备重新登录会发生什么?第一种方法可以通过在设备中保存唯一的东西来解决,但是在启动或恢复出厂设置后会重置这些内容 . 然后,更通用的解决方案将使用户在每次登录时输入对他们来说唯一的东西 . 它可以是电子邮件,也可以是电话号码 .
这导致我,use phone authentication instead
我希望这对你有所帮助
这是fcm中的mydb
在json中的db结构,
walinnstracker{ active_users{ info{ "count" : "13", "female_count" : "0" "male_count" : "0" } } }
2 回答
你可以,但你不应该
FCM令牌 can change 如果您看到用于获取FCM令牌的服务,那么必须扩展
FirebaseInsanceIdService
内部方法的那个称为onTokenRefresh()
,因为每次刷新新的FCM令牌时都会触发它 . 在以前的谷歌 Cloud 消息传递(GCM)中,这对我来说是不稳定的,但在目前的FCM中似乎并不常见 .您可以通过以某种形式的本地持久性(共享首选项,数据库等)保存当前令牌来实现此目的 . 然后,当使用存储的FCM刷新FCM时,可以更新实时数据库中的节点 .
这将有一些不好的情况:如果用户通过重新安装或更改设备重新登录会发生什么?第一种方法可以通过在设备中保存唯一的东西来解决,但是在启动或恢复出厂设置后会重置这些内容 . 然后,更通用的解决方案将使用户在每次登录时输入对他们来说唯一的东西 . 它可以是电子邮件,也可以是电话号码 .
这导致我,use phone authentication instead
我希望这对你有所帮助
这是fcm中的mydb
在json中的db结构,