Node.js 如何与“合作”;网络推送“;及;fcm推送“;同时执行节点包?
我一直在尝试使用Firebase云消息和一些节点包来设置web推送通知服务器/客户端体系结构。在看过多个教程之后,我真的很困惑 我尝试了“web推送”节点包,但它需要gcm密钥,正如谷歌宣布的那样,gcm现在正在转向FCM。所以,我查看了另一个名为“fcm push”的包,但它不支持乏味的。我甚至不知道为什么需要单独使用乏味。所以,我将在这里提出一些直接的问题-Node.js 如何与“合作”;网络推送“;及;fcm推送“;同时执行节点包?,node.js,google-cloud-messaging,firebase-cloud-messaging,web-push,vapid,Node.js,Google Cloud Messaging,Firebase Cloud Messaging,Web Push,Vapid,我一直在尝试使用Firebase云消息和一些节点包来设置web推送通知服务器/客户端体系结构。在看过多个教程之后,我真的很困惑 我尝试了“web推送”节点包,但它需要gcm密钥,正如谷歌宣布的那样,gcm现在正在转向FCM。所以,我查看了另一个名为“fcm push”的包,但它不支持乏味的。我甚至不知道为什么需要单独使用乏味。所以,我将在这里提出一些直接的问题- 为什么有两个单独的键,即GCM/FCM键和VAPID键 一旦我从客户机获取到服务器的订阅密钥,我是否需要将它们存储在数据库中?有没有
- 为什么有两个单独的键,即GCM/FCM键和VAPID键
- 一旦我从客户机获取到服务器的订阅密钥,我是否需要将它们存储在数据库中?有没有其他方法可以用来保存它们
- 看起来“fcm推送”软件包不支持乏味的按键,它只提到了iOS和Android
- 另一方面,“web推送”包不支持FCM
- 无趣密钥对:在服务器上生成一次;然后,当您使用Javascript向用户订阅web推送通知时,将公钥与所有端点相关联;您将私钥保留在服务器上,并使用它对发送的通知进行签名
- 用于签署通知有效负载的密钥:这些密钥对于每个客户端都不同,您需要将它们与端点一起存储在服务器上只有在发送有效负载时才需要这些密钥;否则,您只需发送一个信号,然后服务人员负责从您自己的应用程序服务器下载未读通知
您说过,在订阅用户时,我需要将乏味的公钥与所有端点相关联。你把它联系起来到底是什么意思 您可以在以下文章中阅读有关VAPID的更多信息:
网络推送
确实支持乏味和FCM。如果您为较旧的Chrome版本和浏览器(如Opera和Samsung Internet Browser)提供GCM API密钥,它也支持GCM,但这不是必需的,它是可选的。您说过,在订阅用户时,我需要将乏味的公钥与所有端点相关联。您将其关联到底是什么意思?另外,如果我只想在其中存储订阅,您建议使用哪个数据库?还建议我使用哪个节点包来处理VAPID。@AnirudhGoel我已经更新了答案(参见最后一段)。任何数据库都可以:例如,我使用PostgreSQL。对于节点包,我不知道,因为我使用了Ruby,我们从头开始为Pushpad构建了一切。请注意,web push
确实支持VAPID,因此FCM.web-push确实支持VAPID和FCM。出于好奇,你为什么认为web push不支持FCM?我遇到了一些问题(包括报告的Chrome bug)当我从GCMAPI键迁移到VAPID时。我不建议在新项目中使用旧版GCM api密钥。我也不建议使用旧版GCM api密钥,但它是支持Opera和三星互联网浏览器所必需的。也许你指的是旧版,因为Opera的最新版本(桌面和Android)支持乏味。很高兴听到这个消息。三星的网络浏览器也支持乏味吗?