Building in-app UI with Knock
In addition to delivering to out-of-app channels such as email, push, SMS, and chat apps like Slack, you can also use Knock to build great in-app notifications experiences too.
You can use our in-app feed channel to build stateful, in-app notifications experiences like floating feeds, inboxes, toasts and banners, and you can use our preferences API to build powerful user-facing preference controls.
Why build in-app experiences on Knock?
- Real-time ready. Our in-app API comes ready with websocket support, no infrastructure setup required.
- No data modeling required. We handle all of the common cases for you: accurate badge counts, polymorphic notifications, read, seen and archive tracking, and much more.
- Build holistic experiences. Use the Knock workflow builder to create cross-channel notification experiences to power cases like "send to the in-app feed, if they don't see the feed message within 5 minutes then fallback to sending an email."
- Complete APIs that are easy to use. We take all of the heavy lifting out of building APIs to support common in-app notification experiences, like preferences and feeds.
- Drop-in components. We have components ready to help you get started with building in-app notification experiences in React.
- Fully customizable. Whether you want to build a feed, toasts, a full-page inbox experience, or notifications that match your style guide, it's easy to customize the experience by overriding styles, or components, or building your own headless UI using our lower-level primitives.
Client SDKs available
We have the following SDKs available to use to build in-app notification experiences:
- React (Web)
- JS (Non-React Web)
- React Native
- Swift (iOS / macOS)
- Kotlin (Android)
- Flutter (Android/iOS)
Under each client SDK, you'll find guides and references to help you get started.
Pre-built UI components
If you use our React SDK on the web, we provide pre-built UI components to:
- Show an in-app feed, either as a popover or as a full-page experience.
- Easily integrate Slack authentication and channel selection to power Slack notifications.
We also provide a full set of React hooks to integrate your own UI.
Going to production
You'll need to follow our checklist on going to production for any in-app notifications using Knock. Most importantly you'll need to secure your requests to the Knock API for each user.