Navigator: getInstalledRelatedApps()-Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
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 Methode getInstalledRelatedApps() gibt ein Promise zurück, das mit einem Array von Objekten erfüllt wird. Diese Objekte repräsentieren zugehörige plattformspezifische Apps oder Progressive Web Apps, die der Benutzer installiert hat. Dies kann zur Personalisierung von Inhalten verwendet werden, etwa um Banner mit der Aufforderung „Installieren Sie unsere App“ aus der Web-App zu entfernen, wenn die plattformspezifische App und/oder PWA bereits installiert ist.
Hinweis:
Diese Methode muss in einem sicheren Kontext auf oberster Ebene aufgerufen werden, darf also nicht in ein <iframe> eingebettet sein.
Syntax
getInstalledRelatedApps()
Parameter
Keine.
Rückgabewert
Ein Promise, das mit einem Array von Objekten erfüllt wird, die installierte zugehörige Apps repräsentieren. Jedes Objekt kann die folgenden Eigenschaften enthalten:
idOptional-
Ein String, der die ID repräsentiert, mit der die Anwendung auf der angegebenen Plattform identifiziert wird. Das genaue Format des Strings hängt von der Plattform ab.
platform-
Ein String, der die Plattform (Ökosystem oder Betriebssystem) repräsentiert, der die zugehörige App angehört. Mögliche Werte sind:
"chrome_web_store": Eine App aus dem Google Chrome Web Store."play": Eine App aus dem Google Play Store."chromeos_play": Eine App aus ChromeOS Play."webapp": Eine Progressive Web App."windows": Eine App aus dem Windows Store."f-droid": Eine App aus F-Droid."amazon": Eine App aus dem Amazon App Store.
urlOptional-
Ein String, der die mit der App verknüpfte URL repräsentiert. Dort finden Sie normalerweise Informationen über die App und können sie installieren.
versionOptional-
Ein String, der die Version der zugehörigen App repräsentiert.
Die Informationen zur zugehörigen App müssen zuvor im Manifest-Eintrag related_applications der aufrufenden Web-App angegeben worden sein.
Ausnahmen
InvalidStateErrorDOMException-
Die Methode wurde nicht in einem Browsing-Kontext auf oberster Ebene aufgerufen.
Beschreibung
Mit getInstalledRelatedApps() kann geprüft werden, ob Universal-Windows-Platform-Apps (UWP), Android-Apps und PWAs installiert sind, die mit der aufrufenden Web-App in Beziehung stehen.
Um die aufrufende Web-App mit einer plattformspezifischen App oder PWA zu verknüpfen, sind zwei Schritte erforderlich:
- Die aufrufende Web-App muss im Manifest-Eintrag
related_applicationsihrer Manifestdatei angegeben sein. - Die Beziehung der plattformspezifischen App oder PWA zur aufrufenden App muss definiert sein.
Wie diese Beziehung definiert wird, hängt vom App-Typ ab:
- Bei einer Android-App erfolgt dies über das Digital Asset Links-System.
- Bei einer Windows-UWP-App erfolgt dies über URI Handlers.
- Bei einer PWA erfolgt dies über:
- Einen Eintrag im eigenen Manifest-Eintrag
related_applications, der die PWA selbst angibt und die Eigenschaftenplatformundidenthält. Dies gilt, wenn eine PWA prüft, ob sie innerhalb desselben Gültigkeitsbereichs auf der zugrunde liegenden Plattform installiert ist. - Eine Datei
assetlinks.jsonim Verzeichnis/.well-known/. Dies gilt, wenn eine App außerhalb des Gültigkeitsbereichs der PWA prüft, ob diese auf Android installiert ist.
- Einen Eintrag im eigenen Manifest-Eintrag
Weitere Einzelheiten zur Handhabung dieser Fälle finden Sie unter Ist Ihre App installiert? getInstalledRelatedApps() verrät es Ihnen!.
Hinweis:
Die meisten Browser, die PWAs unterstützen, zeigen eine eigene Installationsoberfläche an, wenn sie eine installierbare PWA erkennen. Ist die PWA bereits installiert, erscheint diese Oberfläche nicht. Siehe PWAs installierbar machen > Installation über das Web. Die Installationsoberfläche kann mithilfe des Ereignisses beforeinstallprompt unterdrückt werden. Dieses Ereignis kann auch mit getInstalledRelatedApps() kombiniert werden, um die Oberfläche zu unterdrücken, wenn eine plattformspezifische App verfügbar ist. Weitere nützliche Informationen finden Sie unter Installation über Ihre PWA auslösen.
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 hypothetische, von Entwicklern definierte Funktion; sie wird nicht vom Browser bereitgestellt.
Spezifikationen
| Spezifikation |
|---|
| Get Installed Related Apps API> # dom-navigator-getinstalledrelatedapps> |