Android

Build a Chrome intent:// URL — then test it on a device

Fill scheme, host, path, package, and optional extras. We emit an intent:// string with S.browser_fallback_url encoded. This tab does not verify Digital Asset Links and does not open the app.

If the app isn’t installed, Android/Chrome can open this URL instead.
Output
Loading…

When to use this — and when not to

Use it when Chrome (or a Chrome-based WebView) needs an intent:// that names a package and a fallback web URL. Use https App Links for shareable marketing URLs; this format is a browser-to-app hint, not a verified App Link.

Do not treat a generated string as “verified.” We do not fetch /.well-known/assetlinks.json. Debug vs release applicationId will make a perfect-looking link miss the installed app.

How the string is built

We join intent:// + host + path + #Intent; then append scheme=, optional package=, action=, category=, component=, one extra, and S.browser_fallback_url= as encodeURIComponent of the fallback you typed. The fragment ends with end.

Limits: one extra in the form. Paths get a leading / if you omit it. Empty host still produces a string that Chrome may reject.

Worked example

intent://app.example.com/note/42#Intent;scheme=https;package=com.example.notes;S.browser_fallback_url=https%3A%2F%2Fapp.example.com%2Fnote%2F42;end

If testers have com.example.notes.debug installed, this package= line will fall through to the fallback URL. Paste the URL into the Deep link tester for syntax, then run the ADB line on a device.

Mistakes people make

  • Leaving fallback empty so a missing install shows a dead Chrome error page.
  • Pinning component= to a debug activity name that does not exist in release.
  • Testing only in Slack. Gmail and in-app WebViews rewrite or block intent://.

How this differs from App Links and adb am start

Verified https App Links use Digital Asset Links. am start -a android.intent.action.VIEW -d … bypasses Chrome’s intent parser. Both can succeed when an intent:// pasted into a messenger fails. See ADB & intents without Studio.

Related

ADB & intents guide · Deep link tester · ADB command generator

Frequently asked questions

Is my URL uploaded?

No. Assembly is local.

What is S.browser_fallback_url?

Chrome opens that https URL when the package is missing or the intent does not resolve.

Do I need package and component?

Package is usually enough. Component is stricter and breaks across flavors.