Navigator: getInstalledRelatedApps() Methode
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die getInstalledRelatedApps()
Methode gibt ein Promise zurück, das mit einem Array von Objekten aufgelöst wird, die alle benutzerinstallierten platform-spezifischen Apps oder Progressive Web Apps darstellen. Dies kann zur Personalisierung von Inhalten verwendet werden, z. B. indem "installieren Sie unsere App" Banner von der Web-App entfernt werden, wenn die platform-spezifische App und/oder PWA bereits installiert ist.
Hinweis:
Diese Methode muss in einem übergeordneten sicheren Kontext aufgerufen werden, also nicht eingebettet in ein <iframe>
.
Beschreibung
getInstalledRelatedApps()
kann verwendet werden, um die Installation von Universal Windows Platform (UWP) Apps, Android Apps und PWAs zu überprüfen, die mit der die Methode aufrufenden Web-App verbunden sind.
Um die aufrufende Web-App mit einer platform-spezifischen App oder PWA zu verknüpfen, müssen zwei Dinge getan werden:
- Die aufrufende Web-App muss im
related_applications
Element ihrer Manifest-Datei spezifiziert sein. - Die platform-spezifische App oder PWA muss ihre Beziehung zur aufrufenden App definiert haben.
Die Definition der Beziehung erfolgt je nach App-Typ auf unterschiedliche Weise:
- Eine Android App tut dies über das Digital Asset Links System.
- Eine Windows UWP App tut dies über URI-Handler.
- Eine PWA tut dies über:
- Einen selbstdefinierenden Eintrag innerhalb ihres eigenen
related_applications
Manifest-Elements, falls eine PWA prüft, ob sie auf der zugrunde liegenden Plattform installiert ist. - Eine
assetlinks.json
Datei in ihrem/.well-known/
Verzeichnis, falls eine App außerhalb des Geltungsbereichs der PWA prüft, ob sie installiert ist.
- Einen selbstdefinierenden Eintrag innerhalb ihres eigenen
Siehe Is your app installed? getInstalledRelatedApps() will tell you! für weitere Details, wie man jeden dieser Fälle behandelt.
Hinweis:
Die meisten unterstützenden Browser bieten ihre eigene Installationsoberfläche, wenn eine installierbare PWA erkannt wird, die nicht angezeigt wird, wenn sie bereits installiert ist — siehe Making PWAs installable > Installation from the web. Dies kann durch das beforeinstallprompt
Ereignis unterdrückt werden, das auch mit getInstalledRelatedApps()
kombiniert werden könnte, um es basierend auf einer verfügbaren platform-spezifischen App zu unterdrücken. Siehe Trigger installation from your PWA für weitere nützliche Informationen.
Syntax
getInstalledRelatedApps()
Parameter
Keine.
Rückgabewert
Ein Promise
, das mit einem Array von Objekten erfüllt wird, die alle installierten verwandten Apps darstellen. Jedes Objekt kann die folgenden Eigenschaften enthalten:
id
Optional-
Ein String, der die ID darstellt, die zur Repräsentation der Anwendung auf der angegebenen Plattform verwendet wird. Die genaue Form des Strings variiert je nach Plattform.
platform
-
Ein String, der die Plattform (Ökosystem oder Betriebssystem) darstellt, mit der die verwandte App verbunden ist. Dies kann sein:
"chrome_web_store"
: Eine Google Chrome Web Store App."play"
: Eine Google Play Store App."chromeos_play"
: Eine ChromeOS Play App."webapp"
: Eine Progressive Web App."windows"
: Eine Windows Store App."f-droid"
: Eine F-Droid App."amazon"
: Eine Amazon App Store App.
url
Optional-
Ein String, der die mit der App verbundene URL darstellt. Dies ist in der Regel der Ort, an dem Sie Informationen dazu lesen und sie installieren können.
version
Optional-
Ein String, der die Version der verwandten App darstellt.
Die Informationen zur verwandten App müssen zuvor im related_applications
Element der Manifest-Datei der aufrufenden Web-App spezifiziert worden sein.
Ausnahmen
InvalidStateError
DOMException
-
Die Methode wurde nicht in einem übergeordneten Browserkontext aufgerufen.
Beispiele
const relatedApps = await navigator.getInstalledRelatedApps();
// Dump all the returned related apps into a table in the console
console.table(relatedApps);
// Search for a specific installed platform-specific app
const psApp = relatedApps.find((app) => app.id === "com.example.myapp");
if (psApp && doesVersionSendPushMessages(psApp.version)) {
// There's an installed platform-specific app that handles sending push messages
// No need to handle this via the web app
return;
}
Hinweis:
In diesem Beispiel ist doesVersionSendPushMessages()
eine theoretische, vom Entwickler definierte Funktion; sie wird nicht vom Browser bereitgestellt.
Spezifikationen
Specification |
---|
Get Installed Related Apps API # dom-navigator-getinstalledrelatedapps |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
getInstalledRelatedApps |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- Has more compatibility info.