正在研究使用 PubNub 向用户的网络浏览器发送实时更新。
我查看了他们的网站和资料。看起来他们有几个不同的选择。
我们想用它来向用户正在查看的网页发送实时更新。这些信息很简单,例如“您刚刚收到一条消息”。我们不是在尝试实现聊天程序或类似的东西。
PubNub 是一个很好的解决方案吗?如果是这样,应该使用哪个版本的服务?
我们在 Heroku 服务器上运行 Django。
非常感谢!
正在研究使用 PubNub 向用户的网络浏览器发送实时更新。
我查看了他们的网站和资料。看起来他们有几个不同的选择。
我们想用它来向用户正在查看的网页发送实时更新。这些信息很简单,例如“您刚刚收到一条消息”。我们不是在尝试实现聊天程序或类似的东西。
PubNub 是一个很好的解决方案吗?如果是这样,应该使用哪个版本的服务?
我们在 Heroku 服务器上运行 Django。
非常感谢!
这是一个类似于 Facebook 的 Window Box 的示例,它通过 PubNub 向您的用户发送自定义消息。您可以在他们的手机或浏览器上向您的用户发送更新。这将向您的用户显示通知;任何通知你。
使用 PubNub 允许在您的应用程序中使用通过 WebSockets、BOSH、Comet 和其他机制的数据推送,使您能够随时 通过MASS BROADCAST或 INDIVIDUAL NOTIFICATIONS直接向您的用户发送数据。
立即尝试:http: //pubnub-demo.s3.amazonaws.com/facebook-notification/index.html
下载源代码: https ://github.com/pubnub/javascript/tree/master/examples/facebook-notification
从这里开始以便轻松复制/粘贴代码。这很容易上手,我们建议您在开始之前从上面的示例链接开始。
首先包括FBootstrap资源,以提供通知窗口的外观。将这些样式添加到您的 HTML 文件中。
<link href=bootstrap.css rel=stylesheet>
<style type=text/css> body { padding-top: 60px; } </style>
接下来,您需要设置 PubNub 数据连接,然后添加规则,以便在收到数据后如何处理数据。
<script src="https://pubnub.s3.amazonaws.com/pubnub-3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-modal/2.2.6/js/bootstrap-modal.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>(function(){
// PubNub (For Data Push to User)
var pubnub = PUBNUB.init({
subscribe_key : 'demo',
ssl : false
});
// Setup New Data Push Connectoin via PubNub
pubnub.subscribe({
restore : true,
channel : 'example-user-id-1234',
callback : show_notification
});
// Setup Alert Window
$('#new-alert').modal({ keyboard : true });
// Show the Notification Window
function show_notification(message) {
$('#new-alert').modal('show');
}
// Simulate Notification
$('#simulate-notification').bind( 'mousedown', function() {
pubnub.publish({
channel : 'example-user-id-1234',
message : 'alert'
});
return false;
} );
})();</script>
接下来,您需要将此python
代码添加到您的Django或任何其他框架中。您可以将其添加到message post
应用程序的代码中。这将向您的用户发布通知。此特定示例将导致通知出现在 Facebook 通知页面内。
pip install pubnub
## PubNub Setup
import pubnub from Pubnub
pubnub = Pubnub( 'demo', 'demo', None, False )
## Push Notice to 'example-user-id-1234'
info = pubnub.publish({
'channel' : 'example-user-id-1234',
'message' : { 'your-data' : 'any-data-here' }
})
print(info)
对于一些不太通用的东西,使用由 Django 提供的 API 触发的信号和非常强大的通道安全性,请查看https://github.com/sivang/django-pubnub(直接来自烤箱;))。
我用 pubnub 和 socket.io 做这种事情......客户端很容易管理,这要归功于多路复用。我的代码如下所示:
var pubnub_setup = {
channel : 'xxx',
publish_key : 'xxx',
subscribe_key : 'xxx'
};
var price_update = io.connect( 'http://pubsub.pubnub.com/price_update', pubnub_setup );
var table_update = io.connect( 'http://pubsub.pubnub.com/table_update', pubnub_setup );
price_update.on( 'connect', function() {
// do stuff here
} );
table_update.on( 'connect', function() {
// do stuff here
} );
table_update.on( 'message', function(message) {
// do stuff here
} );
PN 与 socket.io https://github.com/pubnub/pubnub-api/tree/master/socket.io
与 socket.io 多路复用http://vimeo.com/34496366