首页 文章

使用FCM向不同用户发送推送通知

提问于
浏览
0

我正在开发一个门铃项目,我想在客人来到门铃时向用户发送推送通知,它应该向用户发送推送通知(即房屋所有者) . 我想在我的Android应用程序中使用 Firebase Cloud Messaging .

我们使用RaspberryPi作为硬件控制器 . 当有人按下他们的门铃时,它会触发用户在他们的Android设备上使用FCM的通知 . (这不是一个值得关注的问题 . )

My confusion is:

According to this post on SO, FCM会将推送通知发送到我们在应用程序中提到的预定义'registration_ids' . 但就我而言,每个用户都会有不同的注册ID . 此外,用户数量也不固定 .

它可以是任意数量的用户 . 谁使用门铃将有自己的身份 .

So it will be a possible scenario like:

  • 假设我在应用程序中没有提到任何注册ID . 10个用户在家中安装了这个门铃,而房子里的人没有按下门铃按钮,FCM会向所有10个用户发送推送通知 . 原因是,所有已从PlayStore安装应用程序的设备的注册ID都相同 .

  • 假设我在app中提到了3个注册ID . 因此,3个用户将同时获得相同的推送通知 .

  • 如果我没有错,如果我只输入1个注册ID,即使按下5个不同的房门铃,也只有1个用户会收到通知,同一个用户将被通知5次 .

  • 如果我声明要在服务器端通知的特定注册ID(即RaspberryPi),我必须定期添加新的注册ID,因为我的应用程序中的用户数量增加并经常更新 .

那么我该如何解决这个问题呢?

我还没有开始开发这个应用程序,因为我对第一步本身感到困惑 .

如果我在某处出错了,请指导我,因为我是Push Notifications或FCM的新手 . 我可能没有理解FCM的概念,这是可能的,但我不确定 . 如果使用FCM无法实现此解决方案,请为我提供一些其他选项 .

1 回答

  • 1

    注册令牌对应于单个应用实例(请参阅我的回答here) .

    在您的帖子中,您似乎将注册ID混淆为应用程序中的永久性内容,而不是 .

    每当用户安装您的应用程序时,在第一次初始化时,它应该生成自己的注册令牌,您必须将该令牌保存到App Server,确保将其与相应的用户详细信息相关联 .

    对于您的用例,您可以使用Topic Messaging,您只需在其中订阅相应的门铃主题,并且每次触发特定门铃时,您都会向相应的主题发送消息 .

相关问题