html與app互動
阿新 • • 發佈:2020-09-16
1,h5喚醒app方式
參考:https://zhuanlan.zhihu.com/p/71682493
喚醒方式列表
- URL Schemes
- chrome intent
- ios UniversalLink / android appLink
常見喚醒媒介
- iframe
- a 標籤
- window.location
URL Scheme
組成
[scheme:][//authority][path][?query]
比如:tuyasmart://home?test=1
是什麼
URL Schemes
可以理解為一種特殊的URL用來定位一個應用以及應用內的某個功能,類比網頁連結便很容易理解
Schemes
表示的是URL中的一個位置 -最初始的位置://
之前的字元,比如https://www.apple.com
的Schemes
就是https
通過URL Schemes
, 我們就可以像定位一個網頁一樣,定位一個應用甚至應用內的某個具體的功能。而定位是哪個應用的,就是Schemes
部分。比如簡訊應用的Schemes
就是:sms
我們完全可以按照理解一個網頁的URL來理解一個應用的URL
| | 網頁(蘋果)| 應用(微信)| | 網站首頁/開啟應用 |https://www.apple.com| weixin:// | | 子頁面/具體功能 |https://www.apple.com/mac(Mac應用頁) | weixin://dl/moments(朋友圈)|
注意點
URL Schemes
要看App開發者有沒有寫那部分的程式碼了 -URL Schemes
不唯一
使用
使用方式十分簡單,就像我們開啟一個連結一樣,常見的有
- location.href
- iframe
- a標籤
使用中常見問題及解決方案
- 可能會被app禁掉,比如微信,qq等
- ios9+ 禁止掉了iframe方式。
- ios及部分安卓瀏覽器會提示使用者是否開啟App,並且ios在未安裝對應App的時候,會提示“打不開網頁,因為該網址無效”
- h5無法感知是否喚醒成功
- 大部分瀏覽器需要使用者手動觸發連結,js自動觸發無效
針對被app禁止掉的情況,通常會判斷是否微信等app環境,然後提示使用者瀏覽器內開啟 針對ios9+iframe
2,html和app互動的jssdk的原始碼
在app中開啟的頁面是可以使用 url scheme跳轉或者請求app的