Notifizz frontend quickstart
Embed the Notification Center widget in your app. Pick the SDK that matches your stack — they wrap the same widget and expose the same options.TL;DR
- Install
@notifizz/react,@notifizz/angular, or@notifizz/vanilla. - Pass
apiKey(Front API Key) + an auth mode (firebase,backendToken, ornonefor dev). - The bell renders in the position you configure; updates stream in real-time — no polling.
Get your Front API Key from the Notifizz dashboard. If you use
backendToken mode, your backend also needs to call client.generateHashedToken(userId) and ship the result to the frontend (backend quickstart covers that step).Choose your framework
- React
- Angular
- Vanilla JS
Verify
Backend ready
Your backend tracks events (backend quickstart).
Trigger an event
Send an event from your backend whose recipient resolves to the same
userId you passed to the widget.FAQ
The bell renders but the badge stays at 0.
The bell renders but the badge stays at 0.
The widget is connected, but no message has been delivered to this
userId yet. Check three things: (1) the campaign in the dashboard is Live (or Dev on dev environments); (2) the event you fired resolves to the same userId you passed to the widget; (3) check the dashboard delivery history — if the message shipped server-side but doesn’t appear, the auth identity probably mismatches.`isReady` never flips to `true`.
`isReady` never flips to `true`.
Auth failed. Check the browser console — the widget logs the auth error. Common causes: stale
token, wrong authType, expired Front API Key. Inspect state.hasError / state.errorCode for a typed signal.`backendToken` vs `firebase` — how do I pick?
`backendToken` vs `firebase` — how do I pick?
If your app already uses Firebase Auth, use
firebase — zero backend changes. Otherwise use backendToken, generated server-side via client.generateHashedToken(userId) from your Notifizz Node SDK. See authentication overview.Can I render the bell only after the user logs in?
Can I render the bell only after the user logs in?
Yes — render
NotifizzInbox (or the Angular component / vanilla mount) only when the user is authenticated and you have the token. The widget needs userId + token upfront; mounting it before login wastes a script load.Multiple users on the same browser — how do I switch?
Multiple users on the same browser — how do I switch?
Destroy the current widget and remount with the new identity. React: conditionally render the provider on
userId. Angular: call notifizz.destroy() then notifizz.init(...) from NotifizzService. Vanilla: notifizz.destroy() then createNotifizz(...) again.My site has a strict Content-Security-Policy — what do I need to allow?
My site has a strict Content-Security-Policy — what do I need to allow?
The widget shares one real-time stream across every tab of your site by spawning a SharedWorker. If your CSP blocks it, the widget falls back transparently to a per-tab connection — no error, just slightly more network. To get the optimised path, allow the widget origin in Embedded WebViews (Instagram, TikTok, LinkedIn) and Safari before 16.4 don’t ship SharedWorker. Same fallback applies — nothing to do on your side.
worker-src:See also
Work with a Certified Partner
The fastest path from “we want this” to a running, owned programme.
Backend quickstart
Send the events the widget will display.
Authentication overview
Firebase, backend token, publicly-signed JWT, or none.
Notification Center overview
Lifecycle, state model, custom bell, headless mode.