注意:请勿说明可能重复 this,通读。
想想一个简单的TASK管理应用程序,它可以有n
个用户。说User A
可以创建任务&将其分配给User B
。我想向User B
显示通知。
我将Firebase用作BAAS,并且只有在为User B
分配任务时才在控制台上打印代码段。为简单起见,Firebase中的Users
集合有一个名为tasksAssignedToThisUser
数组的节点,回调函数将会关注tasksAssignedToThisUser
位置。每当新任务添加到该数组时,都会执行回调函数。以下是代码段:
var rootRef = firebase.database().ref();
rootRef.child('users').child(loggedInUserID).child('tasksAssignedToThisUser')
.on('child_added', function (newMessageSnapshot) {
console.log('Someone assigned a task to this user.');
console.log(newMessageSnapshot.val);
});
到此为止,一切正常。
通过阅读Firebase文档和我所了解的内容有关推送通知或Firebase云消息传递的其他帖子是:
Firebase通知可让用户轻松发送消息以重新启动和 留住用户,促进应用增长,并支持营销活动。
在您编写使用Firebase云消息传递的客户端应用之前, 您必须拥有符合以下条件的应用服务器:
...
您需要确定所需的FCM连接服务器协议 用于使您的应用服务器与FCM连接进行交互 服务器。请注意,如果您想使用您的上游消息 客户端应用程序,您必须使用XMPP。有关更详细的讨论 请参阅选择FCM连接服务器协议。
这绝对不是我想要的,当需要将批量消息推送到大量设备时,维护用于发送推送通知的服务器是有意义的。所以我没有将我的问题命名为实时推送通知。
我看到一个正在执行的功能,它符合我的用例,我只是希望app在该回调函数执行时在他的移动系统托盘中向用户显示通知。
我正在使用Ionic 1开发应用程序,对Firebase和Ionic也是全新的。如果Firebase本身提供的简单无服务器方法足以满足我的要求,那么我会非常高兴听到它。