# Azure Notification Hubs: One Push, a Million Phones

> Why looping over device tokens yourself is the answer that fails the interview.

- **Format:** short video, 10 steps, ~32 seconds
- **Topic:** Azure Notification Hubs — why pushing one message to a million phones is a platform problem, not a loop.
- **Author:** Suthahar Jegatheesan (MSDEVBUILD)
- **Category:** Azure · Azure
- **Published:** 2026-06-23
- **Tags:** azure, notificationhubs, pushnotifications, azurenotificationhubs, systemdesign, mobiledevelopment, microsoftazure, azurecloud, cloudarchitecture, dotnetmaui, backenddeveloper, az305, msdevbuild
- **Canonical URL:** https://blog.msdevbuild.com/shorts/azure-notification-hubs-broadcast/

---
## What you'll learn

- Why a loop over a million device tokens finishes too late
- How one send becomes APNs, FCM and WNS payloads
- How tag targeting replaces holding device tokens yourself

## Understand it one step at a time

### 1. Send this to a million phones

One line of marketing copy, one send button, and 1,000,000 registered devices across three platforms that all need to hear about it.

### 2. Three platforms, three of everything

APNs wants a .p8 signing key, FCM wants a service account JSON, WNS wants a package SID and client secret — and each expects its own payload shape.

### 3. The loop finishes tomorrow

A million sequential HTTP calls at roughly 44 a second takes over six hours to clear. The sale it was announcing ended long before it finished.

### 4. Fix: Azure Notification Hubs

One API call to the hub is all your backend makes. It holds the platform credentials, every device registration, and builds each payload itself.

### 5. The hub speaks every platform

One templated call becomes a native aps payload for iOS, an FCM notification for Android, and a WNS toast for Windows — you wrote none of the three.

### 6. Target by tag, not by device

Devices register themselves with tags like city:bengaluru or tier:prime. You send to a tag expression and never once touch a device token yourself.

### 7. Dead tokens clean themselves

An uninstalled app's token gets rejected by APNs or FCM on the next send, and the hub automatically prunes that stale registration for you.

### 8. A push is not a message queue

A push notification gives you no ordering, no retention, and no delivery receipt. If it absolutely must arrive, that belongs in your app, not a banner.

### 9. Your loop vs the hub

The exact same push notification either way — the only real difference is how much per-platform delivery machinery you're personally on the hook for.

### 10. Send once. Reach a million.

Your code's job is describing the audience and the copy, nothing more. Every layer below that — credentials, payloads, retries — is the hub's job.

---

## The takeaway

**Describe the audience, not the devices**

The moment your push code knows what a device token is, you own a delivery platform.
