Manifest: related_applications support
Published Updated
Web App Manifest: related_applications / prefer_related_applications —
related_applications is an array naming platform-specific apps related to
your PWA (each entry needs a platform and at least one of url or id),
and it backs Navigator.getInstalledRelatedApps(). prefer_related_applications
is a separate, independent manifest member: a boolean hint that some
browsers use to favor installing one of those native apps over your web app.
Each member has its own BCD entry, so each gets its own support table below.
Browser & ecosystem support: related_applications
Section titled “Browser & ecosystem support: related_applications”- Legend
- Yes
- Partial
- Flag
- No
- Unknown
| Browser / Platform | Support | Versions | Confidence | Source | Notes |
|---|---|---|---|---|---|
| Chrome (Desktop) | No | — | high | source | 1 |
| Chrome (Android) | Yes | 44 | high | source | — |
| Edge (Desktop) | Yes | 17 | high | source | — |
| Firefox (Desktop) | No | — | high | source | 2 |
| Firefox (Android) | No | — | high | source | 3 |
| Safari (macOS) | No | — | high | source | 4 |
| Safari (iOS) | No | — | high | source | 56 |
| Samsung Internet | Yes | 4.0 | high | source | 7 |
| WebView (Android) | Yes | 44 | high | source | 8 |
Browser & ecosystem support: prefer_related_applications
Section titled “Browser & ecosystem support: prefer_related_applications”- Legend
- Yes
- Partial
- Flag
- No
- Unknown
| Browser / Platform | Support | Versions | Confidence | Source | Notes |
|---|---|---|---|---|---|
| Chrome (Desktop) | No | — | high | source | 1 |
| Chrome (Android) | Yes | 44 | high | source | — |
| Edge (Desktop) | Yes | 17 | high | source | — |
| Firefox (Desktop) | No | — | high | source | 2 |
| Firefox (Android) | No | — | high | source | 3 |
| Safari (macOS) | No | — | high | source | 4 |
| Safari (iOS) | No | — | high | source | 56 |
| Samsung Internet | Yes | 4.0 | high | source | 7 |
| WebView (Android) | Yes | 44 | high | source | 8 |
How to use it
Section titled “How to use it”{ "prefer_related_applications": false, "related_applications": [ { "platform": "play", "url": "https://play.google.com/store/apps/details?id=com.example.app", "id": "com.example.app" } ]}On Chromium-based browsers, prefer_related_applications must be false or
omitted for your web app itself to remain installable — set it true only
when you genuinely want to steer users to the native app instead.
How to detect it at runtime
Section titled “How to detect it at runtime”MDN says related_applications enables use of
Navigator.getInstalledRelatedApps() to check whether a related app is
already installed, so feature-test that method and fall back when it is
absent:
async function checkRelatedNativeApp() { if ('getInstalledRelatedApps' in navigator) { const related = await navigator.getInstalledRelatedApps(); return related.length > 0; } // Fallback: the browser cannot report installed related apps, so assume // none and let the PWA install flow proceed normally. return false;}Practical checklist
Section titled “Practical checklist”- Firefox parses
related_applications/prefer_related_applicationson Android but ignores them, per MDN’s browser-compat-data notes — do not expect any behavior change there even though the JSON is valid. - Per MDN’s browser-compat-data, several browsers report no support for either member — see the two tables above for exact per-browser support of each member.
- Leaving
prefer_related_applications: trueon a Chromium browser can make your own PWA install prompt disappear in favor of the native app listing — confirm that is the intended tradeoff before shipping it.
Where to go next
Section titled “Where to go next”← Back to the Compatibility explorer.