Per-message pricing against usage-weighted MAU billing, and what each model means for delivery guarantees and cost forecasting.
PubNub is one of the oldest realtime platforms, with an SDK catalog and compliance portfolio built for enterprise deals. The comparison mostly comes down to two things: how each prices usage, and how much delivery reliability comes built in versus assembled from primitives.
When Foony fits
Pricing you can compute on a napkin. Foony bills messages in and out, period. PubNub bills usage-weighted MAU where one heavy user can bill as 10 MAUs, and the per-MAU allowance behind that math is not published.
Reliable delivery without assembly. PubNub’s recovery window is a 100-message, 20-minute in-memory queue, after which you rebuild from history yourself. Foony heals gaps automatically and deduplicates resends.
Guaranteed ordering. PubNub documents best-effort ordering and recommends adding your own sequence numbers.
WebSocket transport. PubNub’s core transport is HTTP long-polling.
A real free tier for realtime apps: 9M messages and 300 connections versus 200 MAU.
When PubNub fits
SDK breadth: around 16 actively maintained SDKs including Unity, Unreal, and embedded C. Foony ships JavaScript and Go natively, plus anything that speaks the Pusher protocol.
Enterprise compliance out of the gate: HIPAA, SOC 2 Type II, ISO 27001, and US-only data residency options.
Functions, PubNub’s edge compute, lets you mutate and react to messages inside the delivery path without extra infrastructure.
An MQTT bridge for IoT fleets.
Features
Foony
PubNub
Ordering
Guaranteed per channel, serial-numbered
Best effort, add your own sequence numbers
Missed-message recovery
Automatic gap backfill from storage after reconnects
100-message, 20-minute queue, then catch up via history yourself
History
Per-prefix channel rules, up to 30 days
1 to 7 days free, up to unlimited on paid keysets
Presence
Built in, with automatic re-entry on reconnect
Built in, events collapse to interval reports above 100 occupants
Transport
WebSocket, single connection per client
HTTP long-polling core, MQTT bridge available
Encryption
End-to-end AES-GCM, key never leaves your clients
Optional client-side AES-256-CBC with a shared key
Limits and pricing
Foony
PubNub
Billing model
Per message, in and out
Monthly active users, usage-weighted (a heavy user bills as several MAUs)
Competitor numbers last checked July 2026. If something has drifted, tell us and we will fix it.
Moving over
PubNub’s publish/subscribe and presence map one-to-one onto Foony channels, and Foony’s history replaces the fetch-from-history catch-up pattern with automatic backfill. The main design change is dropping client-side sequence numbers, since ordering is guaranteed per channel.
Try it on the free tier
9M messages a month, presence, history, and the Pusher-compatible API are all on the free plan. No card required.