Related Applications
Overview
The related_applications property allows you to specify native applications available on different platforms (App Store, Play Store, Microsoft Store, etc.). Combined with prefer_related_applications, browsers can suggest installing the native app instead of or alongside the PWA.
Use Cases:
You have both a PWA and native mobile apps
You want to promote the native app for better platform integration
You want users to discover all versions of your app
You need platform-specific features only available in native apps
Configuration
Basic Related Applications
List related native apps without preferring them:
pwa:
manifest:
prefer_related_applications: false # Don't prefer native apps
related_applications:
- platform: "play"
url: "https://play.google.com/store/apps/details?id=com.example.app"
id: "com.example.app"Result: Browser shows PWA install prompt. Native apps listed as alternatives.
Prefer Native Applications
Suggest native apps over PWA installation:
Result: Browser suggests installing native app first, PWA as fallback.
Multiple Platforms
List apps for all major platforms:
Properties
prefer_related_applications
Type: boolean Default: false
Controls whether browsers should suggest native apps over the PWA.
false
PWA is primary, native apps as alternatives
true
Native apps preferred, PWA as fallback
When to use true:
Native app provides significantly better experience
Platform-specific features are critical
Native app is your primary product
PWA is mainly for web compatibility
When to use false (default):
PWA is your primary product
Want maximum reach across all platforms
Native app is optional enhancement
PWA feature parity with native apps
platform
Type: string (required)
Identifier for the app platform.
Supported Platforms
play (Google Play Store)
For: Android devices
URL Format: https://play.google.com/store/apps/details?id={package_name}
ID Format: Java package name (e.g., com.company.app)
Finding your package name:
Open Play Console
Go to your app
Check "Package name" field
Or find in
build.gradle:applicationId "com.example.app"
itunes (Apple App Store)
For: iOS, iPadOS devices
URL Format: https://apps.apple.com/app/{app-name}/id{app_id}
ID Format: Numeric App ID (e.g., 123456789)
Finding your App ID:
Open App Store Connect
Go to your app
Check "Apple ID" field
Or find in App Store URL after
/id
windows (Microsoft Store)
For: Windows 10/11 devices
URL Format: https://apps.microsoft.com/store/detail/{store_id}
ID Format: Store ID starting with 9 (e.g., 9NBLGGH4NNS1)
Finding your Store ID:
Open Partner Center
Go to your app
Check "Store ID" field
Or find in Microsoft Store URL
chrome_web_store (Chrome Web Store)
For: Chrome Extensions/Apps
URL Format: https://chrome.google.com/webstore/detail/{extension_id}
ID Format: 32-character extension ID
Finding your Extension ID:
Open Chrome Web Store Developer Dashboard
Go to your extension
Check "Item ID" field
Or find in extension URL
chromeos_play (Chrome OS Play Store)
For: Chrome OS devices with Play Store support
Format: Same as Google Play Store
webapp (Web Apps)
For: Generic web applications
URL Format: Any URL to your web app
f-droid (F-Droid)
For: Android open-source app repository
URL Format: https://f-droid.org/packages/{package_name}
amazon (Amazon Appstore)
For: Amazon Fire devices, Android
URL Format: https://www.amazon.com/dp/{asin}
ID Format: ASIN (Amazon Standard Identification Number)
Complete Examples
Example 1: Social Media App
PWA primary, native apps as enhancements:
Example 2: Game
Native apps preferred for performance:
Example 3: Productivity Tool
Available on all platforms:
Example 4: PWA-Only with Web App Link
No native apps, just PWA:
Browser Support
Chrome (Android)
✅
May show native app banner if prefer=true
Chrome (Desktop)
⚠️
Limited support
Edge
⚠️
Limited support
Safari
❌
Ignored
Firefox
❌
Ignored
User Experience Flow
When prefer_related_applications = false
When prefer_related_applications = true
Testing
1. Check Manifest
2. Test on Android Chrome
3. Verify Store Links
4. DevTools Inspection
Best Practices
1. Keep URLs Updated
2. Include App IDs
3. List Active Platforms Only
4. Use prefer_related_applications Sparingly
5. Provide Fallback
Always ensure your PWA works standalone, even when preferring native apps.
Decision Tree
Should you prefer native applications?
Common Mistakes
1. Wrong ID Format
Problem:
Solution:
2. Missing Platform
Problem:
Solution:
3. Prefer Without Related Apps
Problem:
Solution:
4. Outdated URLs
Problem: URLs point to removed or renamed apps
Solution: Regularly verify all store URLs still work
Troubleshooting
Native App Banner Not Showing
Problem: Expected native app banner doesn't appear
Checklist:
✓
prefer_related_applications: trueis set✓ Testing on supported browser (Chrome Android)
✓ App actually exists on specified platform
✓ URL and ID are correct
✓ App is published (not draft)
✓ PWA manifest is valid
Wrong App Suggested
Problem: Browser suggests wrong native app
Solutions:
Verify
idmatches the actual appCheck
platformis correctEnsure URL points to correct store listing
Clear browser cache and try again
PWA Install Blocked
Problem: Users can't install PWA when prefer=true
Solutions:
Set
prefer_related_applications: falseOr ensure native app is available
Provide manual "Install PWA" link in your app
Related Documentation
PWA Manifest - Complete manifest configuration
Installation - PWA installation guide
Resources
MDN related_applications: https://developer.mozilla.org/en-US/docs/Web/Manifest/related_applications
Web.dev: https://web.dev/add-manifest/#related_applications
W3C Spec: https://w3c.github.io/manifest/#related_applications-member
Last updated
Was this helpful?