Pular para o conteúdo

Caso de uso

Chat em realtime

Uma sala de chat é um channel presence. A participação vem do channel, não de uma tabela que você mantém sincronizada. As mensagens são events; os indicadores de digitação nunca encostam no seu servidor.

presence-room-42
  • channels presence
  • events
  • client events
  • webhooks

Como funciona

  1. 01AutorizarSeu servidor decide se esta pessoa pode entrar e devolve o member id dela.
  2. 02Renderizar a participaçãoA inscrição devolve a lista de membros; os events de entrada e saída mantêm ela em dia.
  3. 03Enviar mensagensPublicadas como events, depois que seu servidor persistiu e autorizou.
  4. 04Indicadores de digitaçãoclient events, enviados entre inscritos — efêmeros, então sem ida e volta.

Vale saber

O histórico é trabalho do seu banco de dados, não do channel. Um cliente que entra recebe o que acontecer daí em diante — carregue o histórico por HTTP.

Em código

room.js
js
const room = pusher.subscribe('presence-room-42')room.bind('pusher:subscription_succeeded', (members) => {  renderMemberList(members)})room.bind('pusher:member_added', (m) => addMember(m))room.bind('pusher:member_removed', (m) => removeMember(m))room.bind('message', (msg) => appendMessage(msg))// Ephemeral, straight between subscribers.input.oninput = () => room.trigger('client-typing', { at: Date.now() })

Escrito com as bibliotecas oficiais do Pusher, sem modificação — não há pacote do PushCaster para instalar. Documentação completa

Outras coisas que as pessoas constroem

Todos os casos de uso
private-user-1e9

Notificações

Um event de servidor, entregue a cada superfície que a pessoa deixou aberta.

private-metrics

Painéis ao vivo

Envie métricas conforme elas mudam em vez de ficar buscando com polling.

Crie uma aplicação e construa.

Support