From ae86c940e618abae10d923f78953ccac1cec1fd0 Mon Sep 17 00:00:00 2001 From: Diego Gonzalez <73939538+diekus@users.noreply.github.com> Date: Thu, 2 May 2024 19:06:38 +0100 Subject: [PATCH] Adds explanation about gIRA and gIA (#806) --- WebInstall/explainer_cross_domain.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/WebInstall/explainer_cross_domain.md b/WebInstall/explainer_cross_domain.md index c8ec6749..8c228395 100644 --- a/WebInstall/explainer_cross_domain.md +++ b/WebInstall/explainer_cross_domain.md @@ -122,6 +122,10 @@ Additionally, if the browser has an active 'Do Not Track (DNT)', equivalent 'Glo * **`navigator.install` and manifest file's `prefer_related_applications`:** When the `related_applications` and `prefer_related_applications` key/values are present in the manifest, the UA should try to handoff the install to the prefered catalog. If this is not possible then it fallback to a default UA install. +* **`navigator.getInstalledApps` and `getInstalledRelatedApps`:** `getInstalledApps` is called from an origin and can list applications that are installed on the device originating from the current site. `getInstalledRelatedApps` on the other hand is called from a web app and returns which alternate versions of an app (platform specific versions for example) are already installed on the device. + * `getInstalledApps` can be used to change install UX in online stores if an app is already installed (changing the text on a button from "Install" to "Open" for example). + * `getInstalledRelatedApps` can be used to "mute" notifications or hide install UI for a web application if an alternate version of the app is already installed (avoid duplicate notifications if a user has a web version and a platform-specific version of the same app for exmaple). + * **`navigator.install` and `side-panel` display-mode:** Due to the evolving nature of web apps, there are different surfaces where these can be installed. If the target of `navigator.install` call has a manifest file with a `display_override` member that includes a [`side-panel` value](https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/SidePanel/explainer.md), this can hint to the UA that the app can be installed as a sidebar app if supported. ## Installability criteria @@ -234,6 +238,9 @@ A UA may choose to gate the `navigator.install` capability behind a requirement * Can we remove power from the developer to query if the app is installed by offloading to the UA the knowledge of which apps are installed? * Is there any form of attribute that can be added to a DOM element to signal this distinction/difference? +* Should `getInstalledApps` and `getInstalledRelatedApps` be merged together? + See [this issue](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/804). + ## Glossary * **installation origin**: the origin that initiates the call to the `install` method. * **UA**: user agent.