A deep link opens a specific place inside an app. The oldest kind uses a custom scheme, like the booknest://lab/ of App Lifecycle: easy to add, but any app can claim the same scheme, and a phone without the app shows an error. App Links (Android 6 and later) and Universal Links (iOS 9 and later) fix both problems with ordinary https URLs on a domain you own. The OS checks a file on that domain naming your app and its signing identity; without the app, the link opens your website.
| Custom scheme | Android App Links | iOS Universal Links | |
|---|---|---|---|
| URL | booknest://books/3/ | https://booknest.example.com/books/3/ | Same https URL |
| Proof of ownership | None | /.well-known/assetlinks.json | /.well-known/apple-app-site-association |
| App side | Intent filter | Intent filter with autoVerify | Associated Domains entitlement |
| Without the app | Error | Website opens | Website opens |
Capacitor 243,123 delivers all three through the App plugin's appUrlOpen event. Keep custom schemes for development and links between your own apps, and publish verified https links.