Хотел бы использовать PubNub для отправки обновлений в реальном времени в веб-браузер пользователя

Рассматриваем возможность использования PubNub для отправки обновлений в реальном времени в веб-браузер пользователя.

Я просмотрел их сайт и материалы. Похоже, у них есть несколько разных вариантов.

Мы хотели бы использовать его для отправки обновлений в реальном времени на веб-страницу, которую просматривает пользователь. Информация представляет собой простые вещи, такие как «Вы только что получили сообщение». Мы не пытаемся внедрить программу чата или что-то в этом роде.

Является ли PubNub хорошим решением для этого? Если да, то какую версию службы следует использовать?

Мы запускаем Django на сервере Heroku.

Большое спасибо!


person Chris Dutrow    schedule 25.07.2012    source источник
comment
Привет, Крис! Сейчас я создаю для вас простой пример запуска, и он будет готов для вас. У меня небольшой вопрос: вы ищете такое уведомление: блог. pubnub.com/html5-mass-broadcasting-desktop-notifications   -  person Stephen Blum    schedule 25.07.2012
comment
@PubNub - похоже. Однако это не обязательно должно быть уведомление на рабочем столе. Он должен работать только внутри браузера. Это было бы похоже на то, если бы вы были на Facebook, и на странице загорелось уведомление, сообщающее, что у вас есть сообщение. Ничего, что должно требовать дополнительных разрешений. Большое спасибо за Вашу помощь!   -  person Chris Dutrow    schedule 25.07.2012
comment
Крис, отлично. Сегодня мы работаем над примером, и у нас будет некоторый код и документация о том, как это можно сделать.   -  person Stephen Blum    schedule 25.07.2012
comment
Привет, Крис, мы все еще активно готовим для тебя простую отправную точку. Сегодня мы предоставим ссылку и документацию вместе с образцом кода и рабочим примером.   -  person Stephen Blum    schedule 26.07.2012
comment
github.com/pubnub/pubnub-api/tree/ master/app-showcase/ — Пример окна уведомлений PubNub Facebook — Далее будет добавлена ​​поддержка Python Push.   -  person Stephen Blum    schedule 26.07.2012
comment
Попробуйте сейчас: pubnub-demo.s3.amazonaws.com/facebook- уведомление/index.html Загрузите исходный код: github.com/pubnub/pubnub-api/tree/master/app-showcase/ Также см. ниже краткое руководство.   -  person Stephen Blum    schedule 26.07.2012


Ответы (3)


Уведомление PubNub в Facebook

Это пример Window Box, похожего на Facebook, который уведомляет вашего пользователя с помощью пользовательского сообщения через PubNub. Вы можете отправлять обновления своим пользователям на их мобильный телефон или браузер. Это покажет вашему пользователю уведомление; любое уведомление вы.

Использование PubNub позволяет использовать передачу данных через WebSockets, BOSH, Comet и другие механизмы в вашем приложении, предоставляя вам возможность отправлять данные В ЛЮБОЕ ВРЕМЯ напрямую вашим пользователям через МАССОВУЮ РАССЫЛКУ или ОТДЕЛЬНЫЕ УВЕДОМЛЕНИЯ.

Начните здесь: живая демонстрация

Попробуйте прямо сейчас: 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

Затем вы захотите добавить этот код python в свой Django или любой другой фреймворк. Вы можете добавить это в код message post в своем приложении. Это опубликует уведомление для вашего пользователя. Этот конкретный пример вызовет появление уведомления на странице уведомлений Facebook.

pip install pubnub

Источник Python

## 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)
person Stephen Blum    schedule 26.07.2012
comment
Пожалуйста, см. ниже ответ. И дайте нам какое-то решение по этому поводу. Благодарю. - person Niks Jain; 02.04.2013
comment
Могу ли я использовать его для джанго? Есть примеры? Могу ли я сделать с его помощью сервис, аналогичный Instagram? @PubNub - person cold_coder; 08.07.2015
comment
Django: да. Примеры: следуйте основному исходному коду Python выше. Создать Instagram: да - person Stephen Blum; 08.07.2015

Чтобы найти что-то менее общее, используя сигналы, запускаемые даже API, обслуживаемым Django, и очень надежную защиту канала, посетите https://github.com/sivang/django-pubnub (прямо из печи ;)).

person Sivan Greenberg    schedule 19.12.2012
comment
Сиван, я только что добавил комментарий в ваш блог о новом заявлении import. import pubnub from Pubnub (указано в нижнем регистре). Спасибо, что собрали этот урок. - person Craig Conover; 17.08.2015

Я делаю такие вещи с 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

person JohnWolf    schedule 03.04.2013