移動端H5喚起APP的寫法實例(IOS、android)
IOS
1.url scheme
這個方案基本上就是針對微信、qq內置瀏覽器,qq瀏覽器等之外的其余瀏覽器,從native那邊要一個scheme ,然后放在a標簽里或者location.href跳一下就行了
用一個iframe去做的一個跳頁,有的話喚起scheme沒有的話,會觸發(fā)定時器跳到下載地址。但是這個方式在ios里面,在沒有app的時候會遇到兩次提示,
var openApp = function (src) { // 通過iframe的方式試圖打開APP,如果能正常打開,會直接切換到APP,并自動阻止a標簽的默認行為 // 否則打開a標簽的href鏈接 const ifr = document.createElement('iframe'); ifr.src = src; ifr.style.display = 'none'; document.body.appendChild(ifr); var poenTime = +new Date() window.setTimeout(() => { document.body.removeChild(ifr); if ((+new Date()-openTime>2500)){ window.location = 'APP Store下載的地址 ' } }, 600); };
2.Universal Link(ios)
這是iOS9推出的一項功能,如果你的應用支持Universal Links(通用鏈接),那么就能夠方便的通過傳統(tǒng)的HTTP鏈接來啟動APP(如果iOS設備上已經安裝了你的app,不需要額外做任何判斷等),或者打開網頁(iOS設備上沒有安裝你的app)?;蛟S可以更簡單點來說明,在iOS9之前,對于從各種從瀏覽器,Safari、UIWebView或者 WKWebView中喚醒APP的需求,我們通常只能使用scheme。
window.location.href ="APP給的Universal Link"
總結
兼容寫法
if (isGreaterThan9){ window.location.href ="APP給的Universal Link" ; return; } openApp(src)
android
方法類似
if (openApp('url scheme url')) { openApp('url scheme url'); } else { setTimeout(() => { window.location.href = 'APP 市場下載地址';// 一般是google, 各個應用商店不一樣 }, 600); } }
總結
到此這篇關于移動端H5喚起APP的文章就介紹到這了,更多相關移動端H5喚起APP內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript判斷數據類型有幾種方法及區(qū)別介紹
這篇文章主要介紹了JavaScript判斷數據類型有幾種方法及區(qū)別介紹,本文給大家分享多種方法通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09淺談通過JS攔截 pushState和replaceState事件
下面小編就為大家?guī)硪黄獪\談通過JS攔截 pushState和replaceState事件。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07iframe的onload在Chrome/Opera中執(zhí)行兩次Bug的解決方法
創(chuàng)建iframe對象,添加load事件, 再將iframe添加到body中。Chrome/Opera中會造成load事件的handler執(zhí)行兩次。2011-03-03