Pusher — co to je, real-time platforma a integrace do aplikací

Autor: IT Sectr Publikováno: 2026-06-01 Doba čtení: 8 min

Pusher: hostovaná služba pro obousměrnou real-time komunikaci, poskytující infrastrukturu pro kanály, události a webhook oznámení. Osvobozuje vývojáře od nutnosti nasazovat vlastní WebSocket server a zajišťuje doručování zpráv milionům zařízení. Podle oficiální dokumentace Pusher (2025), služba zpracovává více než 40 miliard zpráv měsíčně po celém světě.

Hlavní body

  • Pusher — cloudová služba pro real-time zprávy, nevyžadující vlastní správu serveru.
  • Kanály a události — publikace zpráv probíhá prostřednictvím pojmenovaných kanálů s podporou typů: public, private, presence.
  • WebSocket přenos — klienti se připojují přes WebSocket s fallbackem na HTTP polling.
  • Webhook integrace — události serveru jsou doručovány na váš backend pomocí HTTP-háků.
  • SDK pro všechny platformy — hotoví klienti pro JavaScript, iOS, Android, React Native a serverové jazyky.

Co je Pusher?

Pusher — cloudová služba pro obousměrnou real-time komunikaci, založená v roce 2011. Poskytuje hotovou infrastrukturu pro odesílání a přijímání zpráv v reálném čase bez nutnosti spravovat vlastní WebSocket server. Pusher se používá pro vytváření chatů, živých oznámení, společné úpravy a herních žebříčků.

Na rozdíl od knihoven jako Socket.IO, které vyžadují nasazení a údržbu vlastního serveru, Pusher funguje na modelu SaaS (Software as a Service). Vývojář se zaregistruje, získá klíče (app_id, key, secret) a používá REST API Pusher k publikování událostí. Serverová infrastruktura je plně spravována platformou Pusher.

Podle oficiálního blogu Pusher (2025), platforma obsluhuje více než 250 000 aktivních projektů po celém světě. Mezi známé klienty patří GitHub (oznámení v reálném čase), Trello (synchronizace tabulí) a Intercom (podpůrný chat). Pusher podporuje datová centra v USA, Evropě a Asii pro minimalizaci zpoždění.

Historie vývoje Pusher

Pusher byl spuštěn v roce 2011 jako jedna z prvních hostovaných služeb pro WebSocket. V roce 2014 společnost představila Pusher Channels — současnou architekturu s podporou private a presence kanálů. V roce 2017 byla přidána podpora webhook pro serverové události. V roce 2022 Pusher spustil Pusher Beams — službu push oznámení pro mobilní platformy.

Architektura Pusher se liší od self-hosted řešení tím, že veškeré zpracování předplatného, správa připojení a směrování událostí probíhá na straně Pusher Cloud. Vývojář spravuje pouze autentizaci private kanálů prostřednictvím svého backendu.

Jak Pusher funguje

Architektura Pusher je založena na modelu Publisher-Subscriber. Serverové aplikace publikují události prostřednictvím REST API Pusher a klientské aplikace je přijímají prostřednictvím trvalého WebSocket připojení. Pusher funguje jako prostředník mezi vydavateli a odběrateli.

Když server odešle událost prostřednictvím požadavku POST na API Pusher, platforma určí cílový kanál a rozešle zprávu všem klientům přihlášeným k tomuto kanálu. Klienti obdrží událost prostřednictvím již otevřeného WebSocket připojení, což zajišťuje latenci 50–100 ms v závislosti na geografické poloze.

Každý klient naváže připojení prostřednictvím Pusher Client SDK, které automaticky vybírá přenos (WebSocket — priorita, HTTP long-polling — fallback). SDK spravuje opětovné připojení, serializaci dat a zpracování chyb bez účasti vývojáře. Podle technické dokumentace Pusher (2025), doba opětovného připojení při přerušení sítě je méně než 1 sekunda.

Komponenty Pusher

Systém se skládá ze tří komponent: Pusher Server API (REST koncové body pro publikování událostí), Pusher Client SDK (knihovny pro odběr událostí) a Pusher WebHook (oznámení serveru o událostech připojení/odpojení). Všechny komponenty pracují asynchronně a nezávisle.

Typy kanálů Pusher

