本文へスキップ

何かが変わったら、全員が同じ瞬間に見る。

PushCaster はアプリケーションのためのマネージドなリアルタイム基盤です。更新を一度 publish すれば、つながっているすべてのブラウザ・スマートフォン・ダッシュボードが同じ瞬間にそれを受け取ります。ポーリングも、更新ボタンも、自分で運用する接続サーバーも要りません。

2 回の呼び出しで、もう動く

聞く側はブラウザに 1 行、送る側はサーバーに 1 行。覚えるべき当社の SDK はありません。下に並ぶライブラリは、あなたが今使っているものを PushCaster に向けただけです。

ブラウザで — イベントを待ち受ける

client.js
js
import Pusher from 'pusher-js'// The same library you already use. One host override points it at PushCaster.const pusher = new Pusher('APP_KEY', {  wsHost: 'ws-eu1.pushcaster.io',  wsPort: 443,  forceTLS: true,})const channel = pusher.subscribe('presence-room')channel.bind('message', (data) => {  render(data.body)})

サーバーで — 送る

server.js
js
import Pusher from 'pusher'const pusher = new Pusher({  appId: 'APP_ID',  key: 'APP_KEY',  secret: 'APP_SECRET',  host: 'api-eu1.pushcaster.io',  useTLS: true,})await pusher.trigger('presence-room', 'message', {  body: 'Deployed to production',})

app id・key・シークレットはダッシュボードから取得します。選んだクラスターはホストの一部です。

何を土台に作れるか

リアルタイム機能とは、わずかなプロダクトコードの下に横たわる大量の配信機構のことです。誰が subscribe しているか、誰に権限があるか、誰がまだそこにいるか。その後半部分が、すでに動いています。

01

4 種類のチャンネル

public、private、presence、そしてペイロードを当社にも読ませたくないときの private-encrypted。

02

一度 publish すれば、全員に届く

サーバーからの 1 回の呼び出しがすべてのサブスクライバーに届きます。誰が聞いているかをあなたのコードが管理する必要はありません。

03

チャンネルとしての presence

誰が部屋にいるかはチャンネルが答えます。あなたが同期し続ける保管庫ではありません。

04

client events

入力中の表示やカーソルはサブスクライバー同士を直接行き来します。レート制限つきで、あなたを経由しません。

05

ライフサイクルの Webhook

在室状況とメンバーシップは署名付きヘッダーで返されるので、接続が見ているものにバックエンドが反応できます。

06

どこで動かすかはあなたが選ぶ

アプリケーションはクラスターの中に作られ、その接続はそこで終端します。現在の一覧はステータスページにあります。

あなたのメッセージが実際に通る道

配信と課金は別の層で動きます。control plane の障害はダッシュボードを劣化させますが、配信を止めません。

クラスターはメッセージ配信については高可用ですが、presence についてはそうではありません。presence の保管庫が失われると presence と在室数は劣化し、その間も public と private のチャンネルは配信を続けます。後で気づくより、ここで読んでおくほうがましです。

リアルタイム層 — すべてのパケットがここを通るあなたのサーバーtrigger()api-eu1publishws-eu1deliverWeb アプリモバイルデバイス設定のみcontrol planeID・課金・設定

同じものが、違う服を着ているだけ

チャット、ダッシュボード、通知、共同編集の文書。どれの下にも同じ考えが一つあります。何かが変わった、そして見ている全員がそれを知るべきだ、ということです。

presence-room-42
presence

チャットと共同作業

presence が誰が部屋にいるかを追い、クライアントイベントが入力中の表示とカーソルを運びます。メッセージは publish された瞬間に届きます。

private-metrics
private

ライブダッシュボード

指標や注文の流れを、変わったそばから開いているすべてのダッシュボードへ送ります。調整すべきポーリング間隔もなければ、数字がすでに古くなっている時間帯もありません。

private-user-1e9
private

通知

サーバー側の 1 つのイベントが、そのユーザーが開いているすべての端末へ、それを起こしたのと同じ往復の中で届きます。

presence-game
presence

マルチプレイヤーとライブ状態

presence で追跡されたメンバーシップを伴う共有状態。キャンバス、ライブスコア、二人が同じものを見なければならないものすべて。

すでに Pusher の Channels ライブラリをお使いですか?

アプリケーションあたり 3〜6 行。アプリケーションの書き換えは不要で、変更するのは接続設定だけです。

認証情報は引き継がれません。また、先に読んでおくべき本物の相違点がいくつかあります。どちらも比較ページに漏れなく載せています。

互換性と移行の詳細
src/realtime.tsunified diff
const pusher = new Pusher(APP_KEY, {
- cluster: 'eu',
+ wsHost: 'ws-eu1.pushcaster.io',
+ wsPort: 443,
+ forceTLS: true,
})

プリペイド残高からの従量課金

料金表は一つだけ。プランも、階層も、席数課金も、月額の約束もありません。送った分、開いておいた分、転送した分だけ支払います。

料金表

USD · 適用 2026年9月1日

  • publish したメッセージ

    $0.1100 万メッセージあたり
  • 配信したメッセージ

    $0.1100 万メッセージあたり
  • 接続時間

    $0.2接続 100 万分あたり
  • Connection milliseconds

    $0.2接続 100 万分あたり

pricing API からそのまま公開されます。含まれる無償枠はこの一つの料金表の中身であって、無料プランではありません。

課金のしくみ

公開された状態であって、約束ではない

プラットフォームから直接読んでいます。コンポーネントごと・リージョンごとの状態と、障害の全履歴を公開します。根拠を示せない稼働率の数字は出しません。

  • ドキュメント

    チャンネルの種類、認証、Webhook、そしてエラーコードの完全なリファレンス。

  • ステータスページ

    コンポーネントごと・リージョンごとの状態、レイテンシ、障害履歴。

  • サポート

    アカウントからチケットを作成してください。技術的な質問は、それに取り組んでいる人に届きます。

プラットフォームの状態

すべて正常に稼働中
  • WebSocket サービス

    クライアントの接続、サブスクリプション、イベントの配信。

    すべて正常に稼働中
  • Publish API

    あなたのサーバーから PushCaster へのイベントの publish。

    すべて正常に稼働中
  • ダッシュボード

    ログインとアプリケーションの管理。

    すべて正常に稼働中
  • Control plane

    アプリケーション設定、課金、アカウント管理。

    すべて正常に稼働中
  • eu1 · 西ヨーロッパ
  • eu2 · 中央ヨーロッパ

$ export PUSHER_HOST=ws-eu1.pushcaster.io

ホストを変えるだけ。
コードはそのまま。

同じプロトコル、同じ SDK、同じ認証ハンドシェイク。アプリケーションを作り、すでに使っているライブラリを PushCaster に向ければ、リアルタイム機能は数分で動き出します。

Support