Best Effort Delivery
The guarantee push notification services actually offer — which is none — and the design consequences of building on a channel that may silently drop.
Push services do not guarantee delivery. A notification may be delayed by minutes or hours, coalesced with others, dropped entirely if the device is offline beyond a retention window, or suppressed by the operating system's own heuristics about which applications deserve attention. Delivery receipts, where available, report handoff to the platform rather than arrival.
Two design rules follow. Push is a hint, not a transport. A notification may say "something changed"; the application then fetches the authoritative state. An application that treats the payload as the data will be inconsistent for every user whose notification did not arrive, and will have no way of knowing which users those are.
Anything important needs a second path. A reconciliation fetch on next launch, a periodic background refresh, or an in-application indicator — so a missed notification produces a delay rather than a permanent divergence.
The related constraint is that the user can revoke permission at any time, so a design that depends on notifications for correctness fails silently for that segment. Push improves timeliness; it cannot be part of the correctness argument.