今天就跟大家聊聊有關(guān)H5頁面打開app的分析是什么樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的西平網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
前段時間開發(fā)項目,遇到了一個需求,簡單來說,就是我們 H5 的頁面有一個“在App
中打開”的按鈕,用戶點擊后,如果用戶已經(jīng)安裝app
,則直接打開app
,如果用戶沒有安裝app
,那就跳轉(zhuǎn)到下載app
的頁面
首先,在我的認(rèn)知中,H5 應(yīng)該是沒有能力檢測到某一款 app 是否有安裝的
之后的步驟以安卓手機為例子介紹,目前ios9
版本之后的系統(tǒng)不需要我們H5
做這些判斷app
是否安裝的流程(ios9 之后
可以通過提供一個通用鏈接(Universal link)
,做到?jīng)]有安裝 app 提示打開蘋果應(yīng)用商城,安裝了 app 則直接跳轉(zhuǎn)打開)
scheme 協(xié)議是一種頁面內(nèi)跳轉(zhuǎn)協(xié)議,我們可以通過定制 scheme 協(xié)議,跳轉(zhuǎn)到 app 中的想要跳轉(zhuǎn)的各個頁面。scheme
協(xié)議是通過url
的形式進(jìn)行跳轉(zhuǎn)的,所以我們H5
也可以通過這個url
去跳轉(zhuǎn)到app
內(nèi)指定頁面,這就是 H5 打開app
的原理。
scheme 的 url 格式類似:[scheme]://[host]/[path]?[query]
這種的方法的思路是,首先把我們要跳轉(zhuǎn)的地址設(shè)置為與原生App
同學(xué)一起定義好的scheme
的url
,之后,設(shè)置一個定時器,定時器里執(zhí)行的邏輯是跳轉(zhuǎn)到下載app
頁面,這樣,如果用戶手機沒有安裝app
,就會在一段時間后跳轉(zhuǎn)到下載頁面。
核心代碼如下:(可以使用iframe
完成跳轉(zhuǎn),但需要考慮iframe
是否在ios
等設(shè)備中被允許)
const schemeUrl = 'xxx'
const downloadUrl = 'XXX'
const wait = 500
try {
location = schemeUrl
setTimeout(() => {
location = downloadUrl
}, wait)
} catch (e) {
console.error(e)
}
上述實現(xiàn)方案的問題是,即使成功跳轉(zhuǎn)到App
,原先的H5
頁面也會在定時時間后,跳轉(zhuǎn)到下載頁面,這樣體驗很不好
這個方法的思路是,如果成功喚起了app
,我們的 H5 頁面被置于后臺,window.hidden
屬性會變?yōu)?code>true,可以通過這個屬性變化來判斷app
有沒有打開,沒打開就跳轉(zhuǎn)到下載頁面,當(dāng)然這里也用到定時器
核心代碼如下:
function checkOutApp() {
const schemeUrl = 'xxx'
const downloadUrl = 'XXX'
const wait = 1000
// 是否進(jìn)入后臺
const hidden = false
location = schemeUrl
// 如果一定時間內(nèi),頁面沒有隱藏,則跳轉(zhuǎn)到下載頁
setTimeout(() => {
if (!hidden) {
location = downloadUrl
}
}, wait)
// 頁面可見性變化事件
document.addEventListener("visibilitychange", function(){
if (document.hidden) {
hidden = true
}
});
}
存在的問題目前一些安卓瀏覽器,在 app 存在時,會首先跳出一個確認(rèn)框,詢問用戶是否打開 app,只有用戶同意時,才會跳轉(zhuǎn) app,如果用戶始終沒有點擊確認(rèn),最后還是會跳到下載頁面,體驗不好。
看完上述內(nèi)容,你們對H5頁面打開app的分析是什么樣的有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
新聞名稱:H5頁面打開app的分析是什么樣的
網(wǎng)址分享:http://aaarwkj.com/article14/gpipde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站制作、定制網(wǎng)站、手機網(wǎng)站建設(shè)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)