Pusher Channels podporuje tři typy kanálů, z nichž každý je určen pro různé scénáře použití. Volba typu kanálu určuje úroveň přístupu, mechanismus autentizace a dostupné možnosti.

Typ kanáluPředponaAutentizacePoužití
Publicchannel-Není vyžadovánaVeřejná data: směnné kurzy, počasí, zpravodajský kanál
Privateprivate-Podpis požadavku na serveruOsobní oznámení, chaty, uživatelská data
Presencepresence-Podpis + informace o uživateliOnline stav, herní místnosti, společná úprava

Public kanály jsou přístupné všem klientům bez autentizace a jsou vhodné pro vysílací data. Private kanály vyžadují autentizaci prostřednictvím serveru vývojáře: klient odešle požadavek na svůj backend s socket_id a channel_name, server podepíše požadavek tajným klíčem Pusher a vrátí auth token. Presence kanály navíc přenášejí informace o uživateli (user_id, user_info) a umožňují sledovat, kdo je online.

Podle dokumentace Pusher (2025), maximální počet současně připojených klientů na jeden kanál je 10 000 pro public a private kanály. Pro presence kanály je limit 10 000 uživatelů na kanál s podporou až 100 000 uživatelů na aplikaci.

Události a triggery Pusher

Model událostí Pusher je založen na pojmenovaných událostech, které jsou publikovány v kanálu. Každá událost má název (maximálně 200 znaků), data ve formátu JSON a volitelný socket_id pro vyloučení opětovného odeslání iniciátorovi události.

Triggery — jsou HTTP POST požadavky na API Pusher, které publikují událost v kanálu. Formát požadavku: POST /apps/{app_id}/events s tělem obsahujícím channel, name a data. Pusher Server API podporuje triggery z jakéhokoli serverového prostředí prostřednictvím oficiálních knihoven (PHP, Ruby, Python, Go, Java, Node.js).

Pusher podporuje batch triggery — publikování jedné události do více kanálů jedním požadavkem. To je efektivnější než sekvenční volání a zaručuje atomicitu doručení. Podle testů výkonu Pusher (2024), batch trigger na 100 kanálů trvá 30–50 ms, zatímco sekvenční volání trvá 2–5 sekund.

Webhook integrace

Pusher WebHook umožňuje vašemu serveru přijímat oznámení o událostech infrastruktury: připojení klienta, odpojení, výskyt chyby. Webhook požadavky jsou podepsány HMAC-SHA256 pro ověření. To je klíčové pro logování, analytiku a synchronizaci stavu.

Jak integrovat Pusher do projektu

Integrace Pusher se skládá ze dvou částí: serverové (publikování událostí) a klientské (odběr událostí). Podívejme se na příklad v Node.js pro serverovou část a JavaScript pro klientskou část. Pro začátek je třeba vytvořit aplikaci v Pusher dashboardu a získat přihlašovací údaje.

Podle dokumentace Pusher (2025), základní plán (Sandbox) zahrnuje až 100 současných připojení a 200 000 zpráv denně — dost pro vývoj a testování. Produkční plány začínají od $49 měsíčně za 1000 připojení.

Serverový kód: publikování události

js
const Pusher = require('pusher');

const pusher = new Pusher({
    appId: 'YOUR_APP_ID',
    key: 'YOUR_KEY',
    secret: 'YOUR_SECRET',
    cluster: 'eu',
    useTLS: true
});

pusher.trigger('my-channel', 'my-event', {
    message: 'Hello from server',
    timestamp: Date.now()
}).then(() => {
    console.log('Událost publikována');
}).catch(console.error);

Klientský kód: odběr událostí

js
import Pusher from 'pusher-js';

const pusher = new Pusher('YOUR_KEY', {
    cluster: 'eu',
    forceTLS: true
});

const channel = pusher.subscribe('my-channel');

channel.bind('my-event', (data) => {
    console.log('Přijatá událost:', data);
    displayNotification(data.message);
});

Pusher v mobilních aplikacích

Pusher poskytuje SDK pro iOS (Swift) a Android (Java/Kotlin), které plně kopírují funkčnost JavaScriptového klienta. Mobilní SDK podporují stejné typy kanálů, mechanismus autentizace a model událostí. Pro React Native je k dispozici balíček pusher-js fungující přes JavaScriptový most.

