没有收到来自控制台的 firebase 通知

not receiving firebase notification from console

我在通过 firebase 控制台发送通知后没有收到通知,我尝试发送很多通知,但从大约 20 条通知中收到了一两条,我遵循了本指南 firebase messaging from github ,为什么我没有收到通知,我的应用程序安装在一个模拟器和我的 phone 之一中,但是当我收到通过通知面板发送的通知时,我要么在 phone 上要么在模拟器上收到它们两者都有。

下面是我的控制台截图

理想情况下它不应该这样,但可能是由于以下原因:

  • 在设备的应用设置中检查您的应用的通知优先级。
  • 您可能正在发送一个特定设备的令牌,您的目标应该是用户段。
  1. 在 firebase 控制台中检查您的 android 应用配置

  2. 使用 restful 客户端发出请求,我建议 chrome-扩展名://aejoelaoggembcahagimdiliamlcdmfm/dhc.html, 在那里你可以看到请求的响应,如果你的请求发送成功或者你有错误,并且响应告诉你有什么样的错误

  3. 检查android app,在onMessageReceived方法中打印所有内容,看是否收到信息,此外还可以打印属性 "from"谁是id_number 您的项目,您可以查看消息是否来自您的 firebase android app

  4. 检查 firebase documentation。 我已经根据指南实现了所有内容,并且效果很好

在我的例子中,在 firebase 控制台定义的包名称与 gradle 和应用程序清单中定义的包名称不同(我在应用程序中更改了一次),所以应用程序不会'无法接收从 firebase 控制台发送的通知。 它们必须相同!

我没有添加新的 firebase 项目,只需转到控制台的项目设置并添加新的 android 应用程序 和另一个包名称并查看新生成的 google-services.json 并在 android 工作室项目中更改一些行。

除了 Pavul Zavala 所说的提示外,请记住这一点,即使应用程序关闭或 运行 在后台,notification message 也只能接收数据消息 FirebaseMessagingService在后台应用程序 运行 时(直到这一刻)不处理。

并且所有通过 FireBase console 发送的消息都包含 ,它们总是包含一个通知密钥

更多详细信息,请访问:

确保生成令牌

FirebaseInstanceId.getInstance().getToken();

我解决了同样的问题。

问题似乎是浏览器 compatibility/version。 Mozilla Firefox 可以轻松处理这个问题。

  1. 确保您的应用 运行 在后台运行。

  2. 在 FireFox 浏览器中打开 Firebase 通知控制台并发送通知。

就我而言,对我有帮助的是在 Android Studio

中创建了一个新的模拟器

需要检查的几件事:

  • 在 Firebase 控制台中 https://console.firebase.google.com/ add/configure 项目

  • in Android Studio 连接到 Firebase - Manu -> Tolls -> Firebase -> Cloud Messaging(连接,将 FCM 添加到您的应用)

  • 从 Firebase 控制台发送通知

因此,我再次重新创建了虚拟设备(打开 AVD 管理器并创建具有相同 API 级别的相同设备)

如果有人能用这个节省时间我会很高兴 post :)