当前位置: 首页 > 知识库问答 >
问题:

当应用程序更新时,FCM是否更新注册id

满雨石
2023-03-14

我有一个android应用程序,我正在使用FCM(Firebase Cloud Messaging)向我的用户发送推送通知,现在我有一个疑问,当用户更新我的应用程序时,FCM是否更新了应用程序的注册id。如果它更新了,那么如果我将向我的用户发送推送通知给他的旧register_id以及他的new_register id,那么他将收到两次或不收到相同的推送通知。

另外,如果他将收到两次推送通知,那么我怎么能只发送一次通知,因为当我的应用程序更新时,就没有可能的事件可以告诉我的服务器删除旧的register id并在我的数据库中添加新的registerid。

请在这里帮助我,我已经读了很多答案,但他们大多数谈到GCM,但因为现在只有FCM,我不知道如何处理所有这些使用FCM。

共有1个答案

蔺敏达
2023-03-14

FCM系统将自动处理注册ID更改/更新,不会发送该消息两次。有很多原因为什么FCM会更新一个设备的注册ID和这个ID可以更新很多次而你甚至不更新你的应用程序。

我相信,如果您的代码专门注册了设备两次,那么导致两次得到相同警报的唯一方法就是,但是如果您正在按照文档进行入门操作,那么您就不会有这个问题了。

我一直在我的应用程序中使用FCM,自从它出现以来,我已经有数百次注册令牌的更改/更新,我的设备从来没有收到任何通知超过一次,也没有错过一个通知。FCM系统似乎可以相当可靠地处理令牌更改期间的通知!

我的服务器也不会跟踪设备是否收到了通知,但是,我在设备端有一些逻辑,可以更新Firebase数据库中的一个键,以指示设备是否收到了通知。但是,我并不使用这个逻辑来重新发送通知,我只使用它来通知发送者通知是否通过。

更新:只是为了获得一些额外的信息,这里有一个场景,您将收到两个通知,所以请确保您不要尝试同时实现GCM和FCM。Firebase两次发送推送通知

 类似资料:
  • 有多种方法可以更新Electron应用. 最简单并且获得官方支持的方法是利用内置的Squirrel框架和Electron的autoUpdater模块。 Updating Applications There are several ways to update an Electron application. The easiest and officially supported one is

  • 有多种方法可以更新Electron应用. 最简单并且获得官方支持的方法是利用内置的Squirrel框架和Electron的autoUpdater模块。 使用 update.electronjs.org Electron 团队维护 update.electronjs.org,一个免费开源的网络服务,可以让 Electron 应用使用自动更新。 这个服务是设计给那些满足以下标准的 Electron 应

  • 在我的应用程序内,我想检查是否有任何更新的版本,我的应用程序是在app Store。如果有,那么必须通过警告消息通知用户,如果他/她选择升级,我想更新新版本。我想通过我的应用程序完成所有这些。这可能吗?

  • 问题内容: 我需要检查我的应用程序是否在更新时启动,因为我需要创建一个仅在首次安装该应用程序时才出现的视图,以便在更新后再次出现。 问题答案: 您可以将值(例如,当前应用程序版本号)保存到其中,并在每次用户启动应用程序时对其进行检查。 在迅速-2版本看起来是这样的: 在迅速-3版本看起来是这样的:

  • 我已经构建了一个Kafka Streams应用程序。这是我的第一个,所以我正在从概念验证的思维模式转变为“我如何将其产品化?”心态。 tl; dr版本:我正在寻找kafka流部署建议和技巧,特别是与更新应用程序代码相关的建议和技巧。 我已经找到了很多关于Kafka和Streams API如何工作的文档,但是我找不到任何关于实际部署Streams应用程序的文档。 初始部署似乎相当简单-有很好的文档可

  • 了解如何在收到有可用的新版本通知后更新 Creative Cloud 应用程序。 更新 Creative Cloud 应用程序 Adobe Creative Cloud 桌面应用程序会通知您已安装的应用程序之一是否有可用的更新。更新应用程序以便直接访问新增功能、性能改进以及错误修复。操作方法如下。 注意:有关更新应用程序至 Adobe Creative Cloud 2017 版本的详细信息,请参阅