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

Firebase云消息-只有在关闭浏览器时,消息才会显示

罗河
2023-03-14

访问者订阅,我检索FCM令牌。

$data = [
'to' => "xxxxxx-XbPk:APA91bHEJ1Kp8KLhOxVzRmNoAh6459DNCTeGB00jYOp_Ppd9AzTQGM5cU5kE4Pf3ivOhVZYkw-ao5h3R8H2y1yyNu0NdyIf8JiGvZXcxS-KDuaAVZ2ih1xzHGOcmGHRkfZeRdWXk4hM9",
"notification" => [
    "title"=> "Notification Title",
    "body"=> "Notification Body xx"
   ]
]

我使用POST将此消息推送到https://fcm.googleapis.com/fcm/send

它总是说成功=1,

但事实上,只有当网站关闭时,信息才会被传递!

当我关闭选项卡并再次推送消息时,消息被传递。

此外,如果我打开网站或我去该领域的任何地方,如http://example.org/whatever/,但仍返回“success=1”。

测试了Chrome和Firefox,它们的工作原理相同。我必须在不同的网站上的消息显示或浏览器必须最小化。

我做错了什么?我需要消息经常出现。

共有1个答案

孔阳平
2023-03-14

刚刚尝试了谷歌的例子:https://github.com/firebase/quickstart-js/tree/master/messaging

基本上,如果web处于活动状态(您可以在Chrome控制台中看到正在运行的workers),服务器推送方法不会显示通知,而是运行一个客户端函数,您可以这样定义:

messaging.onMessage(function(payload) {
    // ... show notification
});

你必须自己去做。

也很好的来源,实际上使用工人做一切:https://gauntface.github.io/simple-push-demo/

 类似资料:
  • 在我的Android应用程序中,我收到使用Firebase发送的消息,问题不是所有消息都到达,有时消息到达非常慢。 在我的服务器端,我跟踪我发送到FCM的消息,我总是收到成功:来自FCM的1个响应,仍然有我在Android应用程序中没有收到的消息。 我认为FCM消息日志在上面描述的情况下会有很大的帮助,但我不确定是否存在此选项。 有办法浏览Firebase消息日志吗?

  • 这其实是我关于堆栈溢出的第一个问题,所以我挺兴奋的。 提问:我做了一个需要Flash操作的游戏。我想用不是Chrome的浏览器向网站的访问者显示一条消息。 它将是一个字符串:“如果游戏没有正确加载,尝试使用谷歌Chrome”。 如果你们知道一种方法,在不访问谷歌Chrome时显示这个消息(因为那会有点多余),我将非常感谢!

  • 如果一个主题订阅者在向该主题/订阅者发送推送通知时没有在线,那么他/她的消息会丢失还是当他们在线时才收到消息?

  • 我刚开始使用Firebase云消息。我建了一个IOS应用来接收推送通知。应用程序运行良好。我从Firebase控制台发送消息,它们会正确显示。 我的问题是:我可以向所有设备发送一条消息吗(就像我可以在控制台中做的那样)?我是的,怎么会这样? 提前道谢!

  • FCM服务未向我的iOS应用程序发送消息。 > App CAN成功接收APNs令牌和实例ID令牌 App CAN使用推送通知实用程序利用. p8令牌在后台成功接收来自APN的推送 #2中使用的相同APNs密钥上传到Firebase控制台 应用程序无法接收Firebase控制台中Notification Composer发送的消息,也无法使用CURL请求接收消息。 应用程序在通过FCM发送时不显示任