Navigator: getInstalledRelatedApps() ã¡ã½ãã
å©ç¨å¯è½æ§ã¯éå®ç
ãã®æ©è½ã¯ãã¼ã¹ã©ã¤ã³ã§ã¯ããã¾ãããæãåºã使ç¨ããã¦ãããã©ã¦ã¶ã¼ã®ä¸é¨ã§åä½ãã¾ããã
Want more browser support for this feature? Tell us why.
Experimental: ããã¯å®é¨çãªæ©è½ã§ãã
æ¬çªã§ä½¿ç¨ããåã«ãã©ã¦ã¶ã¼äºææ§ä¸è¦§è¡¨ããã§ãã¯ãã¦ãã ããã
å®å ¨ãªã³ã³ããã¹ãç¨: ãã®æ©è½ã¯ä¸é¨ã¾ãã¯ãã¹ã¦ã®å¯¾å¿ãã¦ãããã©ã¦ã¶ã¼ã«ããã¦ãå®å ¨ãªã³ã³ããã¹ã (HTTPS) ã§ã®ã¿å©ç¨ã§ãã¾ãã
getInstalledRelatedApps() ã¡ã½ããã¯ãã¦ã¼ã¶ã¼ãã¤ã³ã¹ãã¼ã«ãããã©ãããã©ã¼ã å°ç¨ã®ã¢ããªãããã°ã¬ãã·ãã¦ã§ãã¢ããªã表ããªãã¸ã§ã¯ãã®é
åã§è§£æ±ºãããããã¹ãè¿ãã¾ãããã©ãããã©ã¼ã å°ç¨ã®ã¢ããªã PWA ããã§ã«ã¤ã³ã¹ãã¼ã«ããã¦ããå ´åãã¦ã§ãã¢ããªãããã¢ããªãã¤ã³ã¹ãã¼ã«ãã®ããã¼ãé¤å»ããããªã©ãã³ã³ãã³ãã®å人è¨å®ã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
ã¡ã¢:
ãã®ã¡ã½ããã¯ãæä¸ä½ã®ä¿è·ãããã³ã³ããã¹ãããå¼ã³åºãå¿
è¦ãããã¾ããã¤ã¾ãã<iframe> ã«åãè¾¼ã¾ããã¨ããããã¯å¼ã³åºãã¾ããã
解説
getInstalledRelatedApps() ã使ç¨ããã¨ããã®ã¡ã½ãããå¼ã³åºãã¦ããã¦ã§ãã¢ããªã«é¢é£ããã¦ããã¼ãµã« Windows ãã©ãããã©ã¼ã (UWP) ã¢ããªãAndroid ã¢ããªãPWA ã®ã¤ã³ã¹ãã¼ã«ç¶æ³ã調ã¹ããã¨ãã§ãã¾ãã
å¼ã³åºãã¦ããã¦ã§ãã¢ããªããã©ãããã©ã¼ã å°ç¨ã®ã¢ããªã¾ã㯠PWA ã¨é¢é£ä»ããã«ã¯ã次㮠2 ã¤ã®ãã¨ãè¡ãå¿ è¦ãããã¾ãã
- å¼ã³åºãã¦ã§ãã¢ããªã¯ããããã§ã¹ããã¡ã¤ã« ã®
related_applicationsã¡ã³ãã¼ã§æå®ããå¿ è¦ãããã¾ãã - ãã©ãããã©ã¼ã å°ç¨ã®ã¢ããªã¾ã㯠PWA ã¯ãå¼ã³åºãå ã®ã¢ããªã¨ã®é¢ä¿ãå®ç¾©ããå¿ è¦ãããã¾ãã
é¢ä¿ãå®ç¾©ããæ¹æ³ã¯ãã¢ããªã®æ©ç¨®ã«ãã£ã¦ç°ãªãã¾ãã
- Android ã¢ããªã¯ããã¸ã¿ã«è³ç£ãªã³ã¯ã·ã¹ãã ãä»ãã¦è¡ãã¾ãã
- Windows UWP ã¢ããªã¯ãURI ãã³ãã©ã¼ãä»ãã¦è¡ãã¾ãã
- PWA ã¯ã次ã®ãããªæ¹æ³ã§è¡ãã¾ãã
- PWA ã®å ´åã
related_applicationsãããã§ã¹ãã¡ã³ãã¼å ã«èªåèªèº«ã§å®ç¾©ããé ç®ã§ãåºç¤ã¨ãªããã©ãããã©ã¼ã ã«ã¤ã³ã¹ãã¼ã«ããã¦ãããã©ããã調ã¹ã¾ãã - PWA 以å¤ã®ã¢ããªã®å ´åã
/.well-known/ãã£ã¬ã¯ããªã¼ã«ããassetlinks.jsonãã¡ã¤ã«ã«ãã¤ã³ã¹ãã¼ã«ããã¦ãããã©ããã調ã¹ãã³ã¼ããè¨è¿°ãã¾ãã
- PWA ã®å ´åã
ãããã®ã±ã¼ã¹ã®ãããããå¦çããæ¹æ³ã®è©³ç´°ã«ã¤ãã¦ã¯ãIs your app installed? getInstalledRelatedApps() will tell you! ãåç §ãã¦ãã ããã
ã¡ã¢:
ã»ã¨ãã©ã®å¯¾å¿ãã©ã¦ã¶ã¼ã§ã¯ãã¤ã³ã¹ãã¼ã«å¯è½ãª PWA ãæ¤åºãããå ´åãç¬èªã®ã¤ã³ã¹ãã¼ã« UI ãæå®ãã¦ãã¾ããããã¯ããã§ã«ã¤ã³ã¹ãã¼ã«ããã¦ããå ´åã¯è¡¨ç¤ºããã¾ããã詳ããã¯ãPWA ãã¤ã³ã¹ãã¼ã«å¯è½ã«ãã > ã¦ã§ãããã®ã¤ã³ã¹ãã¼ã«ãåç
§ãã¦ãã ããããã®è¡¨ç¤ºã¯ãbeforeinstallprompt ã¤ãã³ãã使ç¨ãã¦æå¶ãããã¨ãã§ãã¾ããã¾ããgetInstalledRelatedApps() ã¨çµã¿åããã¦ããã©ãããã©ã¼ã å°ç¨ã®ã¢ããªãå©ç¨ã§ãããã©ããã«ãã£ã¦è¡¨ç¤ºãæå¶ãããã¨ãã§ãã¾ãã詳ããã¯ãTrigger installation from your PWAãåç
§ãã¦ãã ããã
æ§æ
getInstalledRelatedApps()
弿°
ãªãã
è¿å¤
Promise ã§ãã¤ã³ã¹ãã¼ã«ãããç¸å¯¾ã¢ããªã表ããªãã¸ã§ã¯ãã®é
åã§å±¥è¡ããã¾ããåãªãã¸ã§ã¯ãã¯ã以ä¸ã®ããããã£ãå«ããã¨ãã§ãã¾ãã
idçç¥å¯-
æå®ããããã©ãããã©ã¼ã ä¸ã§ã¢ããªã±ã¼ã·ã§ã³ã表ãããã«ä½¿ç¨ãã ID ã表ãæååãæååã®æ£ç¢ºãªæ¸å¼ã¯ãã©ãããã©ã¼ã ã«ãã£ã¦ç°ãªãã¾ãã
platform-
é¢é£ããã¢ããªãé¢é£ä»ãããã¦ãããã©ãããã©ã¼ã ï¼ã¨ã³ã·ã¹ãã ã¾ãã¯ãªãã¬ã¼ãã£ã³ã°ã·ã¹ãã ï¼ã表ãæååã§ãã 以ä¸ã®ããããã«ãªãã¾ãã
"chrome_web_store": Google Chrome Web Store ã¢ããªã"play": Google Play ã¹ãã¢ã¢ããªã"chromeos_play": ChromeOS Play ã¢ããªã"webapp": ããã°ã¬ãã·ãã¦ã§ãã¢ããªã"windows": Windows ã¹ãã¢ã¢ããªã"f-droid": F-Droid ã¢ããªã"amazon": Amazon ã¢ããªã¹ãã¢ã¢ããª
urlçç¥å¯-
ã¢ããªã«é¢é£ä»ãããã URL ã表ãæååã§ããé常ããã®å ´æã§ã¢ããªã«é¢ããæ å ±ãèªã¿ãã¤ã³ã¹ãã¼ã«ãããã¨ãã§ãã¾ãã
versionçç¥å¯-
é¢é£ããã¢ããªã®ãã¼ã¸ã§ã³ã表ãæååã§ãã
é¢é£ããã¢ããªã®æ
å ±ã¯ãååå¼ã³åºããã¦ã§ãã¢ããªã® ãããã§ã¹ããã¡ã¤ã« ã®ã¡ã³ãã¼ã§ãã related_applications ã«æå®ãããæ
å ±ã§ããå¿
è¦ãããã¾ãã
ä¾å¤
InvalidStateErrorDOMException-
ãã®ã¡ã½ããããæä¸ä½ã®é²è¦§ã³ã³ããã¹ãã§å¼ã³åºããã¾ããã§ããã
ä¾
const relatedApps = await navigator.getInstalledRelatedApps();
// é¢é£ã®ã¢ããªããã¹ã¦ã³ã³ã½ã¼ã«å
ã®è¡¨ã«æ¸ãåºã
console.table(relatedApps);
// ãã©ãããã©ã¼ã å°ç¨ã®ç¹å®ã®ã¢ããªãæ¤ç´¢
const psApp = relatedApps.find((app) => app.id === "com.example.myapp");
if (psApp && doesVersionSendPushMessages(psApp.version)) {
// ããã·ã¥éç¥ã®éä¿¡ãå¦çãããã©ãããã©ã¼ã å°ç¨ã®ã¢ããªãã¤ã³ã¹ãã¼ã«ããã¦ãã
// ã¦ã§ãã¢ããªã§å¦çããå¿
è¦ã¯ãªã
return;
}
ã¡ã¢:
ãã®ä¾ã§ã¯ãdoesVersionSendPushMessages() ã¯çè«ä¸ã®éçºè
å®ç¾©é¢æ°ã§ããããã©ã¦ã¶ã¼ã«ãã£ã¦æä¾ããã¦ããããã§ã¯ããã¾ããã
仿§æ¸
| 仿§æ¸ |
|---|
| Get Installed Related Apps API > # dom-navigator-getinstalledrelatedapps > |