Na mobilních zařízeních Pusher SDK automaticky zpracovává přepínání mezi Wi-Fi a mobilní sítí pomocí mechanismu opětovného připojení s exponenciálním zpožděním. To je důležité zejména pro iOS aplikace, kde iOS může vynutit uzavření WebSocket připojení při práci na pozadí.

Podle technického blogu Pusher (2024), průměrná spotřeba provozu jednoho Pusher připojení je 1–2 KB za minutu při absenci aktivních událostí. Toho je dosaženo pomocí optimalizovaného heartbeat protokolu s intervalem 30 sekund. Středně velká aplikace může podporovat až 1000 současných Pusher připojení bez významného vlivu na spotřebu baterie.

Pusher Beams pro push oznámení

Pusher Beams — doplňková služba pro odesílání push oznámení na mobilní zařízení prostřednictvím APNs (iOS) a FCM (Android). Beams se integruje s Pusher Channels: událost z kanálu může automaticky spustit push oznámení, pokud je klient offline. To řeší problém doručování zpráv při zavřené aplikaci.

Bezpečnost a autentizace Pusher

Bezpečnost Pusher je implementována na několika úrovních. Každý požadavek na Pusher API je podepsán HMAC-SHA256 pomocí app_secret. To zaručuje, že pouze autorizovaný server může publikovat události. Klientské SDK používají app_key pro identifikaci aplikace, ale pro přístup k private a presence kanálům je vyžadována další autentizace.

Autentizace private kanálů probíhá ve třech krocích: klient zavolá pusher.subscribe('private-channel'), Pusher Client SDK odešle HTTP požadavek na váš backendový koncový bod (/pusher/auth), server zkontroluje práva uživatele a vrátí auth token podepsaný tajným klíčem. Pusher ověří podpis a povolí odběr.

Doporučuje se používat TLS připojení pro všechny požadavky (nastavení useTLS: true v SDK). Pusher také podporuje omezení přístupu podle IP adres pro serverové požadavky na REST API. Pro enterprise tarify je k dispozici podpora VPC (Virtual Private Cloud) a vyhrazených clusterů s izolovanou infrastrukturou.

Často kladené otázky

Čím se Pusher liší od Socket.IO?

Pusher — je hostovaná služba (SaaS), která nevyžaduje správu serveru. Socket.IO — je knihovna, kterou musíte nasadit sami. Pusher je jednodušší na nastavení, ale dražší při škálování, Socket.IO vyžaduje DevOps práci, ale je levnější při velkém objemu.

Kolik Pusher stojí?

Bezplatný plán Sandbox zahrnuje 100 připojení a 200 000 zpráv denně. Produkční plány začínají od $49/měsíc (1000 připojení, neomezené zprávy) až po enterprise s individuálními podmínkami.

Jak Pusher zajišťuje doručování zpráv?

Pusher používá WebSocket s automatickým fallbackem na HTTP long-polling. Pro kritické zprávy je k dispozici fronta na straně Pusher s garancí doručení alespoň jednou (at-least-once).

Lze Pusher používat v Rusku?

Ano, Pusher je dostupný z Ruska prostřednictvím evropského clusteru (eu). Zpoždění je 50–100 ms pro evropská datová centra. Pro projekty s požadavky na lokalizaci dat se doporučuje zvážit alternativy.

Jaké existují alternativy k Pusher?

Hlavní konkurenti jsou Ably (podobná funkcionalita, flexibilnější tarify), PubNub (globální doručovací síť), Socket.IO (self-hosted) a Firebase Realtime Database (ekosystém Google).

Shrnutí

  • Pusher — cloudová SaaS služba pro real-time zprávy, která nevyžaduje správu vlastní serverové infrastruktury.
  • Tři typy kanálů — public (bez autentizace), private (s podpisem) a presence (se sledováním uživatelů) — pokrývají všechny scénáře.
  • Model událostí je založen na pojmenovaných událostech s JSON-payload, publikovaných přes REST API.
  • Mobilní SDK pro iOS a Android podporují automatické opětovné připojení a optimalizovanou spotřebu provozu.
  • Bezpečnost je zajištěna HMAC podpisem požadavků, TLS šifrováním a autentizací private kanálů přes backend.
  • Pusher Beams přidává push oznámení pro offline doručení přes APNs a FCM.
  • Pro malé projekty s rychlým startem je Pusher optimální, při velkém počtu připojení je self-hosted Socket.IO levnější.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také