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 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 getInstalledRelatedApps() Methode gibt ein Versprechen zurück, das mit einem Array von Objekten aufgelöst wird, die jede installierte plattformbezogene App oder Progressive Web Apps darstellen, die der Benutzer installiert hat. Diese Methode kann zur Personalisierung von Inhalten verwendet werden, wie zum Beispiel das Entfernen von "Installieren Sie unsere App"-Bannern aus der Web-App, wenn die plattformbezogene App und/oder PWA bereits installiert ist.
Hinweis:
Diese Methode muss in einem obersten sicheren Kontext aufgerufen werden, das heißt, sie darf nicht in einem <iframe> eingebettet sein.
Beschreibung
getInstalledRelatedApps() kann verwendet werden, um die Installation von Universal Windows Platform (UWP) Apps, Android Apps und PWAs zu überprüfen, die mit der Web-App, die diese Methode aufruft, in Zusammenhang stehen.
Um die aufrufende Web-App mit einer plattformspezifischen App oder PWA zu verknüpfen, müssen zwei Dinge getan werden:
- Die aufrufende Web-App muss im Mitglied
related_applicationsihrer Manifestdatei angegeben sein. - Die plattformspezifische 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 selbsterklärenden Eintrag in ihrem eigenen
related_applicationsManifestmitglied, der die Eigenschaftenplatformundidspezifiziert, im Fall einer PWA, die im gleichen Umfang überprüft, ob sie auf der zugrunde liegenden Plattform installiert ist. - Eine
assetlinks.jsonDatei in ihrem/.well-known/Verzeichnis, im Fall einer App außerhalb des PWA-Scopes, um zu überprüfen, ob sie auf Android installiert ist.
- Einen selbsterklärenden Eintrag in ihrem eigenen
Weitere Details zur Handhabung dieser Fälle finden Sie unter Ist Ihre App installiert? getInstalledRelatedApps() wird es Ihnen sagen!.
Hinweis:
Die meisten unterstützenden Browser bieten ihre eigene Installationsbenutzeroberfläche an, wenn eine installierbare PWA erkannt wird, die nicht angezeigt wird, wenn sie bereits installiert ist — siehe PWAs installierbar machen > Installation aus dem Web. Dies kann mit dem beforeinstallprompt Ereignis unterdrückt werden, das auch mit getInstalledRelatedApps() kombiniert werden könnte, um es zu unterdrücken, basierend darauf, dass eine plattformspezifische App verfügbar ist. Weitere nützliche Informationen finden Sie unter Installation von Ihrer PWA auslösen.
Syntax
getInstalledRelatedApps()
Parameter
Keine.
Rückgabewert
Ein Promise, das mit einem Array von Objekten aufgelöst wird, die jede installierte verwandte App darstellen. Jedes Objekt kann die folgenden Eigenschaften enthalten:
idOptional-
Ein String, der die ID darstellt, die zur Repräsentation der Anwendung auf der angegebenen Plattform verwendet wird. Die genaue Form des String 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.
urlOptional-
Ein String, der die URL repräsentiert, die mit der App verknüpft ist. Dies ist in der Regel der Ort, an dem Sie Informationen darüber lesen und sie installieren können.
versionOptional-
Ein String, der die Version der verwandten App repräsentiert.
Die Informationen zur verwandten App müssen zuvor im related_applications Mitglied der Manifest-Datei der aufrufenden Web-App spezifiziert worden sein.
Ausnahmen
InvalidStateErrorDOMException-
Die Methode wurde nicht in einem obersten Browsing-Kontext 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 theoretisch vom Entwickler definierte Funktion; sie wird nicht vom Browser bereitgestellt.
Spezifikationen
| Spezifikation |
|---|
| Get Installed Related Apps API> # dom-navigator-getinstalledrelatedapps> |