• Docs
  • /
  • App Features & Customization

Deep Linking: How It Works

How deep linking works in WebView apps: what it does, how to configure it, and why it matters for push notifications and external link handling.

Deep linking allows external links (including push notification links, links shared by users, and URLs typed in a browser) to open directly inside your app rather than in Chrome. Without deep linking configured, tapping a link to your website will always open Chrome, even if the user has your app installed.

Why Deep Linking Matters

The most important use case for deep linking is push notifications. When you send a push notification with a link to a specific page (a new blog post, a product page, a sale), you want that link to open in your app. Without deep linking, the tap opens Chrome, which defeats the purpose of having an app.

Deep linking also improves the experience when users share links. If a user shares a link to your website and the recipient has your app installed, the link opens in the app automatically.

How Deep Linking Works on Android

Android uses App Links (verified domain links) to associate your domain with your app. When an App Link is tapped:

  1. Android checks if any installed app handles that domain
  2. If your app is registered for that domain, Android opens your app and passes the URL to the WebView
  3. The WebView navigates to that URL inside the app

For App Links to work, your domain must have an assetlinks.json file hosted at https://yourdomain.com/.well-known/assetlinks.json. This file tells Android which apps are authorized to handle links for the domain.

Configuring Deep Linking

Step 1: Enable Deep Linking in App Configuration

In your app settings, under Deep Linking, toggle it on and enter your domain(s). For most apps, this is your primary website domain (e.g., yourwebsite.com). Include both www and non-www variants if both redirect to the same site.

Step 2: Add the assetlinks.json File

After you've built your app at least once and have your app's SHA-256 certificate fingerprint (visible in the signing key section of your app dashboard), create the assetlinks.json file:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.yourcompany.yourapp",
    "sha256_cert_fingerprints": [
      "AA:BB:CC:DD:EE:FF:..."
    ]
  }
}]

Host this file at https://yourdomain.com/.well-known/assetlinks.json with content type application/json. It must be publicly accessible: no redirects, no authentication.

Step 3: Verify

Use Google's Digital Asset Links API to verify your file is correctly configured. Replace yourdomain.com with your actual domain in the URL.

Push Notification Deep Links

When configuring push notifications (via Firebase), include full URLs as the notification link (e.g., https://yourwebsite.com/new-post). When a user taps the notification:

  1. Android checks if your app handles that domain (via App Links)
  2. Your app opens and the WebView navigates to that URL

Without App Links configured, the notification tap opens Chrome instead of the app.

Fallback Behavior (No App Links)

If you haven't set up assetlinks.json, deep linking still works partially via URI Schemes. WebToAppConvert can configure a custom URL scheme (e.g., yourapp://) that opens the app. However, push notifications that use HTTPS URLs require App Links for seamless deep linking: URI schemes are primarily for app-to-app communication rather than web URLs.

For the best push notification experience, complete the App Links setup with the assetlinks.json file.

Still need help?

Can't find the answer you're looking for? Reach out to our support team.

Contact Support