Articles of 通知

HTML5 Websocket + Node.js实时通知系统

在过去的几周里,我用socket.io构build了一个使用HTML5 Websockets和node.js的小型通知系统。 还有一些事情我还没有解决。 我已经阅读了使用node.js的实时通知应该是最好的性能解决schemevs长轮询等,因为非阻塞I / O操作。 现在假设我们必须通知这个用户的朋友。 就像“我买了一个新的iPhone”。 我如何教node.js实时通知特定用户1:n? 直到知道我只有发送和接收消息1-1通信。 这意味着我必须首先检查facebook api friendlist,并找出哪个facebook_id以某种方式与哪个socket_id连接。 然后检查用户的隐私设置,如果他想接收通知,然后发送并保存到数据库中。 所以对我来说,这似乎不是最有效的解决scheme… 目前, 我会使用mongo-db本地驱动程序的node.js和数据库操作完成由服务器的javascript。 我仍然需要执行facebooks javascript sdk来获取好友列表,但是我会遇到用户隐私设置的问题。 这是不是破坏了非阻塞I / O的所有优点? 你怎么解决这个问题呢? 对我来说,这似乎很复杂。 非常感谢你。

Postgred pg_notify /只有在通道名称小写的情况下才能工作

我读过https://www.postgresql.org/docs/9.6/static/sql-notify.html ,频道名称只是描述为一个“标识符”。 我使用NodeJS和pg https://www.npmjs.com/package/pg来访问postgres。 如果我在两种情况下都使用小写字母,例如pg_notify('foo', …和LISTEN foo , pg_notify LISTEN outcome lower lower works lower upper works upper lower fails upper upper fails 这是一个错误,还是作为一个“标识符”的逻辑结果? (如果是这样,是否应该logging在pg_notify页面上?)

如何在AWS上使用套接字发送通知?

我正在一个需要创build通知系统的项目中。 这是为了在AWS基础架构上运行Pyramid框架创build的网站(我认为服务器是Apache或粘贴,不知道)。 当用户跟随​​某事,所有的朋友应该立即得到一个通知,指出“X现在跟随Y”。 因此,我需要一个WebSocket服务器(也许node.js或socket.io)。 如果我这样做,我将在同一个EC2实例(Web服务器和套接字服务器)上运行两个服务器,但是如何将事件/通知从Web服务器传递到套接字服务器? 我猜中间应该有东西,对吧? AWS可以为我提供的东西。 还是有办法直接提供套接字服务器? 对于这种情况,什么是一个好的方法? 衍生的问题是:哪里是最好的地方获得朋友列表,将收到通知? 它应该是Web服务器还是套接字服务器?

从铁路调用Socket.io Active:loggingcallback或观察者

在LayerVault的好人发布了一个简单的方法来添加现有的Ruby应用程序的“实时”function,而不诉诸客户端MCV或重写整个应用程序在Node.js,前一阵子。 他们的post表明,只要你的rails 模型被更新,你可以更新到所有的客户端[参考1]通过delay_job&Active:Record Observer: class FileObserver < ActiveRecord::Observer observer :lv_file def after_commit(record) record.delay.report_updated end end 和 class LVFile < ActiveRecord::Base def report_updated Messenger.publish_message('file_updated', "file/#{self.id}") end end [参考文献1] http://layervault.tumblr.com/post/31462727280/rails-in-realtime-part-2 从客户端连接到socket.io服务器很容易。 但是我迷失在轨道服务器端如何实现Messenger.publish_message('file_updated', "file/#{self.id}") 。 在post中他们提到了这一点 report_updated方法调用一个单独的Messenger类 (我们的Web应用程序端的Socket.IO接口)的类方法调用,并报告文件已经改变到适当的房间。 但是我仍然不确定如何在Rails中实现Messager类,以便Active:Record Observer能够连接到我的socket.io服务器并发送更新。 [PS]在HN上的对话表明他们利用这个gem gem的维基甚至包括一个简短的演示: require 'SocketIO' client = SocketIO.connect("http://localhost", sync: true) do before_start do on_message {|message| puts message} on_disconnect {puts […]

Firebase通知和用户ID

我正在使用Firebase和Android应用(身份validation,数据库和通知)。 我试图从外部服务器(在nodejs)发送通知,以便用户可以发送通知给其他用户。 所以Android应用程序记住UserId列表(与Firebase身份validation相同的ID),然后将此列表发送到nodejs服务器。 使用此列表,服务器会联系url“ https://fcm.googleapis.com/fcm/send ”,但Firebase向我返回一个InvalidRegistration,因为我发送的是userId列表,而不是由firebase创build的注册标记列表通知。 我应该记住这些令牌还是有办法用用户ID发送通知? (当我尝试一个令牌列表,当然它的工作。) var requestData = { "registration_ids": userIds, //Problem is here "data": { "message": "A message" } }; request({ url: "https://fcm.googleapis.com/fcm/send", method: "POST", json: true, headers: { "Authorization": "key=firebaseKey", "content-type": "application/json", }, json: requestData }, function(err, response, body) { });

基于时间的通知服务

我正在处理用户订阅计划并且到期的订阅。 所以基本上每个用户商店都有一个expiration字段。 我希望能够在用户计划一过期就能得到通知。 现在,我有一个工作,每天运行一次所有用户,并检查是否有人过期,但理想情况下,我希望得到一个服务器回发或某种事件,每当用户过期而不运行这一天。 你能想到任何处理这些事情的第三方服务/数据库/其他工具吗? 很多服务,例如Stripe,当用户的订阅被更新/过期时,都会通过webhook通知您。 他们只是像我一样反复地工作? 希望我已经说清楚了,希望能帮助我把search引向Google。 我目前的堆栈是Mongodb,Node.js,AWS 谢谢

有没有办法将不同的徽章计数发送给同一主题的不同用户?

我有我的Node.js项目,我正在向IOS用户发送通知数量的FCM集成,我需要pipe理通知计数,即徽章计数,这将是不同的设备,但我发送通知给一个特定的主题,这些设备已订阅。 我的有效载荷是: var payload = { notification: { title: "Title…", body: "Notification Body…", sound: "customeSound.caf", badge : "?" }, data: { testData: "custom data" } }, topic = "topicName"; admin.messaging().sendToTopic(topic, payload) .then(function (response) { // See the MessagingTopicResponse reference documentation for the // contents of response. console.log("Successfully sent message:", response); }) .catch(function (error) { console.log("Error […]

节点js + mongodb +日程安排通知

我是新的nodejs,我正在尝试开发一个日历应用程序与nodejs和mondodb,其中用户可以安排事件(约会,警报等)。 活动可能会重复(每8小时,3个月,…),我想在活动开始前通知用户。 有人能帮忙吗? 有没有任何模块来pipe理这个? 谢谢

在Firebase位置发生更改时,最好的方法是全球设置警报

我在我的应用中使用Firebase的一件事是存储用户提交的反馈 – 使用push()将孩子添加到某个位置。 理想情况下,无论何时将新的子项添加到该位置,我都可以收到一封电子邮件,但这只能通过一些Firebase服务直接完成,或者可能通过某些Firebase服务间接完成,这可能会触发一个URL(包含一个通过电子邮件发送给我的小脚本) ,但我找不到任何能力。 我可以想到的一件事情就像一个小的Node.js服务器不断运行,并听on('child_added', cb)引用,当发生了一些变化,给我发电子邮件。 我正在使用Firebase尝试在没有服务器的情况下构build此应用,所以我宁愿不必这样做。 我想在个人电脑上做一个定期检查REST API的cron作业。 任何更好的想法?