Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 plattformspezifischen verwandten Apps oder Progressive Web Apps darstellen, die der Benutzer installiert hat. Dies könnte für die Personalisierung von Inhalten genutzt werden, wie zum Beispiel das Entfernen von "Installieren Sie unsere App"-Bannern aus der Web-App, wenn die plattformspezifische App und/oder PWA bereits installiert ist.

Hinweis: Diese Methode muss in einem Top-Level sicheren Kontext aufgerufen werden, das heißt, 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 Web-App verwandt sind, die diese Methode aufruft.

Um die aufrufende Web-App mit einer plattformspezifischen App oder PWA zu verknüpfen, müssen zwei Dinge getan werden:

  1. Die aufrufende Web-App muss im related_applications Mitglied ihrer Manifest-Datei angegeben werden.
  2. Die plattformspezifische App oder PWA muss ihre Beziehung zur aufrufenden App definiert haben.

Die Definition der Beziehung erfolgt unterschiedlich, je nach Art der App:

  • Eine Android-App macht dies über das Digital Asset Links System.
  • Eine Windows UWP App macht dies über URI-Handler.
  • Eine PWA macht dies über:
    • Einen selbsterklärenden Eintrag innerhalb ihres eigenen related_applications-Manifest-Mitglieds, wobei die Eigenschaften platform und id spezifiziert werden, im Fall einer PWA, die im gleichen Bereich prüft, ob sie auf der zugrunde liegenden Plattform installiert ist.
    • Eine assetlinks.json-Datei in ihrem /.well-known/ Verzeichnis im Fall einer App außerhalb des Bereichs der PWA, die prüft, ob sie auf Android installiert ist.

Siehe Ist Ihre App installiert? getInstalledRelatedApps() sagt es Ihnen! für weitere Details, wie man jeden dieser Fälle handhaben kann.

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 PWAs installierbar machen > Installation aus dem Web. Dies kann unterdrückt werden, indem das beforeinstallprompt Ereignis verwendet wird, das auch mit getInstalledRelatedApps() kombiniert werden könnte, um es basierend auf der Verfügbarkeit einer plattformspezifischen App zu unterdrücken. Siehe Installation von Ihrer PWA auslösen für weitere nützliche Informationen.

Syntax

js
getInstalledRelatedApps()

Parameter

Keine.

Rückgabewert

Ein Promise, das mit einem Array von Objekten aufgelöst wird, die alle installierten verwandten Apps darstellen. Jedes Objekt kann die folgenden Eigenschaften enthalten:

id Optional

Ein String, der die ID darstellt, die verwendet wird, um die Anwendung auf der angegebenen Plattform darzustellen. 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:

url Optional

Ein String, der die URL darstellt, die mit der App verbunden ist. Dies ist in der Regel der Ort, an dem Sie Informationen darüber 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 Mitglied der aufrufenden Web-App Manifest-Datei angegeben worden sein.

Ausnahmen

InvalidStateError DOMException

Die Methode wurde nicht in einem Top-Level-Browsing-Kontext aufgerufen.

Beispiele

js
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

Siehe auch