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

Android设备在从REST API发送时两次收到Firebase通知

薛烈
2023-03-14

我有一个使用FCM获取通知的android应用程序。我正在使用以下版本:

implementation "com.google.firebase:firebase-analytics-ktx:17.4.3"
implementation "com.google.firebase:firebase-inappmessaging-display-ktx:19.0.7"
implementation "com.google.firebase:firebase-messaging:20.2.0"

我最近遇到的问题是,我试图通过REST API调用用自己的后端服务器发送推送通知。我注意到,对于每一次api调用,android设备都会得到两次通知。

所以我检查了这个问题:Firebase send push notification两次,我注意到像Tom Bevelander的答案一样,我有一个第三方库在后面使用了GCM。当我从project中删除该库时,问题就解决了。

所以我必须强制我的用户更新应用程序。但我并不是真的想要这种方法。我看到的是,在以前的版本(包括GCM的应用程序)上,当我用Firebase面板测试推送通知时,一切都运行良好,设备可以得到单个通知。但是使用api调用,设备会得到重复的通知。这两种方法有什么区别?我怎样才能发现FireBasePanel背后发生了什么?以便调用面板本身使用的相同api?我测试的endpoint如下:

https://fcm.googleapis.com/fcm/send

还有这个:

https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send

共有1个答案

傅振濂
2023-03-14

兄弟可能会支持设备令牌可能是重复的,比如两个用户从同一设备登录,并且两个用户的设备令牌是相同的,服务器在设备令牌的基础上通过一个通知,所以如果发现两个或两个以上的相同令牌,就会通过两次通知。

 类似资料:
  • 我成功地集成了firebase。当我仅出于测试目的使用firebase站点的云消息发送通知时,设备会收到通知。但在我的应用程序中,我需要使用firebase从一台设备向另一台设备发送通知。。如何实现这一点。Swift 4,Xcode 10以下是一些代码:

  • 我关掉了又打开了我手机的Wifi,然后手机就收到了那些通知。我在模拟器上打开和关闭平面模式,然后模拟器收到这些通知。我的应用程序有问题吗?还是用火力点?(我已经使用权限)。有什么建议吗? 谢谢!

  • 我正在尝试用C#中的FCM在android设备上发送推送通知。Net,但我收到了“InvalidRegistration”错误消息。 我也用过邮递员和R-Client的方法,但仍然得到同样的错误。 {"multicast_id":8671409506357877791,"成功": 0,"失败": 1,"canonical_ids": 0,"结果":[{"错误":"无效注册"}]}

  • 我试图弄清楚Firebase如何连接到特定设备并向其发送消息。我现在如何使用Firebase和从我的后端服务器向注册的设备发送通知,但我不知道它是如何在内部工作的。firebase服务器是否使用设备和服务器之间的持久连接?它用的是什么技术? 目前,我最感兴趣的是Android设备,以及firebase如何唤醒设备,即使有后台任务限制。

  • 根据新的android策略,我们已经在我的cordova应用程序中设置目标SDK为26(API级别26)。在此之后,android oreo设备不会接收到任何使用GCM从AWS SNS发送的推送通知。

  • 问题内容: 我正在尝试使用新的Firebase服务向我的android设备发送推送通知。我注册并设置了一个应用程序,然后将接收通知所需的所有代码都放入了android应用程序中。通过Firebase控制台,我可以将通知发送到我的应用程序,它会被接收并显示。现在,我想编写一个Java独立服务器,向所有设备发送通知。这是我当前的代码: 这就是我从他们的服务器找回来的结果: 不幸的是,简单地删除“ to