【问题标题】:Android device receives Firebase notifications twice when sending from REST API从 REST API 发送时,Android 设备会收到两次 Firebase 通知
【发布时间】:2020-09-16 16:07:47
【问题描述】:

我有一个使用 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 twice,我注意到就像 Tom Bevelander 的回答一样,我有一个使用 GCM 的第三方库,当我从项目中删除该库时,问题已解决。

所以我必须强制我的用户更新应用程序。但我真的不想要这种方法。我看到的是,在以前的版本(包括 GCM 的应用程序)上,当我使用 Firebase 面板本身测试推送通知时,一切正常,设备会收到单一通知。但是通过 api 调用,设备会收到重复的通知。这种方法有什么区别?如何找出 FirebasePanel 背后发生的事情?这样我就调用了面板使用的同一个 api? 我测试过的端点是这样的:

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

还有这个:

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

【问题讨论】:

  • Firebase 控制台正在发送通知消息。您可以在哪里使用 API 发送通知和数据有效负载。您能否分享用于从您的服务器发送 FCM 的代码?
  • @Abdussamad 我尝试只发送没有数据负载的通知,还是一样
  • 你好,面临同样的问题。你找出问题所在了吗?
  • @AndriyAntonov 我有一个使用 GCM 的第三方库,当我从项目中删除该库时,问题已解决。

标签: android firebase push-notification firebase-cloud-messaging google-cloud-messaging


【解决方案1】:

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

【讨论】:

  • 我说问题是因为第三方库中的 GCM。当我删除那个库时,问题就解决了。那不是我的问题。我想知道为什么从面板发送通知不同于通过rest api发送通知
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-24
  • 2017-07-04
  • 2016-02-11
  • 2017-09-16
  • 2017-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多