Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
We recently wrapped a project embedding Qlik Sense analytics inside a client's customer-facing fintech mobile app (React Native shell, native modules where needed), and a few lessons cost us enough time that they're worth sharing. Posting here partly to sanity-check our conclusions against people who do this daily.
1. The iframe shortcut is a false economy on mobile.
Our first pass was the obvious one — single integration, sheet embedded via iframe in a webview. It worked in the demo and fell apart in the field: session handling inside mobile webviews was fragile (cookies getting dropped on iOS especially), pinch/scroll gestures fought the parent app, and load times on 4G were rough because we were pulling the whole sheet UI when users only needed two visualizations. We ended up rebuilding around qlik-embed / capability-API-style object-level embedding, rendering individual charts instead of full sheets. More work upfront, dramatically better UX.
2. Auth is the real project.
The embedding itself was maybe 30% of the effort. Getting identity right was the rest — the app has its own user accounts, so we needed the mobile session to map to a Qlik identity without ever showing users a second login. JWT-based auth against the tenant solved it, but token refresh inside a long-lived mobile session took real iteration: our first implementation silently expired mid-session and users saw blank chart areas with no error. Lesson: build the token-refresh and failure states first, not last. Blank rectangles destroy trust in the numbers faster than an honest "reconnecting" state does.
3. Section access pruning beats client-side filtering — but test the empty states.
Since this was financial data, row-level security was non-negotiable. Section access did what it promises, but the UX consequence surprised the client: users with narrow access sometimes hit legitimately empty visualizations, which looked like bugs. We added explicit "no data available for your accounts" states rather than letting default empty charts render. Small thing, big reduction in support tickets.
4. Mobile users don't explore — pre-aggregate for them.
Desktop Qlik users filter and dig. Mobile users glance. Session length data after launch confirmed it: median mobile session was well under a minute. We moved the most-requested answers (balance trends, category breakdowns) into small pre-filtered objects on the first screen and left deep exploration to a "full dashboard" view most users never open. Engagement went up when we showed less.
Open question for the board: for those embedding at object level in customer-facing apps — are you handling theming by duplicating apps per brand, via custom themes, or overriding at the embed layer? We went with embed-layer overrides to keep one master app, but curious whether that bites us at scale.
Happy to go deeper on the auth flow if anyone's fighting the same webview session issues.
Thank you for sharing! We are not heavy mobile users, but that may change soon, so we will keep your lessons in mind.