Custom Deepview URL
Show your own website behind the "Open App" panel instead of Flinku's default Deepview. Studio plan only.
How it works
When a user taps a Flinku link on mobile, your website loads full-screen behind a fixed bottom panel. The panel shows your app icon, app name, and an "Open App" button. All deep linking mechanics, intent:// on Android, URI scheme on iOS, IAB detection, clipboard deferred matching. All work automatically.
Setup
- Go to dashboard → Project → Deepview settings.
- Paste your website URL in the Custom Deepview URL field.
- Save.
Step 1: Allow iframe embedding
By default most websites block iframe embedding. You need to update your site's headers to allow it from your custom Flinku domain.
Replace your-flinku-custom-domain with the custom domain you configured in Flinku, e.g. go.drkalo.app, links.yourapp.com, whatever you set up.
Firebase Hosting
In firebase.json, update your headers:
{"headers": [{"source": "**","headers": [{"key": "Content-Security-Policy","value": "... frame-ancestors 'self' https://your-flinku-custom-domain ..."}]}]}
Remove any X-Frame-Options header entirely. frame-ancestors in CSP replaces it. Deploy after.
Other hosting
Content-Security-Policy: frame-ancestors 'self' https://your-flinku-custom-domain
Step 2: Test on Safari first
Open a Flinku link on Safari iOS. Your website should load behind the panel. If it's blank on Safari, your headers from Step 1 are not applied correctly. Check and redeploy.
Step 3: Fix blank iframe on Chrome (Firebase apps)
If your site uses Firebase and the iframe shows blank on Chrome but works on Safari, this is caused by Chrome's third-party storage partitioning blocking Firebase Auth's internal iframe.
The fix is to create a dedicated lightweight /embed page on your site that does not initialize Firebase or any auth. Use this URL as your Custom Deepview URL instead of your root domain.
- Create
public/embed.html: pure HTML and CSS, no Firebase SDK, no auth init. Show your app branding, screenshots, tagline. - In
firebase.json, add to rewrites before the catch-all:json{ "source": "/embed", "destination": "/embed.html" } - Deploy.
- In Flinku dashboard, update Custom Deepview URL to
https://yourapp.com/embed.
Panel behavior
- App icon and name pulled from project settings automatically.
- Android: "Open App" uses
intent://: triggers native OS dialog. - iOS: uses URI scheme, triggers "Open in App?" system prompt.
- Auto-attempts to open the app 800ms after load in standard browsers.
- IAB detection active. "Open in Safari" button appears inside Instagram, TikTok, Gmail, etc.
- Clipboard deferred deep linking works automatically.
- Panel colors follow your Deepview appearance settings.