无法从 Firebase 控制台接收通知

10

我通过 Firebase 控制台发送通知后没有收到通知,我尝试发送了许多通知,但只从大约 20 条通知中收到了一两条,我遵循了这个指南Firebase 消息推送来自 Github,为什么我收不到通知?我的应用程序已安装在一个模拟器和我的手机中,但当我通过通知面板发送通知时,我要么在手机上收到它们,要么在模拟器上收到它们,从未同时在两者上收到过。

以下是我的控制台截图 enter image description here


2
(酷炫的名字),你是如何检查通知的呢?请注意,当应用程序在前台运行时,不会生成任何通知。 - Arthur Thompson
你的屏幕看起来像我的。似乎它不像我们期望的那样正常工作。我也和你一样感到沮丧。然后我去了健身房,当我回来时,发现它开始工作了。所以我会建议让它安定一下(前提是你按照文档操作)。 - Alok C
7个回答

8
  1. 在 Firebase 控制台中检查您的 Android 应用程序配置

  2. 使用 RESTful 客户端发出请求,我建议使用此 Chrome 扩展:chrome-extension://aejoelaoggembcahagimdiliamlcdmfm/dhc.html。在那里您可以查看请求的响应,以确定您的请求是否成功发送,或者您是否遇到错误,响应还会告诉您发生了什么类型的错误

  3. 检查 Android 应用程序中的 onMessageReceived 方法,并打印所有内容,以查看是否收到信息。此外,您可以打印 "from" 属性,它是您项目的 ID 号码,您可以查看消息是否来自您的 Firebase Android 应用程序

  4. 查看 Firebase 文档。我只是按照指南实现了所有内容,而且效果非常好。


5
我解决了同样的问题。
问题似乎是浏览器兼容性/版本。Mozilla Firefox可以轻松处理此问题。
1. 确保您的应用程序在后台运行。 2. 在Firefox浏览器中打开Firebase通知控制台并发送通知。

1
谢谢!我刚刚浪费了半天时间调试为什么我没有收到来自Safari的通知。Chrome(毫不意外)完全正常。 - redPanda
@redPanda 太棒了,伙计。 - Niamatullah Bakhshi
不知道为什么,但我只是把我的应用程序放到后台,现在它可以工作了! - CGR

1
请注意生成令牌。
FirebaseInstanceId.getInstance().getToken();

0
除了 Pavul Zavala 提到的提示之外,还要记住,即使应用程序关闭或在后台运行,FirebaseMessagingService 只能接收数据消息,而无法处理 notification message(至少目前是这样)。
并且通过 FireBase 控制台 发送的所有消息都包含一个通知键。
更多详细信息请参见: 当应用程序在后台或未运行时,推送通知工作不正确

0

在我的情况下,Firebase控制台定义的包名与应用程序的Gradle和清单中定义的不同(我曾经在应用程序中更改过它),因此应用程序将无法接收从Firebase控制台发送的通知。 它们必须相同!

我没有添加新的Firebase项目,只需转到控制台上的项目设置并使用另一个包名添加新的Android应用程序,然后查看新生成的google-services.json并更改一些行以适应您的Android Studio项目。


0
在我的情况下,帮助我的是在Android Studio中创建一个新的模拟器。
需要检查的几件事情:
  • 在Firebase控制台https://console.firebase.google.com/中添加/配置项目

  • 在Android Studio中连接到Firebase - 菜单 -> 工具 -> Firebase -> 云消息传递(连接,将FCM添加到您的应用程序)

  • 从Firebase控制台发送通知

所以,我重新创建了虚拟设备(打开AVD管理器并创建具有相同API级别的相同设备)
如果有人能够通过这篇文章节省时间,我会很高兴 :)

-2
理想情况下,它不应该表现出这样的行为,但可能是由于以下原因:
- 检查设备的应用设置中的应用通知优先级。 - 你可能正在发送某个特定设备的令牌,你的目标应该是用户群体。

我选择了我的应用程序包名称,然后针对目标用户群进行了跟踪。 - Red

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接