我知道我们可以通过IE(ActiveX对象)获取用户的MAC地址.
有没有办法使用JavaScript获取用户的MAC地址?
我正在考虑使用Firebase云消息传递实现移动和浏览器应用之间的消息传递,我有几个问题,文档似乎没有回答.
为了能够接收消息,您需要注册令牌(RT).消息可以发送到RT,主题或设备组notification_key.也可以使用RT:
RT也可以过期/更改.
在我的应用程序中,我正在维护每个用户的RT列表.现在,当RT改变时:
对不起,这是很多问题,但我想,对于那些经历过这个问题的人来说,它应该是馅饼;)
我正在创建一个使用 goolg 的 firebase 作为其推送通知服务的应用程序。我只是使用推送通知服务器,不想使用它的其他服务(例如数据库、身份验证等)。
在我的应用程序中,注册的用户可以拥有多个设备,因此可以拥有多个 firebase 令牌。onRefreshToken调用时出现问题。我应该知道用户正在使用哪个设备并在我的数据库中更新该特定设备的令牌。所以我应该知道每个设备的唯一标识符,该标识符在设备的生命周期中不会改变。
我想知道是否有更好的方法来解决这个问题,如果没有,我对 android 唯一 ID 感到非常困惑。这两个选项Settings.Secure.ANDROID_ID可能有一些问题(所以我不确定我是否应该使用它)并且TelephonyManger.getDeviceId()有时返回 null 并且对于没有 sim 插槽的设备(例如平板电脑)。
那你建议我怎么做?
在使用Firebase和设备组时,我正在测试令牌(注册ID)更改的情况(例如重新安装应用程序后)但我的逻辑失败,因为在重新安装应用程序后我无法知道以前存储的令牌.
问题是,现在我有一个设备组,其中有两个"ghost"注册ID,我不知道因为它们已经改变了.
我知道在每个成员都未注册后该组被删除但我不知道注册ID以手动取消注册.
我能做什么?
有没有办法检索设备组的成员或立即删除它?
此外,有什么方法可以管理令牌刷新的情况?
我目前理解Firebase Cloud Messaging的方式是,我希望将用户可能在不同设备上拥有的所有 FCM 令牌保存到我的后端,并在我想通知该用户某事时立即向所有这些令牌发送通知。
到目前为止,我假设每个设备只有一个活动令牌,但是,阅读文档的这一部分:
要启用此功能,请确保您拥有每个发件人的发件人 ID。请求注册时,客户端应用程序多次获取令牌,每次在受众字段中使用不同的发件人 ID,使用给定平台的令牌检索方法
这是否意味着我可能需要针对每个设备定位多个活动令牌?
现在来到真正重要的问题。上述问题的一个简单解决方案是简单地将我曾经检索到的每个令牌存储在后端,从而确保我的用户将始终收到消息。
但是,如果用户使用 Firebase 身份验证退出我的应用程序,即在同一设备上的同一应用程序中使用不同的帐户,我该怎么办?
我假设我为此设备发送到我的后端的令牌仍然处于活动状态-因此现在该用户将收到来自另一个帐户的通知,因为该帐户之前已在该设备上登录过。
我确实可以访问当前的 FCM 令牌,并且可以在注销旧用户之前从后端删除它,但考虑到“多个令牌”部分:如何确保我可以删除旧用户的所有 FCM 令牌我的后端?
此外,假设在生成新令牌时设备的旧令牌已失效(不会再触发通知),我是否可以确定此令牌将来永远不会分配给其他设备?
我怎样才能确保我的用户有正确的 FCM 令牌存储在我的后端,更重要的是:我怎样才能确保我的后端中的某个用户没有保存其他用户的令牌?
我通读了:
但是,我仍然不知道如何处理多个令牌。