Skip to content
WebViewGold Vibe Coding to App Store Get WebViewGold

Native features

Deep links and magic links: open emails and shared links inside your app

A user taps the magic link in their email and lands in Safari, logged in on the web but not in the app. Universal Links and App Links fix that: links to your domain open the app directly. Here is the complete setup for web-wrapped apps.

Two mechanisms

Universal Links (iOS) and App Links (Android)

Normal https links to your domain open the app when installed and the website when not. Requires two files on your domain and a setting in WebViewGold. The standard for magic links, password resets, shared content and marketing links.

Custom scheme deep links

Links like yourapp://path open the app from other apps or QR codes. No domain files needed, but they do nothing when the app is not installed. WebViewGold supports both; pick one per use case.

Set up Universal Links and App Links

Needs your custom domain (see the domain guide) and the app IDs from both stores.

  1. Host the Apple file

    Put /.well-known/apple-app-site-association (JSON, no file extension, served over HTTPS) in your web app's public folder with your Team ID and bundle ID. Lovable, Bolt, v0 and Replit projects all have a public/static folder for this.

  2. Host the Android file

    Put /.well-known/assetlinks.json with your package name and the SHA-256 fingerprint of your signing key (from the Play Console under App signing).

  3. Enable the feature in WebViewGold

    iOS: add the Associated Domains capability with applinks:yourdomain.com (and www) and enable the setting in Config.swift. Android: enable deep linking in Config.java and add your domain to the intent filter in AndroidManifest.xml; verify domain ownership for App Links.

  4. Point your auth redirect URLs to the domain

    Supabase: Site URL and additional redirect URLs = https://app.yourdomain.com/…; Firebase: authorized domains and action URL; Clerk/Auth.js: callback URLs. Magic links then carry your domain and open in the app.

  5. Test on real devices

    Send yourself a magic link, tap it in Mail and Gmail. Simulators do not reliably test Universal Links. Also test a shared link from Messages and WhatsApp.

Common pitfalls

  • The association file is served with a redirect or with the wrong content type: it must be served directly over HTTPS with status 200.
  • The email provider wraps links in a tracking domain (click.yourprovider.com): either disable click tracking for auth emails or add that domain too.
  • www vs. non-www: register both in the Associated Domains capability.
  • Supabase's default redirect goes to the project's supabase.co URL: set Site URL to your domain.
  • Android App Links only verify when the fingerprint matches the key Google uses to sign the published app (Play App Signing key, not your upload key).

Frequently asked questions

Can I skip this if my app only uses email/password login?

Yes, for login. Password reset emails still contain a link; without Universal Links it opens the website, which works but leaves the user outside the app.

Do deep links need a store update?

The first setup does (new capability and manifest entries). Changing which paths open the app later is done in the association files on your domain without a store update.

Do links to my domain always open the app?

When the app is installed and the file verifies, yes. iOS lets users opt out per domain by long-pressing a link and choosing Safari.

Ready to ship your app?

App Store & Google Play approval guarantee – or your money back within 14 days

Prefer to hand it over? Full Service: we configure, build and submit for $349. Questions? Chat with us 24/7.

Refunds are granted under the conditions listed in our FAQ: a non-content rejection by Apple and/or Google, claimed within 14 days after purchase.